示例#1
0
        private void CheckTriggers(ServerGameState state, EventBase ev)
        {
            var myEventFilter = new PredicatedEvent()
            {
                Event  = ev,
                Filter = ev.GetFilter(),
                Side   = PredicateSide.Friendly
            };

            var oppEventFilter = new PredicatedEvent()
            {
                Event  = ev,
                Filter = ev.GetFilter(),
                Side   = PredicateSide.Enemy
            };

            var myTriggeredEvents  = state.Me.Triggers.GetAssociatedEvents(myEventFilter);
            var oppTriggeredEvents = state.Opp.Triggers.GetAssociatedEvents(oppEventFilter);

            if (myTriggeredEvents.Any() || oppTriggeredEvents.Any())
            {
                // TODO: form and re-query chain of events
                // TODO: check the event orders / orders of minion appearances
                // TODO: re-call ProcessEvent() for each triggered event and return the resulting events
                throw new NotImplementedException();
            }
        }