internal void SendEvent(PlayerEventCode eventCode, Dictionary <byte, object> parameters) { foreach (Device device in player.Devices) { device.EventManager.SendPlayerEvent(player, eventCode, parameters); } }
internal void SendPlayerEvent(Player player, PlayerEventCode eventCode, Dictionary <byte, object> parameters) { Dictionary <byte, object> eventData = new Dictionary <byte, object> { { (byte)PlayerEventParameterCode.Nickname, player.Nickname }, { (byte)PlayerEventParameterCode.EventCode, (byte)eventCode }, { (byte)PlayerEventParameterCode.Parameters, parameters } }; SendEvent(DeviceEventCode.PlayerEvent, eventData); }
internal void SendPlayerEvent(Player player, PlayerEventCode eventCode, Dictionary <byte, object> parameters) { Dictionary <byte, object> eventData = new Dictionary <byte, object> { { (byte)PlayerEventParameterCode.PlayerID, player.PlayerID }, { (byte)PlayerEventParameterCode.EventCode, (byte)eventCode }, { (byte)PlayerEventParameterCode.Parameters, parameters } }; SendEvent(EndPointEventCode.PlayerEvent, eventData); }
internal bool Operate(PlayerEventCode 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 Event Error: {eventCode} from PlayerID: {player.PlayerID}\nErrorMessage: {errorMessage}"; return(false); } } else { errorMessage = $"Unknow Player Event:{eventCode} from PlayerID: {player.PlayerID}"; return(false); } }
internal override bool Handle(EndPointEventCode eventCode, Dictionary <byte, object> parameters, out string errorMessage) { if (base.Handle(eventCode, parameters, out errorMessage)) { int playerID = (int)parameters[(byte)PlayerEventParameterCode.PlayerID]; PlayerEventCode resolvedEventCode = (PlayerEventCode)parameters[(byte)PlayerEventParameterCode.EventCode]; Dictionary <byte, object> resolvedParameters = (Dictionary <byte, object>)parameters[(byte)PlayerEventParameterCode.Parameters]; if (subject.Player.PlayerID == playerID) { return(subject.Player.EventManager.Operate(resolvedEventCode, resolvedParameters, out errorMessage)); } else { errorMessage = $"PlayerEvent Error Player ID: {playerID} Not in EndPoint: {subject.LastConnectedIPAddress}"; return(false); } } else { return(false); } }
internal override bool Handle(DeviceEventCode eventCode, Dictionary <byte, object> parameters, out string errorMessage) { if (base.Handle(eventCode, parameters, out errorMessage)) { string nickname = (string)parameters[(byte)PlayerEventParameterCode.Nickname]; PlayerEventCode resolvedEventCode = (PlayerEventCode)parameters[(byte)PlayerEventParameterCode.EventCode]; Dictionary <byte, object> resolvedParameters = (Dictionary <byte, object>)parameters[(byte)PlayerEventParameterCode.Parameters]; if (subject.Player.Nickname == nickname) { return(subject.Player.EventManager.Operate(resolvedEventCode, resolvedParameters, out errorMessage)); } else { errorMessage = $"PlayerEvent Error Player : {nickname} Not in Device: {subject}"; return(false); } } else { return(false); } }
internal void SendEvent(PlayerEventCode eventCode, Dictionary <byte, object> parameters) { player.EndPoint.EventManager.SendPlayerEvent(player, eventCode, parameters); }