override public void Execute(Alchemist alchemist) { Console.Write("Execute: "); if (alchemist.EnoughIngredient()) { alchemist.Synthesis(); alchemist.IncreaseFatigue(); Console.WriteLine("良いものができた! item: " + alchemist.m_itemCount + " m_iFatigue: " + alchemist.m_iFatigue); if (alchemist.Fatigued()) { Console.WriteLine("ふぅ、疲れたから家に帰ろう"); alchemist.ChangeState(new ReturnToHomeAndRest()); } } else { Console.WriteLine("素材が足りなくなっちゃった"); alchemist.ChangeState(new EnterForestAndPickupGredient()); } }
override public void Execute(Alchemist alchemist) { alchemist.PickupIngredient(); Console.Write("Execute: "); Console.Write("素材を見つけた! ingredients: " + alchemist.m_ingredientCount); alchemist.IncreaseFatigue(); Console.WriteLine(" iFatigue: " + alchemist.m_iFatigue); if (alchemist.Fatigued()) { Console.WriteLine("ふぅ、疲れたから家に帰ろう"); alchemist.ChangeState(new ReturnToHomeAndRest()); return; } else if (alchemist.PocketsFull()) { Console.WriteLine("ポケットがいっぱいになっちゃったから帰ろう"); alchemist.ChangeState(new GoAtelierAndSynthesis()); return; } }