public void HandleOrder(EntityCommand entityCommand) //public because it's an interface. { if (entityCommand.IsValidCommand(Game)) { if (FactionConnections.ContainsKey(entityCommand.RequestingFactionGuid)) { foreach (var item in FactionConnections[entityCommand.RequestingFactionGuid]) { SendEntityCommandAck(item, entityCommand.CmdID, true); } } var orderableDB = entityCommand.EntityCommanding.GetDataBlob <OrderableDB>(); orderableDB.AddCommandToList(entityCommand); orderableDB.ProcessOrderList(entityCommand.EntityCommanding.StarSysDateTime); } }
public void HandleOrder(EntityCommand entityCommand) //public because it's an interface. { if (entityCommand.IsValidCommand(Game)) { if (FactionConnections.ContainsKey(entityCommand.RequestingFactionGuid)) { foreach (var item in FactionConnections[entityCommand.RequestingFactionGuid]) { SendEntityCommandAck(item, entityCommand.CmdID, true); } } entityCommand.EntityCommanding.GetDataBlob <OrderableDB>().ActionList.Add(entityCommand); var commandList = entityCommand.EntityCommanding.GetDataBlob <OrderableDB>().ActionList; OrderableProcessor.ProcessOrderList(Game, commandList); } }
void HandleEntityCommandAproval(NetIncomingMessage message) { Guid cmdID = new Guid(message.ReadBytes(16)); bool isValid = message.ReadBoolean(); Messages.Add("Rx " + isValid + " ID " + cmdID); EntityCommand cmd = CommandsAwaitingServerAproval[cmdID]; if (isValid && cmd.IsValidCommand(Game)) { cmd.EntityCommanding.GetDataBlob <OrderableDB>().ActionList.Add(cmd); var commandList = cmd.EntityCommanding.GetDataBlob <OrderableDB>().ActionList; OrderableProcessor.ProcessOrderList(Game, commandList); } else { Messages.Add("Command not validated by server"); //TODO: maybe add messages from server saying why. } CommandsAwaitingServerAproval.Remove(cmdID); }