- Home /
Creating a Loadout
I am trying to make a "select a class" system like in Chivalry or Call of Duty. For some reason the first instantiate line will work and he rest won't. The one that says, "var LongswordShortsword" is the part that works well. I have other variables and lines of code that I'm not showing here. All of the GUI and buttons work fine though. Also, I know my naming system for variables is terrible.
var knightLongswordShortsword : GameObject;
var knightGreatswordShortsword : GameObject;
var knightMorningstarShortsword : GameObject;
var knightBattleAxeShortsword : GameObject;
var knightWarhammerShortsword : GameObject;
else if (GUISecondaryKnight)
{
if(GUI.Button(Rect(Screen.width * (1f/6.55f),Screen.height * (0.1f/6.3f),Screen.width * (4.8f/6.55f), Screen.height * (0.85f/6.3f)),"Shortsword")){
GUISecondaryKnight = false;
if (ChooseLongsword)
{
var LongswordShortsword : GameObject;
LongswordShortsword = Instantiate(knightLongswordShortsword, transform.position, transform.rotation);
}
else if (ChooseGreatsword)
{
var GreatswordShortsword : GameObject;
GreatswordShortsword = Instantiate(knightGreatswordShortsword, transform.position, transform.rotation);
}
else if (ChooseMorningstar)
{
var GreatswordMorningstar : GameObject;
GreatswordMorningstar = Instantiate(knightMorningstarShortsword, transform.position, transform.rotation);
}
else if (ChooseBattleAxe)
{
var BattleAxeShortsword : GameObject;
BattleAxeShortsword = Instantiate(knightBattleAxeShortsword, transform.position, transform.rotation);
}
else if (ChooseWarhammer)
{
var WarhammerShortsword : GameObject;
WarhammerShortsword = Instantiate(knightWarhammerShortsword, transform.position, transform.rotation);
}
}
Answer by Krey · Oct 25, 2013 at 12:48 AM
All of the code you've pasted seems relatively straightforward. This leads me to believe that you're not passing in the variable to the nested if statements correctly.
Have you tried logging to make sure that the message getting sent is what you expect? I'd try something like this and see what gets printed out:
else if (GUISecondaryKnight)
{
if(GUI.Button(Rect(Screen.width * (1f/6.55f),Screen.height * (0.1f/6.3f),Screen.width * (4.8f/6.55f), Screen.height * (0.85f/6.3f)),"Shortsword")){
GUISecondaryKnight = false;
//HERE IS THE NEW PART
Debug.Log("Here's the chosen weapon: " + <Whatever Your Variable Name is>);
//NEW PART ENDS HERE
if (ChooseLongsword)
{
var LongswordShortsword : GameObject;
LongswordShortsword = Instantiate(knightLongswordShortsword, transform.position, transform.rotation);
}
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Object will not instantiate 1 Answer
Difficulty instantiating to a custom class 2 Answers
How can i make an automatic world generator? 1 Answer
Inventory Help. 2 Answers