public IEnumerator HideAfterSeconds(float seconds) { Spawner.StopCoroutine(Spawner.HideAfterSeconds(this.gameObject, 0f)); yield return(new WaitForSeconds(seconds)); //Reset Instruction if in tutorial if (GameManager.Instance.BarterTutorial) { BarterTutorial.Instance.PreviousInstruction(); BarterTutorial.Instance.RemoveShonkyParticles(); GameManager.Instance.BarterNPC = true; GameManager.Instance.OfferNPC = false; EnableWalkParticles(); } Spawner.isInteracting = false; Vector3 backPos = endPosition; NPC.ShowSide(); gameObject.transform.DOMove(backPos, 2f, false); gameObject.transform.DOScale(preShopScale, 2f); yield return(new WaitForSeconds(3.0f)); walkNormal = true; Spawner.StartCoroutine(Spawner.HideAfterSeconds(this.gameObject, 1.0f)); }