Ejemplo n.º 1
0
    internal void Open(List <Situation> situations, int hour, GameObject panelWindow, Situation actualSituation)
    {
        SituationPrefab.SetActive(false);

        Situation.Type sNow = Game.Me.GameState.Schedule.GetActualDayNightType(hour);
        gameObject.FindByName <Text>("Title").text = "Wybierz sytuację na godzinę: " + hour + " (w " + (sNow == Situation.Type.Day?"dzień":"nocy") + ")";

        Transform scroll = gameObject.FindByName <Transform>("ScrollSituations");

        foreach (Transform child in scroll)
        {
            if (child.gameObject != SituationPrefab)
            {
                Destroy(child.gameObject);
            }
        }

        foreach (Situation s in situations)
        {
            if (s.Selectable)
            {
                AddButton(s, actualSituation, panelWindow, hour);
            }
        }

        //add empty situation
        AddButton(new Situation(null, "", new List <Change>(), true, new List <LOL.Button>(), sNow), actualSituation, panelWindow, hour);
    }
Ejemplo n.º 2
0
    internal static List <Situation> LoadSituations(XmlDocument model, List <Parameter> parameters)
    {
        List <Situation> situations = new List <Situation>();

        foreach (XmlNode situationXml in model.GetElementsByTagName("situations")[0].ChildNodes)
        {
            string id = situationXml.Attributes["id"].Value;
            try {
                if (!situationXml.Check("text"))
                {
                    throw new LoaderException("There is no text attribute.");
                }
                if (!situationXml.Check("type"))
                {
                    throw new LoaderException("All situations must define their type: either day or night.");
                }
                Situation.Type type = Situation.Type.FromString(situationXml.Attributes["type"].Value);

                string        text       = situationXml.Attributes["text"].Value;
                bool          selectable = situationXml.Check("selectable") ? (situationXml.Attributes["selectable"].Value == "false" ? false : true) : true;
                List <Change> changes    = LoadChanges(situationXml, parameters);
                List <Button> buttons    = LoadButtons(situationXml, parameters);
                situations.Add(new Situation(id, text, changes, selectable, buttons, type));
            } catch (LoaderException e) {
                throw new LoaderException("Exception in situation " + id + ", " + e.Message);
            }
        }
        return(situations);
    }
Ejemplo n.º 3
0
 public Situation(string id, string text, List <Change> changes, bool selectable, List <LOL.Button> buttons, Situation.Type type)
 {
     Id           = id;
     Changes      = changes;
     Selectable   = selectable;
     Text         = text;
     Buttons      = buttons;
     DayNightType = type;
 }