//public static void ApplyAllEvent(Event e, List<pirate> pirates) //{ // foreach (pirate p in pirates) // { // foreach (Effect effect in e.effects) // { // if (effect.effectType == Stat.Food) // { // p.hunger += effect.effect; // } // else if (effect.effectType == Stat.Water) // { // p.thirst += effect.effect; // } // } // } //} public static void ApplyEvent(EventToPirateList eventAndPirates) { foreach (pirate p in eventAndPirates.pirates) { foreach (Effect effect in eventAndPirates.choosenEvent.effects) { if (effect.effectType == Stat.Food) { p.hunger += effect.effect; } else if (effect.effectType == Stat.Water) { p.thirst += effect.effect; } else if (effect.effectType == Stat.MH) { p.mhp += effect.effect; } else if (effect.effectType == Stat.PH) { p.php += effect.effect; } } } }
public static List <EventToPirateList> AvailableEvents(List <pirate> pirates) { List <EventToPirateList> tempevent = new List <EventToPirateList>(); foreach (Event e in events) { EventToPirateList etp = new EventToPirateList(); etp.choosenEvent = e; etp.pirates = new List <pirate>(); foreach (pirate p in pirates) { bool add = true; foreach (Requirement r in e.requirements) { if (!CheckHunger(r.requirementType, r.bigger, p.hunger, r.requirement)) { add = false; break; } if (!CheckThirst(r.requirementType, r.bigger, p.thirst, r.requirement)) { add = false; break; } if (!CheckPH(r.requirementType, r.bigger, p.php, r.requirement)) { add = false; break; } if (!CheckMH(r.requirementType, r.bigger, p.mhp, r.requirement)) { add = false; break; } } if (add) { etp.pirates.Add(p); } } if (etp.pirates.Count > 0) { tempevent.Add(etp); } } return(tempevent); }