public void Clicked() { ushort event_num = (ushort)Mathf.Floor((Input.mousePosition.y - content.position.y - content.rect.height) / -50); current = events [event_num]; CampagneManager.active.Engage(current); }
private new void Update() { IChapterEvent[] new_events = new IChapterEvent[CampagneManager.planet_view.battles.Length + CampagneManager.constant_events.Count]; CampagneManager.planet_view.battles.CopyTo(new_events, 0); CampagneManager.constant_events.ToArray().CopyTo(new_events, CampagneManager.planet_view.battles.Length); bool equal = true; if (new_events.Length != events.Length) { equal = false; } else { for (int i = 0; i < events.Length; i++) { if (new_events [i].Name != events [i].Name) { equal = false; } } } if (!equal) { UpdateLabels(new_events); } events = new_events; Shown = events.Length > 0; base.Update(); }
private void UpdateLabels(IChapterEvent[] events) { foreach (Button bt in button_list) { Destroy(bt.gameObject); } button_list.Clear(); for (int i = 0; i < events.Length; i++) { IChapterEvent @event = events [i]; GameObject button_obj = Instantiate(button.gameObject); button_obj.transform.SetParent(content); button_obj.transform.position = content.position + new Vector3(-100, content.rect.height - 50 * i); Button button_inst = Loader.EnsureComponent <Button>(button_obj); button_obj.GetComponentInChildren <Text>().text = @event.Name; button_inst.onClick.AddListener(Clicked); Image button_img = button_inst.image; if (@event is ChapterBattle) { button_img.color = Color.red; } else if (@event is ChapterBattle) { button_img.color = Color.green; } button_list.Add(button_inst); } }
public void Engage(IChapterEvent @event) { if (@event is ChapterBattle) { var b = (ChapterBattle)@event; Globals.progress_if_won = b.progress; Globals.persistend.LoadBattle(b.own_data, DataStructure.GeneralPath + b.path + ".cfgt"); } else if (@event is ChapterConversation) { var c = (ChapterConversation)@event; console.ConsolePos = ConsolePosition.shown; Globals.progress_if_won = c.progress; new Conversation(c.own_data, console) { Running = true }; } else if (@event is ChapterJump) { var j = (ChapterJump)@event; string bef_chapter_name = Globals.current_character.chapter; Globals.current_character.chapter = j.new_chapter; Globals.loaded_chapter = Globals.current_character.LoadedChapter; if (Globals.loaded_chapter == Chapter.Empty) { Globals.current_character.chapter = bef_chapter_name; Globals.loaded_chapter = Globals.current_character.LoadedChapter; } else { Globals.current_character.story_stage = 0; Globals.current_character.Save(); } UpdateChapter(); } }