public void Enter(Minion owner) { this.Owner = owner; minionManager = MinionManager.Instance; if (chosenPartner == null) { validPartners = minionManager.FindAvailabePartners(Owner); //There aren't any valid partners add a cooldown to reproduction so we dont stay in an infinite loop to look for partners if (validPartners.Count == 0) { Owner.stats.ReproduceTimer = 2; Owner.CheckForNewJob(); } else { //Pick a partner and force that partner to reproduce chosenPartner = validPartners[Random.Range(0, validPartners.Count)]; chosenPartner.stateMachine.ChangeState(new ReproductionState(Owner)); } } }