public static void AddColonyItem(ColonyBase item) { if (item == null || item._Network == null) { return; } if (item == null || item._Network == null) { return; } if (!ColonyMap.ContainsKey(item._Network.TeamId)) { ColonyMap[item._Network.TeamId] = new Dictionary <int, List <ColonyBase> >(); } if (!ColonyMap[item._Network.TeamId].ContainsKey(item._Network.ExternId)) { ColonyMap[item._Network.TeamId][item._Network.ExternId] = new List <ColonyBase>(); } if (!ColonyMap[item._Network.TeamId][item._Network.ExternId].Contains(item)) { ColonyMap[item._Network.TeamId][item._Network.ExternId].Add(item); } }
public static void RemoveColonyItem(ColonyBase item) { if (item == null || item._Network == null) { return; } if (ColonyMap.ContainsKey(item._Network.TeamId) && ColonyMap[item._Network.TeamId].ContainsKey(item._Network.ExternId)) { ColonyMap[item._Network.TeamId][item._Network.ExternId].Remove(item); } }
protected override void OnPEInstantiate(uLink.NetworkMessageInfo info) { _id = info.networkView.initialData.Read <int>(); _externId = info.networkView.initialData.Read <int>(); _ownerId = info.networkView.initialData.Read <int>(); _teamId = info.networkView.initialData.Read <int>(); _pos = transform.position; //prepare the data switch (ExternId) { case ColonyIDInfo.COLONY_ASSEMBLY: { PlayerNetwork.OnTeamChangedEventHandler += OnTeamChange; PlayerNetwork.OnLimitBoundsAdd(Id, new Bounds(_pos, new Vector3(128, 128, 128))); _ColonyObj = new ColonyAssembly(this); RPCServer(EPacketType.PT_CL_InitDataAssembly); } break; case ColonyIDInfo.COLONY_PPCOAL: { _ColonyObj = new ColonyPPCoal(this); RPCServer(EPacketType.PT_CL_InitDataPPCoal); } break; case ColonyIDInfo.COLONY_STORAGE: { _ColonyObj = new ColonyStorage(this); RPCServer(EPacketType.PT_CL_InitDataStorage); } break; case ColonyIDInfo.COLONY_REPAIR: { _ColonyObj = new ColonyRepair(this); RPCServer(EPacketType.PT_CL_InitDataRepair); } break; case ColonyIDInfo.COLONY_DWELLINGS: { _ColonyObj = new ColonyDwellings(this); RPCServer(EPacketType.PT_CL_InitDataDwellings); } break; case ColonyIDInfo.COLONY_ENHANCE: { _ColonyObj = new ColonyEnhance(this); RPCServer(EPacketType.PT_CL_InitDataEnhance); } break; case ColonyIDInfo.COLONY_RECYCLE: { _ColonyObj = new ColonyRecycle(this); RPCServer(EPacketType.PT_CL_InitDataRecycle); } break; case ColonyIDInfo.COLONY_FARM: { _ColonyObj = new ColonyFarm(this); RPCServer(EPacketType.PT_CL_InitDataFarm); } break; case ColonyIDInfo.COLONY_FACTORY: { _ColonyObj = new ColonyFactory(this); RPCServer(EPacketType.PT_CL_InitDataFactory); } break; case ColonyIDInfo.COLONY_PROCESSING: { _ColonyObj = new ColonyProcessing(this); RPCServer(EPacketType.PT_CL_InitDataProcessing); } break; case ColonyIDInfo.COLONY_TRADE: { _ColonyObj = new ColonyTrade(this); RPCServer(EPacketType.PT_CL_InitDataTrade); } break; case ColonyIDInfo.COLONY_CHECK: { _ColonyObj = new ColonyCheck(this); RPCServer(EPacketType.PT_CL_InitDataCheck); } break; case ColonyIDInfo.COLONY_TREAT: { _ColonyObj = new ColonyTreat(this); RPCServer(EPacketType.PT_CL_InitDataTreat); } break; case ColonyIDInfo.COLONY_TENT: { _ColonyObj = new ColonyTent(this); RPCServer(EPacketType.PT_CL_InitDataTent); } break; case ColonyIDInfo.COLONY_TRAIN: { _ColonyObj = new ColonyTrain(this); RPCServer(EPacketType.PT_CL_InitDataTrain); } break; case ColonyIDInfo.COLONY_FUSION: { _ColonyObj = new ColonyPPFusion(this); RPCServer(EPacketType.PT_CL_InitDataPPCoal); } break; default: Debug.LogError("ColonySystem itemid is wrong id = " + ExternId); break; } RPCServer(EPacketType.PT_CL_InitData); }
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); } }