public override void Live() { if (Satiety <= 0 || Dead) { Dead = true; } else if (GlobalMap.CheckTime()) { CurrentBirthCooldown--; Sleep(); } else if (Satiety <= SatTreshold) { CurrentBirthCooldown--; FindFood(); Eat(); } else if (FoundPartner == null) { RandomMove(); CurrentBirthCooldown--; if (CurrentBirthCooldown < BirthCooldown) { FindPartner(); } } else if (FoundPartner != null) { MoveTo(DateX, DateY); ProduceNewUnit(); } }
public override void Live() { if (Satiety <= 0 || Dead) { Dead = true; } else if (GlobalMap.CheckTime()) { CurrentBirthCooldown--; Sleep(); } else if (Satiety <= SatTreshold) { CurrentBirthCooldown--; if (MyHouse != null) { if (MyHouse.CheckStorage()) { EatFromStorage(); } else { FindFood(); Eat(); } } } else if (Gender == GameObjectType.Female && MyHouse != null) { if (!MyHouse.CheckStorage()) { Gathering(); } } else if (FoundPartner == null) { RandomMove(); CurrentBirthCooldown--; if (CurrentBirthCooldown < BirthCooldown) { FindPartner(); } } else if (FoundPartner != null && CurrentBirthCooldown < BirthCooldown) { if (MyHouse == null) { if (Gender == GameObjectType.Male) { LocateBuilding(); } MoveTo(DateX, DateY); } else { MoveTo(MyHouse.X, MyHouse.Y); } CreateFamily(); } else { StayHome(); } }