Esempio n. 1
0
    public void DeleteSeedResult(CSEntity entity, int objId, int index)
    {
        if (m_Entity == entity)
        {
            for (int i = 0; i < m_SeedsGrids.Count; i++)
            {
                if (m_SeedsGrids[i].m_Grid.ItemObj != null && m_ToolsGrids[i].m_Grid.ItemObj.instanceId == objId)
                {
                    m_SeedsGrids[i].m_Grid.SetItem(null);
                }
            }

            //// Event
            ItemAsset.ItemObject io = m_Farm.GetPlantSeed(index);
            if (io != null)
            {
                io.DecreaseStackCount(1);
                if (io.GetCount() <= 0)
                {
                    m_Farm.ExcuteEvent(CSConst.eetFarm_OnPlant, index);
                }
            }

            m_Farm.SetPlantSeed(index, null);
        }
    }
Esempio n. 2
0
    public void SetFarm(CSEntity enti)
    {
        if (enti == null)
        {
            Debug.LogWarning("Reference Entity is null.");
            return;
        }

        m_Entity = enti;
        CSFarm farm = enti as CSFarm;

        m_SequentialPlantingCB.isChecked = farm.Data.m_SequentialPlanting;

        if (farm == m_Farm)
        {
            return;
        }

        if (m_Farm != null)
        {
            m_Farm.CreatePlantEvent     -= OnCreatePlant;
            m_Farm.RemovePlantEvent     -= OnRemovePlant;
            m_Farm.CreatePlantListEvent -= OnCreatAllPlants;
            m_Farm.ClearAllPlantEvent   -= OnClearAllPlants;
            m_Farm.RemoveEventListener(OnEntityEvent);
        }

        m_Farm = farm;

        m_Farm.CreatePlantEvent     += OnCreatePlant;
        m_Farm.RemovePlantEvent     += OnRemovePlant;
        m_Farm.CreatePlantListEvent += OnCreatAllPlants;
        m_Farm.ClearAllPlantEvent   += OnClearAllPlants;
        m_Farm.AddEventListener(OnEntityEvent);

        int i = 0;

        foreach (FarmPlantLogic p in farm.Plants.Values)
        {
            if (i < m_PlantGrids.Count)
            {
            }
            else
            {
                CSUI_PlantGrid pg = _createPlantGrid(p);

                UICheckbox cb = pg.gameObject.GetComponent <UICheckbox>();
                if (i == 0)
                {
                    cb.startsChecked = true;
                }
            }
            i++;
        }

        for (int j = i; j < m_PlantGrids.Count;)
        {
            GameObject.Destroy(m_PlantGrids[j].gameObject);
            m_PlantGrids.RemoveAt(j);
        }

        m_PlantPart.m_Root.repositionNow = true;


        // Seed an tool grid
        for (int j = 0; j < CSFarm.PLANTS_SEEDS_COUNT; j++)
        {
            ItemObject io = m_Farm.GetPlantSeed(j);
            m_SeedsGrids[j].m_Grid.SetItem(io);
        }

        for (int j = 0; j < CSFarm.PLANTS_TOOLS_COUNT; j++)
        {
            ItemObject io = m_Farm.GetPlantTool(j);
            m_ToolsGrids[j].m_Grid.SetItem(io);
        }
    }