예제 #1
0
 public void SendCmd(MapPoint mapPoint)
 {
     if (_changeManager != null)
     {
         _changeManager.OnPodcastMessage("commander", new CommanderMessage()
         {
             MapPoint  = mapPoint,
             Commander = this
         }, this);
     }
     else
     {
         foreach (var observer in observers_soldier)
         {
             observer.OnReceived(new CommanderMessage()
             {
                 MapPoint  = mapPoint,
                 Commander = this
             });
         }
     }
 }
예제 #2
0
 public void OnReceived(object message)
 {
     if (message != null && message.GetType() == typeof(CommanderMessage))
     {
         var value = (CommanderMessage)message;
         //When got event
         CurrentMapPoint = value.MapPoint;
         //Report to Commander
         if (this.Commander != null)
         {
             this.Commander.OnReceived(new SoldierMessage()
             {
                 Soldier = this
             });
         }
         if (_changeManager != null)
         {
             _changeManager.OnPodcastMessage("solider", new SoldierMessage()
             {
                 Soldier = this
             }, this);
         }
     }
 }