// void RPC_S2C_CLN_SetGuardPos(uLink.BitStream stream, uLink.NetworkMessageInfo info) // { // //--to do: wait // Vector3 guardPos = stream.Read<Vector3>(); // //int playID = stream.Read<int>(); // //if (playID == PlayerFactory.mMainPlayer.OwnerView.viewID.id) // //{ // CSCreator creator = CSMain.GetCreator(CSConst.ciDefMgCamp); // if (creator != null) // { // CSPersonnel[] personnels = creator.GetNpcs(); // foreach (CSPersonnel csp in personnels) // { // if (csp != null && csp.m_Npc != null) // { // if (Id == csp.m_Npc.Id) // { // csp.SetGuardAttr(guardPos); // } // } // } // } // //} // } void RPC_S2C_CLN_PlantGetBack(uLink.BitStream stream, uLink.NetworkMessageInfo info) { int objId = stream.Read <int> (); if (objId != -1) { FarmManager.Instance.RemovePlant(objId); DragArticleAgent.Destory(objId); ItemMgr.Instance.DestroyItem(objId); } else { FarmPlantLogic plant = stream.Read <FarmPlantLogic>(); CSMgCreator creator = MultiColonyManager.GetCreator(TeamId); if (creator == null || creator.Assembly == null) { return; } CSFarm farm = creator.Assembly.Farm; if (farm == null) { return; } farm.RestoreWateringPlant(plant); } }
public void ClearFarmWorks() { if (WorkRoom == null) { return; } CSFarm farm = WorkRoom as CSFarm; if (farm == null) { m_FarmWorkMap.Clear(); return; } foreach (KeyValuePair <EFarmWorkType, FarmWorkInfo> kvp in m_FarmWorkMap) { switch (kvp.Key) { case EFarmWorkType.Watering: farm.RestoreWateringPlant(kvp.Value.m_Plant); break; case EFarmWorkType.Cleaning: farm.RestoreCleaningPlant(kvp.Value.m_Plant); break; case EFarmWorkType.Harvesting: farm.RestoreRipePlant(kvp.Value.m_Plant); break; case EFarmWorkType.Planting: #if NEW_CLOD_MGR CSMgCreator mgCreator = m_Creator as CSMgCreator; if (mgCreator == null) { Debug.Log(" CSCreator is error"); break; } mgCreator.m_Clod.DirtyTheChunk(kvp.Value.m_ClodChunk.m_ChunkIndex, false); #else CSClodMgr.DirtyTheChunk(kvp.Value.m_ClodChunk.m_ChunkIndex, false); #endif break; } } m_FarmWorkMap.Clear(); }
void RPC_S2C_CLN_PlantWater(uLink.BitStream stream, uLink.NetworkMessageInfo info) { /*int farmId = */ stream.Read <int>(); FarmPlantLogic plant = stream.Read <FarmPlantLogic>(); CSMgCreator creator = MultiColonyManager.GetCreator(TeamId); if (creator == null || creator.Assembly == null) { return; } CSFarm farm = creator.Assembly.Farm; farm.RestoreWateringPlant(plant); }