コード例 #1
0
        private void activate_autorun_events()
#endif
        {
            HashSet <int> events_to_start = new HashSet <int>();
            // Get events that match the parameters
            int index = 0;

            while (index < Event_Handler.events.Count)
            {
                int        i          = Event_Handler.events[index];
                Event_Data event_data = map_event_data.Events[i];
                if (event_data.trigger == 0)
                {
                    events_to_start.Add(i);
                }
                if (Event_Handler.events.Contains(i))
                {
                    index++;
                }
            }
            // Run those events
            start_new_events(events_to_start, true);

#if DEBUG
            // Run debug event if playtesting from editor
            if (Global.UnitEditorActive)
            {
                activate_event_by_name("Debug Playtest", true);
            }
#endif
        }
コード例 #2
0
        internal bool activate_event_by_name(string name, bool insert)
        {
            //foreach (int i in Event_Handler.events) //Debug
            if (Event_Handler.events.Any(x => map_event_data.Events[x].name == name))
            {
                int        i          = Event_Handler.events.First(x => map_event_data.Events[x].name == name);
                Event_Data event_data = map_event_data.Events[i];
                //if (event_data.name == name)
                //{
                if (Global.game_system.add_event(i, true, insert))
                {
                    if (Global.game_system.is_interpreter_running)
                    {
                        wait_time = 2;
                        Global.game_map.clear_move_range();
                    }
                    return(true);
                }
                //    break; //Debug
                //}
            }
#if DEBUG
            else
            if (!Event_Handler.event_data.Events.Any(x => x.name == name))
            {
                Print.message(string.Format("Failed to find and run event named\n\"{0}\"", name));
            }
#endif
            return(false);
        }
コード例 #3
0
        private void activate_events_by_action(Event_Action_Triggers action, int timing, int turn)
        {
            if (action == Event_Action_Triggers.Any && timing == 1)
            {
            }
            HashSet <int> events_to_start = new HashSet <int>();
            // Get events that match the parameters
            int index = 0;

            while (index < Event_Handler.events.Count)
            {
                int        i          = Event_Handler.events[index];
                Event_Data event_data = map_event_data.Events[i];
                if (event_data.trigger == 2)
                {
                    if (event_data.trigger_action == (int)action &&
                        event_data.trigger_timing == timing && (event_data.trigger_turn == turn || event_data.trigger_turn == 0))
                    {
                        events_to_start.Add(i);
                    }
                }
                if (Event_Handler.events.Contains(i))
                {
                    index++;
                }
            }
            // Run those events
            start_new_events(events_to_start, true);
        }
コード例 #4
0
    private List <Event_Data> EventAnswerChosen()
    {
        Event_Data       evData = (Event_Data)(uiBoolSlider.card.GetComponent <EventBHV> ().cardData);
        EventAction_Data chosenAction;

        if (uiBoolSlider.choice == false)
        {
            chosenAction = evData.actionDecline;
        }
        else
        {
            chosenAction = evData.actionAccept;
        }
        SetEventConsequences(chosenAction, 0);
        //eventsData.RemoveAt (indexAux);
        if (chosenAction.nextEvent != null)
        {
            List <Event_Data> evs = new List <Event_Data> ();
            evs.Add(chosenAction.nextEvent);
            return(evs);
        }
        else
        {
            return(null);
        }
    }
コード例 #5
0
    public void Load(Event_Data e)
    {
        base.Load(e);
        actionDecline = e.actionDecline.description;       //FIXME descomentar
        actionAccept  = e.actionAccept.description;        //FIXME descomentar
        AutoCardImage autoImage = GetComponentInChildren <AutoCardImage>();

        if (autoImage != null)
        {
            autoImage.SetImage();
        }
    }
コード例 #6
0
        internal void activate_event_by_name(string name) //private //Yeti
        {
            HashSet <int> events_to_start = new HashSet <int>();

            // Get events that match the parameters
            foreach (int i in Event_Handler.events)
            {
                Event_Data event_data = map_event_data.Events[i];
                // Only checks events that are Called
                if (event_data.name == name && event_data.trigger == 3)
                {
                    if (event_data.trigger_turn == Team_Turn || event_data.trigger_turn == 0)
                    {
                        events_to_start.Add(i);
                    }
                }
            }
            // Run those events
            start_new_events(events_to_start, false, true);
        }