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();
    }
Esempio n. 2
0
    void RPC_S2C_CLN_PlantClean(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.RestoreCleaningPlant(plant);
    }