public override void CreateData() { CSDefaultData ddata = null; bool isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.etppSolar, ref ddata); m_Data = ddata as CSPowerPlanetData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); // Get Charging Items foreach (KeyValuePair <int, int> kvp in Data.m_ChargingItems) { m_ChargingItems[kvp.Key] = ItemMgr.Instance.Get(kvp.Value).GetCmpt <Energy>(); } } m_IsRunning = true; }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtDwelling, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtDwelling, ref ddata); } m_Data = ddata as CSDwellingsData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); } }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtTreat, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtTreat, ref ddata); } m_Data = ddata as CSTreatData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); if (Data.npcIds.Count > 0) { foreach (int id in Data.npcIds) { PeEntity npc = EntityMgr.Instance.Get(id); if (npc != null) { allPatients.Add(npc); } } } if (allPatients.Count > 0) { treatmentInUse = m_MgCreator.FindTreatment(allPatients[0].Id, true); } if (Data.m_ObjID >= 0) { medicineItem = ItemAsset.ItemMgr.Instance.Get(Data.m_ObjID); } StartCounter(Data.m_CurTime, Data.m_Time); //--to do update UI } }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtStorage, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtStorage, ref ddata); } m_Data = ddata as CSStorageData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); foreach (KeyValuePair <int, int> kvp in Data.m_Items) { ItemObject ioject = ItemMgr.Instance.Get(kvp.Value); if (ioject != null) { SlotList slotList = m_Package.GetSlotList(ioject.protoId); int listCnt = slotList.Count; int key = kvp.Key % listCnt; slotList[key] = ioject; } } } //for (int i = 0; i < m_WorkSpaces.Length; i++) //{ // m_WorkSpaces[i].Pos = Position; // m_WorkSpaces[i].m_Rot = Quaternion.identity; //} }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.etppFusion, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.etppFusion, ref ddata); } m_Data = ddata as CSPPFusionData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; StartWorkingCounter(); } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); StartWorkingCounter(Data.m_CurWorkedTime, Data.m_WorkedTime); // Get Charging Items foreach (KeyValuePair <int, int> kvp in Data.m_ChargingItems) { ItemObject itemObj = ItemMgr.Instance.Get(kvp.Value); if (itemObj != null) { m_ChargingItems[kvp.Key] = ItemMgr.Instance.Get(kvp.Value).GetCmpt <Energy>(); } } } }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtRepair, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtRepair, ref ddata); } m_Data = ddata as CSRepairData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); if (ItemMgr.Instance.Get(Data.m_ObjID) == null) { m_Item = null; } else { m_Item = ItemMgr.Instance.Get(Data.m_ObjID).GetCmpt <Repair>(); } StartCounter(Data.m_CurTime, Data.m_Time); } //for (int i = 0; i < m_WorkSpaces.Length; i++) //{ // m_WorkSpaces[i].Pos = Position; // m_WorkSpaces[i].m_Rot = Quaternion.identity; //} }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtFactory, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtFactory, ref ddata); } m_Data = ddata as CSFactoryData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); // Clear old record for (int i = 0; i < Data.m_CompoudItems.Count;) { ItemProto item_data = ItemProto.GetItemData(Data.m_CompoudItems[i].itemID); if (item_data == null) { Data.m_CompoudItems.RemoveAt(i); } else { i++; } } } }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (PeGameMgr.IsMulti) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtProcessing, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtProcessing, ref ddata); } m_Data = ddata as CSProcessingData; InitNPC(); if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); for (int i = 0; i < Data.mTaskTable.Length; i++) { if (Data.mTaskTable[i] != null) { Data.mTaskTable[i].StartCounterFromRecord(); Data.mTaskTable[i].taskAccomplished = TaskAccomplished; } } } }
public bool AssignData(int id, int type, ref CSDefaultData refData, ColonyBase _colony) { if (_colony != null && _colony._RecordData != null) { refData = _colony._RecordData; return(false); } else { switch (type) { case CSConst.dtAssembly: refData = new CSAssemblyData(); break; case CSConst.dtStorage: refData = new CSStorageData(); break; case CSConst.dtEngineer: refData = new CSEngineerData(); break; case CSConst.dtEnhance: refData = new CSEnhanceData(); break; case CSConst.dtRepair: refData = new CSRepairData(); break; case CSConst.dtRecyle: refData = new CSRecycleData(); break; case CSConst.dtppCoal: refData = new CSPPCoalData(); break; case CSConst.dtppSolar: refData = new CSPPSolarData(); break; case CSConst.dtDwelling: refData = new CSDwellingsData(); break; case CSConst.dtFarm: refData = new CSFarmData(); break; case CSConst.dtFactory: refData = new CSFactoryData(); break; case CSConst.dtProcessing: refData = new CSProcessingData(); break; case CSConst.dtTrade: refData = new CSTradeData(); break; case CSConst.dtTrain: refData = new CSTrainData(); break; case CSConst.dtCheck: refData = new CSCheckData(); break; case CSConst.dtTreat: refData = new CSTreatData(); break; case CSConst.dtTent: refData = new CSTentData(); break; case CSConst.dtppFusion: refData = new CSPPFusionData(); break; default: refData = new CSDefaultData(); break; } refData.ID = id; return(true); } }
// <CETC> Assign Record Data public bool AssignData(int id, int type, ref CSDefaultData refData) { // Personnel if (type == CSConst.dtPersonnel) { if (m_PersonnelDatas.ContainsKey(id)) { Debug.Log("The Personnel Data ID [" + id.ToString() + "] is exist."); refData = m_PersonnelDatas[id]; return(false); } else { refData = new CSPersonnelData(); refData.ID = id; m_PersonnelDatas.Add(id, refData as CSPersonnelData); return(true); } } // Object else { if (m_ObjectDatas.ContainsKey(id)) { Debug.Log("The Object data ID [" + id.ToString() + "] is exist."); refData = m_ObjectDatas[id]; return(false); } else { switch (type) { case CSConst.dtAssembly: refData = new CSAssemblyData(); break; case CSConst.dtStorage: refData = new CSStorageData(); break; case CSConst.dtEngineer: refData = new CSEngineerData(); break; case CSConst.dtEnhance: refData = new CSEnhanceData(); break; case CSConst.dtRepair: refData = new CSRepairData(); break; case CSConst.dtRecyle: refData = new CSRecycleData(); break; case CSConst.dtppCoal: refData = new CSPPCoalData(); break; case CSConst.dtDwelling: refData = new CSDwellingsData(); break; case CSConst.dtFactory: refData = new CSFactoryData(); break; case CSConst.dtProcessing: refData = new CSProcessingData(); break; default: //refData = new CSDefaultData(); refData = new CSObjectData(); break; } refData.ID = id; m_ObjectDatas.Add(id, refData as CSObjectData); return(true); } } }
public void CreateData() { CSDefaultData ddata = null; bool isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtPersonnel, ref ddata); m_Data = ddata as CSPersonnelData; if (isNew) { } else { Dwellings = m_Creator.GetCommonEntity(m_Data.m_DwellingsID) as CSDwellings; Dwellings.AddNpcs(this); CSCommon workRoom = m_Creator.GetCommonEntity(m_Data.m_WorkRoomID); //if (workRoom != null && workRoom.AddWorker(this)) WorkRoom = workRoom; // _createGuardTriggerGo (); // m_GuardTrigger.Pos = Data.m_GuardPos; //init processor if (processingIndex >= 0) { if (m_ProcessingIndexChangeListenner != null) { m_ProcessingIndexChangeListenner(this, -1, processingIndex); } } // if (m_Dwellings.m_Assembly != null) // { //// _updateWorkType(-1, Data.m_WorkMode); // // // Add Soldier to all Entities and set the guard pos // // if the new work mode is Guard. // if (m_WorkMode == CSConst.pwtGuard ) // { // if (Data.m_GuardPos == Vector3.zero) // SetGuardAttr(m_Pos); // else // SetGuardAttr(Data.m_GuardPos); // } // // // Add Soldier to all Entities if the new work mode is Patrol // if (m_WorkMode == CSConst.pwtPatrol) // { // m_Dwellings.m_Assembly.AddSoldier(this); // //// Dictionary<int, CSCommon> commons = mgCreator.GetCommonEntities(); // List<CSCommon> commons = m_Dwellings.m_Assembly .GetBelongCommons(); // //// foreach (KeyValuePair<int, CSCommon> kvp in commons) //// kvp.Value.AddSoldier(this); // foreach (CSCommon common in commons) // common.AddSoldier(this); // } // } //if (m_Dwellings != null && m_Dwellings.Assembly != null) //{ // if ( !m_Dwellings.Assembly.InRange(m_Pos) ) // _state = CSConst.pstUnknown; //} } //--to do: wait //m_Npc.RegisterListener(OnNPCEventTrigger); }
public override void CreateData() { CSDefaultData ddata = null; bool isNew; if (GameConfig.IsMultiMode) { isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtTent, ref ddata, _ColonyObj); } else { isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtTent, ref ddata); } m_Data = ddata as CSTentData; if (isNew) { Data.m_Name = CSUtils.GetEntityName(m_Type); Data.m_Durability = Info.m_Durability; for (int i = 0; i < allSickbeds.Length; i++) { allSickbeds[i].tentBuilding = this; if (pePatient != null) { allSickbeds[i].bedLay = pePatient.Lays[i]; } if (resultTrans != null) { allSickbeds[i].bedTrans = resultTrans[i]; } } } else { StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue); StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime); //--to do if (Data.npcIds.Count > 0) { foreach (int id in Data.npcIds) { PeEntity npc = EntityMgr.Instance.Get(id); if (npc != null) { allPatients.Add(npc); } } } for (int i = 0; i < CSMedicalTentConst.BED_AMOUNT_MAX; i++) { Sickbed sb = allSickbeds[i]; if (sb.npcId >= 0) { sb.npc = EntityMgr.Instance.Get(sb.npcId); } else { sb.npc = null; } sb.StartCounterFromRecord(); sb.tentBuilding = this; if (pePatient != null) { sb.bedLay = pePatient.Lays[i]; } if (resultTrans != null) { sb.bedTrans = resultTrans[i]; } } } }