Exemple #1
0
    void HandleTurnStarted(object sender, EventProxyArgs args)
    {
        if (!model.matchRunning)
        {
            return;
        }

        // perform AI planning and execute it if the active unit is AI controled
        TurnStartedEvent e = args as TurnStartedEvent;

        if (e.unit.AIControled)
        {
            TurnPlan plan = e.unit.ai.DoPlanning();
            // execute turn plan
            MoveUnit(e.unit, plan.movementTarget);

            // check again if this unit is dead (might have died from field effects)
            if (!e.unit.Alive)
            {
                EndTurn();
                return;
            }

            AttackMapTile(e.unit, plan.attackTarget.mapTile, plan.attack);
        }
    }
Exemple #2
0
    void HandleTurnStarted(object sender, EventArgs args)
    {
        TurnStartedEvent e     = args as TurnStartedEvent;
        BUnit            bUnit = GetBUnit(e.unit);

        EventProxyManager.FireEvent(this, new EventDoneEvent());
    }
Exemple #3
0
        public void Receive(TurnStartedEvent message)
        {
            var dialog = ViewModels.NextTurn.Create();

            Shell.ShowDialog(dialog);

            // sync delay
            Thread.Sleep(1500);
            dialog.Close();
        }
Exemple #4
0
 void HandleEvent(object sender, EventProxyArgs args)
 {
     if (args.name == EventName.TurnStarted)
     {
         TurnStartedEvent e = (TurnStartedEvent)args;
         Debug.Log("Round: " + e.round + " Turn: " + e.turn);
     }
     eventQueue.Enqueue(args);
     if (!performingEvent)
     {
         EventProxyManager.FireEvent(this, new EventDoneEvent());
     }
 }
 private void OnTurnStarted(TurnStartedEvent e)
 {
     if (TurnStarted != null)
         TurnStarted(e);
 }