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); } }
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); } }