Ejemplo n.º 1
0
    //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;
                }
            }
        }
    }
Ejemplo n.º 2
0
    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);
    }