} //Stock of product //Handle objects interactions w/ Workshop //Return wether the object is taken from tavernkeeper public override bool use(GameObject userObject) { if (userObject != null) { // Debug.Log(userObject.tag); //TODO : Gérer Grabable qui ne sont pas des mugs ? if (userObject.tag == "Grabable" && currentMug is null) //Try to stock Mug into workshop { Mug mug = userObject.GetComponent <Mug>(); if (mug != null && mug.content is null && !mug.dirty && Stock > 0) //Mug clean & empty + remaining stock in workshop { Debug.Log(userObject.name + " stocked in " + gameObject.name); mug.take(); currentMug = userObject; if (UIPrepTimer != null) //Display UI prep timer { prepTimer = 0.0f; UIPrepTimer.SetValue(prepTimer / prepTime); UIPrepTimer.DisplayIcon(product_sprite); UIPrepTimer.gameObject.SetActive(true); } return(true); //Object taken } else { Debug.Log(userObject.name + " cannot be filled with " + product_name + " -stock:" + Stock); } } else if (userObject.tag == "Player" && prepTimer < prepTime && currentMug != null) //Prepare currentMug { continueUse(userObject); } else if (userObject.tag == "Player" && prepTimer >= prepTime) //Give tavernkeeper currentMug if finished preparation { Tavernkeeper_controller player = userObject.GetComponent <Tavernkeeper_controller>(); Mug mug = currentMug.GetComponent <Mug>(); if (player != null && mug != null) { Debug.Log(gameObject.name + " give " + currentMug.name + " filled with " + product_name + " to " + userObject.name); //Fill mug mug.fill(new Consumable(product_name, product_value, product_sprite)); Stock--; UIPrepTimer.gameObject.SetActive(false); //Turn off UI prep timer //Give mug player.grab(currentMug); currentMug = null; } } }
List <GameObject> stock = new List <GameObject>(); //List of mug in workshop //Handle objects interactions w/ Workshop //Return wether the object is taken from tavernkeeper public override bool use(GameObject userObject) { if (userObject != null) { //TODO : Gérer grabable autre que Mug if (userObject.tag == "Grabable") { //Stock mug Mug mug = userObject.GetComponent <Mug>(); if (mug != null) { Debug.Log(userObject.name + " stocked in " + gameObject.name); mug.take(); stock.Add(userObject); return(true); //Object taken } } else if (userObject.tag == "Player" && prepTimer < prepTime && currentMug != null) //Prepare currentMug { continueUse(userObject); } else if (userObject.tag == "Player" && prepTimer >= prepTime && currentMug != null) //Give tavernkeeper currentMug if cleaned { Tavernkeeper_controller player = userObject.GetComponent <Tavernkeeper_controller>(); Mug mug = currentMug.GetComponent <Mug>(); if (player != null && mug != null) { // Debug.Log(gameObject.name+" give "+currentMug.name+" to "+userObject.name); //Clean mug mug.dirty = false; //Give mug player.grab(currentMug); currentMug = null; UIPrepTimer.gameObject.SetActive(false); //Turn off UI prep timer } } } return(false); }