Problem with Instantiate in my Game.
Hello everybody,
my english is bad but i try it anyway. My problem is that when I buy a character in the shop and go into the game my character is not activated.
In the ShopManager the character is bought the button deactivated and stored in the Inventory script.
Can someone help me please
ShopManager:
public class ShopManager : MonoBehaviour
{
public int Kontostand;
public Text KontostandText;
public Inventory myInventory;
// Start is called before the first frame update
void Start()
{
KontostandAktualisieren();
}
public void buyJoli(int shopPrice)
{
if (Kontostand >= shopPrice)
{
Debug.Log("Character wurde gekauft");
// Dodgie hinzufügen
myInventory.buyNewJoli();
// Kontostand neu berechnen
Kontostand = Kontostand - shopPrice;
Debug.Log("Kontostand:" + Kontostand);
//Kontostand aktualisieren
KontostandAktualisieren();
// Button deaktivieren
GameObject.Find("Joli").GetComponent<Button>().interactable = false;
}
}
public void buyNinn(int shopPrice)
{
if (Kontostand >= shopPrice)
{
Debug.Log("Character wurde gekauft");
// Dodgie hinzufügen
myInventory.buyNewNinn();
// Kontostand neu berechnen
Kontostand = Kontostand - shopPrice;
Debug.Log("Kontostand:" + Kontostand);
//Kontostand aktualisieren
KontostandAktualisieren();
// Button deaktivieren
GameObject.Find("Ninn").GetComponent<Button>().interactable = false;
}
}
public void buySpaci(int shopPrice)
{
if (Kontostand >= shopPrice)
{
Debug.Log("Character wurde gekauft");
// Dodgie hinzufügen
myInventory.buyNewSpaci();
// Kontostand neu berechnen
Kontostand = Kontostand - shopPrice;
Debug.Log("Kontostand:" + Kontostand);
//Kontostand aktualisieren
KontostandAktualisieren();
// Button deaktivieren
GameObject.Find("Spaci").GetComponent<Button>().interactable = false;
}
}
public void KontostandAktualisieren()
{
KontostandText.text = Kontostand.ToString();
}
}
GameManager:
public class GameManager : MonoBehaviour
{
public GameObject Joli;
public GameObject Ninn;
public GameObject Spaci;
public GameObject Woodie;
public GameObject Plumbt;
public Inventory myInventory;
public GameObject canvasObject;
// Start is called before the first frame update
void Start()
{
myInventory = GameObject.FindObjectOfType<Inventory>();
//Character im Inventory aktiv?
if (myInventory.GetNinn() == true )
{
GameObject Ninnnew = Instantiate(Ninn, Ninn.transform.position, Quaternion.identity) as GameObject;
Ninnnew.transform.SetParent(canvasObject.transform, false);
Debug.Log("Aktiv");
}
if (myInventory.GetNinn() == true)
{
GameObject Spacinew = Instantiate(Spaci, Spaci.transform.position, Quaternion.identity) as GameObject;
Spacinew.transform.SetParent(canvasObject.transform, false);
}
}
}
Inventory:
public class Inventory : MonoBehaviour
{
public bool Joli;
public bool Ninn;
public bool Spaci;
public bool Woodie;
public bool Plumb;
// Start is called before the first frame update
void Start()
{
Joli = false;
Ninn = false;
Spaci = false;
Woodie = false;
Plumb = false;
}
public void buyNewJoli()
{
Joli = true;
}
public bool GetJoli()
{
return Joli;
}
public void buyNewNinn()
{
Ninn = true;
}
public bool GetNinn()
{
return Ninn;
}
public void buyNewSpaci()
{
Spaci = true;
}
public bool GetSpaci()
{
return Spaci;
}
public void buyNewWoodie()
{
Woodie = true;
}
public bool GetWoodie()
{
return Woodie;
}
public void buyNewPlumb()
{
Plumb = true;
}
public bool GetPlumb()
{
return Plumb;
}
}
Comment
Your answer
Follow this Question
Related Questions
Error after compiling WebGL 1 Answer
Why can't I export my game to windows? 0 Answers
How to Avoid splitting Normals on Geometry with blendshapes 0 Answers
Unable to list target platforms. Please make sure the android sdk path is correct. 0 Answers
Help! Unity does not include all of my UI elements in the apk file! [SOLVED] 1 Answer