Exemple #1
0
    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);
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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();
     }
 }