public void LockMessageType(Constant.enumMessage msgTypeID) { if (m_MsgLockables.Contains(msgTypeID) && !m_LockList.Contains(msgTypeID)) { m_LockList.Add(msgTypeID); } }
private SFMLGraphics2D() { m_PostOffice = null; m_RenderWindow = null; m_SpriteManager = null; m_GraphicsSettings = null; m_ModuleID = Constant.enumModuleID.GRAPHICS; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.UPDATE, Constant.enumMessage.DRAW, Constant.enumMessage.CLOSING, Constant.enumMessage.LOAD_TEXTURES, Constant.enumMessage.UPDATE_GRAPHICS_SETTINGS, Constant.enumMessage.SWITCH_SPRITES_DRAW_STATUS, Constant.enumMessage.GET_GRAPHICS_SETTINGS, Constant.enumMessage.SEND_GAMEOBJECT, Constant.enumMessage.SEND_SPRITE_COMPONENTS, Constant.enumMessage.SEND_POSITION_COMPONENTS, Constant.enumMessage.SEND_TEXTURE_IDS, Constant.enumMessage.SEND_COMPONENTS, Constant.enumMessage.SEND_GAMEOBJECT, Constant.enumMessage.SEND_KEYBOARD_EVENT_HANDLER, Constant.enumMessage.SEND_MOUSE_BUTTON_EVENT_HANDLER, Constant.enumMessage.SEND_MOUSE_MOVE_EVENT_HANDLER, Constant.enumMessage.SEND_MOUSE_WHEEL_EVENT_HANDLER, Constant.enumMessage.SEND_GAMEOBJECTCOMPONENTS }; }
public void UnLockMessageType(Constant.enumMessage msgTypeID) { if (m_MsgLockables.Contains(msgTypeID)) { m_LockList.Remove(msgTypeID); } }
protected AIAgent(IPostOffice postOff) { m_PostOffice = postOff; m_ModuleID = Constant.enumModuleID.AI; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.UPDATE, }; }
public void RemoveMessage(Constant.enumMessage msgTypeID, Constant.enumModuleID moduleID, Boolean command = true) { //m_LetterBoxes[moduleID].Remove(m_LetterBoxes[moduleID].Where(msg => msg.m_MsgType.m_MsgTypeID == msgTypeID).FirstOrDefault()); IMessage[] msgArray = m_LetterBoxes[moduleID].Where(msg => msg.m_MsgType.m_MsgTypeID == msgTypeID && (command ? msg.m_MsgType.m_Command : !msg.m_MsgType.m_Command)).ToArray(); foreach (IMessage msg in msgArray) { m_LetterBoxes[moduleID].Remove(msg); } //throw new NotImplementedException(); }
public void RequestData <T>(Constant.enumMessage msgTypeID, Constant.enumMessage recieveMsgTypeID, Object[] data = null) { m_TempMsgTypeList.Add(recieveMsgTypeID); SendData(msgTypeID, data); Object[] objArray = m_PostOffice.GetMessageObjects(m_ModuleID, recieveMsgTypeID); T[] TArray = Methods.GetObjectArrayOf <T>(objArray); m_TempMsgTypeList.Clear(); }
protected GameCommand(IGame game) { m_Game = game; m_ModuleID = Constant.enumModuleID.GAMECOMMAND; m_TempMsgTypeList = new List <Constant.enumMessage>(); m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.DRAW, Constant.enumMessage.UPDATE, Constant.enumMessage.CLOSING, }; }
public static MessageType Instance(Constant.enumMessage iD, Boolean command) { if (m_InstanceList == null) { m_InstanceList = new List <MessageType>(); } if (!m_InstanceList.Any(x => x.m_MsgTypeID == iD && x.m_Command == command)) { m_InstanceList.Add(new MessageType(iD, command)); } return(m_InstanceList.FirstOrDefault(x => x.m_MsgTypeID == iD && x.m_Command == command)); }
protected PostOffice(IObserver observer) { m_Observer = observer; m_POBox = new List <IMessage>(); m_LetterBoxes = new Dictionary <Constant.enumModuleID, List <IMessage> >(); m_LockList = new List <Constant.enumMessage>(); m_MsgLockables = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.DRAW, Constant.enumMessage.UPDATE, }; //m_ModuleMsgTypeList = new Dictionary<Constant.enumModuleID, List<Constant.enumMessage>>(); }
protected PostOffice(IObserver observer) { m_Observer = observer; m_POBox = new List<IMessage>(); m_LetterBoxes = new Dictionary<Constant.enumModuleID, List<IMessage>>(); m_LockList = new List<Constant.enumMessage>(); m_MsgLockables = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.DRAW, Constant.enumMessage.UPDATE, }; //m_ModuleMsgTypeList = new Dictionary<Constant.enumModuleID, List<Constant.enumMessage>>(); }
protected Physics(IPostOffice postOffice) { collisions = new Dictionary <int, List <int> >(); m_ModuleID = Constant.enumModuleID.PHYSICS; m_PostOffice = postOffice; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.UPDATE, Constant.enumMessage.INITIALISE, Constant.enumMessage.SEND_COLLISIONDETECTIONDATA, Constant.enumMessage.SEND_POSITIONCOMPONENTS, Constant.enumMessage.SEND_COMPONENTS, Constant.enumMessage.COLLISIONDETECTION, }; }
protected Physics(IPostOffice postOffice) { collisions = new Dictionary<int, List<int>>(); m_ModuleID = Constant.enumModuleID.PHYSICS; m_PostOffice = postOffice; m_MsgTypeArray= new Constant.enumMessage[] { Constant.enumMessage.UPDATE, Constant.enumMessage.INITIALISE, Constant.enumMessage.SEND_COLLISIONDETECTIONDATA, Constant.enumMessage.SEND_POSITIONCOMPONENTS, Constant.enumMessage.SEND_COMPONENTS, Constant.enumMessage.COLLISIONDETECTION, }; }
protected ScriptController(IPostOffice postOffice) { m_ModuleID = Constant.enumModuleID.SCRIPTCONTROLLER; m_PostOffice = postOffice; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.UPDATE, Constant.enumMessage.INITIALISE, Constant.enumMessage.DRAW, Constant.enumMessage.COLLISIONDETECTION, Constant.enumMessage.SEND_GAMEOBJECT, }; m_TempMsgTypeList = new List <Constant.enumMessage>(); m_GameObjectIdList = new List <int>(); scriptList = new List <IScript>(); }
protected SFMLInput() { m_PostOffice = null; m_ModuleID = Constant.enumModuleID.INPUT; m_PressedKeys = new List <Constant.enumKey>(); m_PressedMouseButtons = new List <Constant.enumMouseButton>(); m_MousePosition = new Vector2(); m_MouseWheelDelta = 0; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.UPDATE, Constant.enumMessage.GET_INPUT_EVENT_HANDLERS, Constant.enumMessage.GET_MOUSE_POSITION, Constant.enumMessage.GET_PRESSED_KEYS, Constant.enumMessage.GET_PRESSED_MOUSEBUTTONS, Constant.enumMessage.GET_MOUSE_WHEEL_DELTA, }; }
protected SFMLInput() { m_PostOffice = null; m_ModuleID = Constant.enumModuleID.INPUT; m_PressedKeys = new List<Constant.enumKey>(); m_PressedMouseButtons = new List<Constant.enumMouseButton>(); m_MousePosition = new Vector2(); m_MouseWheelDelta = 0; m_MsgTypeArray = new Constant.enumMessage[] { Constant.enumMessage.INITIALISE, Constant.enumMessage.UPDATE, Constant.enumMessage.GET_INPUT_EVENT_HANDLERS, Constant.enumMessage.GET_MOUSE_POSITION, Constant.enumMessage.GET_PRESSED_KEYS, Constant.enumMessage.GET_PRESSED_MOUSEBUTTONS, Constant.enumMessage.GET_MOUSE_WHEEL_DELTA, }; }
public void SendMessage(Constant.enumMessage msgTypeID, Object[] data = null, Boolean command = true) { if (command) { IMessage msg2 = new Message(msgTypeID, true, null); m_POBox.Add(msg2); } if (data != null) { IMessage msg = new Message(msgTypeID, false, data); m_POBox.Add(msg); } if (data == null && !command) { throw new ApplicationException(); } m_Observer.Notify(true); m_POBox.Clear(); if (command) { m_Observer.Notify(false); } }
protected MessageType(Constant.enumMessage msgTypeID, Boolean command) { m_MsgTypeID = msgTypeID; m_Command = command; }
public Message(Constant.enumMessage msgTypeID, Boolean command = false, Object[] data = null) { m_MsgType = MessageType.Instance(msgTypeID, command); m_Data = data; }
public T[] RequestData <T>(Constant.enumMessage msgTypeID, Object[] data = null) { Constant.enumMessage recieveMsgTypeID = Constant.enumMessage.NULL; switch (msgTypeID) { case Constant.enumMessage.GET_GAMEOBJECT: recieveMsgTypeID = Constant.enumMessage.SEND_GAMEOBJECT; break; case Constant.enumMessage.GET_COMPONENTS: recieveMsgTypeID = Constant.enumMessage.SEND_COMPONENTS; break; case Constant.enumMessage.GET_GAMEOBJECTCOMPONENTS: recieveMsgTypeID = Constant.enumMessage.SEND_GAMEOBJECTCOMPONENTS; break; case Constant.enumMessage.GET_GAMEOBJECTCOMPONENTS_BY_ID: recieveMsgTypeID = Constant.enumMessage.SEND_GAMEOBJECTCOMPONENTS; break; case Constant.enumMessage.LOAD_TEXTURES: recieveMsgTypeID = Constant.enumMessage.SEND_TEXTURE_IDS; break; case Constant.enumMessage.GET_PRESSED_MOUSEBUTTONS: recieveMsgTypeID = Constant.enumMessage.SEND_PRESSED_MOUSEBUTTONS; break; case Constant.enumMessage.GET_PRESSED_KEYS: recieveMsgTypeID = Constant.enumMessage.SEND_PRESSED_KEYS; break; case Constant.enumMessage.GET_MOUSE_POSITION: recieveMsgTypeID = Constant.enumMessage.SEND_MOUSE_POSITION; break; case Constant.enumMessage.GET_MOUSE_WHEEL_DELTA: recieveMsgTypeID = Constant.enumMessage.SEND_MOUSE_WHEEL_DELTA; break; case Constant.enumMessage.GET_GRAPHICS_SETTINGS: recieveMsgTypeID = Constant.enumMessage.SEND_GRAPHICS_SETTINGS; break; } if (recieveMsgTypeID != Constant.enumMessage.NULL) { m_TempMsgTypeList.Add(recieveMsgTypeID); SendData(msgTypeID, data); Object[] objArray = m_PostOffice.GetMessageObjects(m_ModuleID, recieveMsgTypeID); T[] TArray = Methods.GetObjectArrayOf <T>(objArray); m_TempMsgTypeList.Clear(); return(TArray); } else { throw new ApplicationException(); } }
public void SendDataForObject <T>(Constant.enumMessage msgTypeID, String objectKey, T data) { T[] TArray = { data }; SendData(msgTypeID, new Object[] { objectKey, TArray }); }
public void SendDataForObject <T>(Constant.enumMessage msgTypeID, String objectKey, T[] data) { SendData(msgTypeID, new Object[] { objectKey, data }); }
public void SendData(Constant.enumMessage msgTypeID, Object[] data = null) { m_PostOffice.SendMessage(msgTypeID, data); }
public Object[] GetMessageObjects(Constant.enumModuleID moduleID, Constant.enumMessage msgID) { IMessage[] result = m_LetterBoxes[moduleID].Where(msg => msgID == msg.m_MsgType.m_MsgTypeID).ToArray(); m_LetterBoxes[moduleID] = m_LetterBoxes[moduleID].Except(result).ToList(); return(result.Select(msg => msg.m_Data).ToArray()); }