Beispiel #1
0
        internal void SendGameEvent(Game game, GameEventCode eventCode, Dictionary <byte, object> parameters)
        {
            Dictionary <byte, object> eventData = new Dictionary <byte, object>
            {
                { (byte)GameEventParameterCode.GameID, game.GameID },
                { (byte)GameEventParameterCode.EventCode, (byte)eventCode },
                { (byte)GameEventParameterCode.Parameters, parameters }
            };

            SendEvent(EndPointEventCode.GameEvent, eventData);
        }
Beispiel #2
0
 internal bool Operate(GameEventCode eventCode, Dictionary <byte, object> parameters, out string errorMessage)
 {
     if (eventTable.ContainsKey(eventCode))
     {
         if (eventTable[eventCode].Handle(eventCode, parameters, out errorMessage))
         {
             return(true);
         }
         else
         {
             errorMessage = $"Player Game Error: {eventCode} from CurrentGamePlayerID: {game.CurrentGamePlayerID}\nErrorMessage: {errorMessage}";
             return(false);
         }
     }
     else
     {
         errorMessage = $"Unknow Game Event:{eventCode} from CurrentGamePlayerID: {game.CurrentGamePlayerID}";
         return(false);
     }
 }
Beispiel #3
0
 internal override bool Handle(EndPointEventCode eventCode, Dictionary <byte, object> parameters, out string errorMessage)
 {
     if (base.Handle(eventCode, parameters, out errorMessage))
     {
         int                       gameID             = (int)parameters[(byte)GameEventParameterCode.GameID];
         GameEventCode             resolvedEventCode  = (GameEventCode)parameters[(byte)GameEventParameterCode.EventCode];
         Dictionary <byte, object> resolvedParameters = (Dictionary <byte, object>)parameters[(byte)GameEventParameterCode.Parameters];
         Library.Game              game;
         if (GameManager.Instance.FindGame(gameID, out game))
         {
             return(game.EventManager.Operate(resolvedEventCode, resolvedParameters, out errorMessage));
         }
         else
         {
             errorMessage = $"GameEvent Error Game ID: {gameID} Not in GameManager: {subject.LastConnectedIPAddress}";
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
Beispiel #4
0
 internal void SendEvent(GameEventCode eventCode, Dictionary <byte, object> parameters)
 {
     game.GamePlayer1.Player.EndPoint.EventManager.SendGameEvent(game, eventCode, parameters);
     game.GamePlayer2.Player.EndPoint.EventManager.SendGameEvent(game, eventCode, parameters);
 }
Beispiel #5
0
 public void Record(GameEventCode code)
 {
     string action_sign = ((int)code).ToString();
 }