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); }
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); }
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; }