public void InitialDefenseObject(List <DefenseObjectData> objects) { foreach (DefenseObjectData o in objects) { DefenseObjectLogicObject logicObject = new DefenseObjectLogicObject(o); this.m_DefenseObjects.Add(logicObject.Data.DefenseObjectID, logicObject); } }
private void ReceivedDefenseObjectResponse(AddDefenseObjectResponseParameter param) { DefenseObjectLogicObject logicObject = this.m_UnreceivedIDObjects[0].Value; logicObject.Add(param.DefenseObjectID); this.m_DefenseObjects.Add(param.DefenseObjectID, logicObject); this.m_UnreceivedIDObjects.RemoveAt(0); CommunicationNotificationCenter.Instance.OnAddDefenseObjectResponse -= ReceivedDefenseObjectResponse; }
public DefenseObjectLogicData AddDefenseObject(int propsNo, TilePosition position) { DefenseObjectData data = new DefenseObjectData(); data.Position = position; data.DefenseObjectID = --this.m_TempID; data.Name = LogicController.Instance.GetProps(propsNo).Name; data.ConfigData = new DefenseObjectConfigWrapper(LogicController.Instance.GetProps(propsNo).FunctionConfigData); DefenseObjectLogicObject logicObject = new DefenseObjectLogicObject(data); CommunicationNotificationCenter.Instance.OnAddDefenseObjectResponse += ReceivedDefenseObjectResponse; this.m_UnreceivedIDObjects.Add(new KeyValuePair <long, DefenseObjectLogicObject>(data.DefenseObjectID, logicObject)); AddDefenseObjectRequestParameter request = new AddDefenseObjectRequestParameter(); request.PropsNo = propsNo; request.PositionRow = position.Row; request.PositionColumn = position.Column; CommunicationNotificationCenter.Instance.AddDefnseObject(request); return(logicObject.Data); }