public void Init(BaseListElementData data) { OnDataChange(data); m_data = data; OnInit(); ForceUpdateProperties(); }
private void ElementChangeHandler(int index, BaseListElementData data) { var currentIndex = GetCurrentIndex(); if (index >= currentIndex && index < currentIndex + m_pool.Count) { UpdateItem(m_pool[index - currentIndex], index); } }
private void ElementInsertHandler(int index, BaseListElementData data) { var element = InstantiateElement(data, index); m_elements.Insert(index, element); TryUpdateElementsAnimation(); OnElementsCountChanged.Call(); }
private void ElementAddHandler(BaseListElementData data) { var element = InstantiateElement(data); m_elements.Add(element); TryUpdateElementsAnimation(); OnElementsCountChanged.Call(); }
private void BuildingTypeSelectionChangedHandler(BaseListElementData element) { var typeData = element as BuildingTypeData; var config = GameplayHolderManager.Instance.Configs.BuildingConfigs.Find((x) => x.Type == typeData.Type); if (config == null) { isBuildCheckPassed.value = false; return; } var resourcer = GameplayManager.Instance.Player.Resourcer; isBuildCheckPassed.value = resourcer.IsEnough(ResourceTypes.Fruit, config.FruitCost) && resourcer.IsEnough(ResourceTypes.Meat, config.MeatCost); }
private BaseListElement InstantiateElement(BaseListElementData data, int index = -1) { var element = Instantiate(m_elementPrefab, m_content, false); if (index != -1) { element.transform.SetSiblingIndex(index); } element.Init(data); if (m_canDragElements) { var draggableElement = element as BaseDraggableListElement; draggableElement.OnPressed += ElementPressHandler; draggableElement.OnCanStartDragging += ElementCanStartDragHandler; draggableElement.OnCanEndDragging += ElementCanEndDragHandler; } return(element); }
protected virtual void OnDataChange(BaseListElementData newData) { }
private void ElementChangeHandler(int index, BaseListElementData data) { var element = m_elements[index]; element.Init(data); }
private void ElementAddHandler(BaseListElementData data) { RebuildList(); onElementsCountChanged.Call(); }