void OnMouseDown() { if (!base.CanGoPlayerSlot()) { return; } if (AddToPlateBeforeServed) { var plate = GameObject.Instantiate(platePrefab, transform.position, Quaternion.identity); plate.transform.SetParent(transform); if (plateOffset.magnitude > 0) { plate.transform.localPosition = plateOffset; } plate.transform.SetAsFirstSibling();//so we know what to delete later } if (RegenerateProduct) { //Remove the plate first if (AddToPlateBeforeServed) { Destroy(transform.GetChild(0).gameObject); } BasicGameEvents.RaiseInstantiatePlaceHolder(transform.parent, transform.position, gameObject); } StartCoroutine(AnimateGoingToSlot()); }
public override IEnumerator AnimateGoingToSlot() { if (RegenerateProduct) { BasicGameEvents.RaiseInstantiatePlaceHolder(transform.parent, initialPosition, gameObject); } yield return(new WaitForSeconds(cookingObject.doorAnimTime)); yield return(base.AnimateGoingToSlot()); gameObject.SetActive(false); }
public override IEnumerator AnimateGoingToSlot() { if (RegenerateProduct) { //Remove the plate first if (AddToPlateBeforeServed) { Destroy(transform.GetChild(0).gameObject); } else if (serveAsDifferentGameObject != null) { //Remove the served as Different gameobject first Destroy(transform.GetChild(0).gameObject); } BasicGameEvents.RaiseInstantiatePlaceHolder(transform.parent, initialPosition, gameObject); } yield return(base.AnimateGoingToSlot()); gameObject.SetActive(false); }