protected virtual void UpdateCell(AbstractCellController cc, AbstractCellData cd) { if (cc != null) { cc.UpdateCell(cd); } }
protected override AbstractCellController Spawn(RectTransform parent, AbstractCellData cellData) { if (cellData.CellControllerRef != null) { return(cellData.CellControllerRef); } AbstractCellController cc = GetReusableCell(cellData.CellControllerType); cc.transform.SetParent(parent, false); UpdateCell(cc, cellData); #if UNITY_EDITOR cc.name = parent.name; #endif if (ContainerCellData.ContainsKey(parent)) { ContainerCellData[parent] = cellData; } else { ContainerCellData.Add(parent, cellData); } if (cellData.OnSpawn != null) { cellData.OnSpawn(cellData); } return(cc); }
/// <summary> /// Sets the value from a Formula Cell /// </summary> /// <param name="rw"></param> /// <param name="col"></param> public void setFormulaUsesArray(UInt16 rw, UInt16 col) { AbstractCellData cell = this.getCellAtPosition(rw, col); if (cell is FormulaCell) { ((FormulaCell)cell).usesArrayRecord = true; } }
/// <summary> /// Searches a cell at the specific Position /// </summary> /// <param name="rw"></param> /// <param name="col"></param> /// <returns></returns> public AbstractCellData getCellAtPosition(UInt16 rw, UInt16 col) { RowData rd = this.getSpecificRow((int)rw); AbstractCellData scell = null; foreach (AbstractCellData cell in rd.Cells) { if (cell.Row == rw && cell.Col == col) { scell = cell; } } return(scell); }
/// <summary> /// Searches a cell at the specific Position /// </summary> /// <param name="rw"></param> /// <param name="col"></param> /// <returns></returns> public AbstractCellData getCellAtPosition(ushort rw, ushort col) { var rd = this.getSpecificRow((int)rw); AbstractCellData scell = null; foreach (var cell in rd.Cells) { if (cell.Row == rw && cell.Col == col) { scell = cell; } } return(scell); }
public override void UpdateCell(AbstractCellData data) { base.UpdateCell(data); int sfx = ((SfxCellData)data).Sfx; SfxText.text = SFXLoader.Ins.Eff[sfx]; Transform distanceResizerParent = transform.parent.parent.parent; CenterDistanceResizer.SetParent(distanceResizerParent); ScalingParent = distanceResizerParent.parent.parent.parent.parent; }
public void Move(int index, AbstractCellData item) { throw new NotImplementedException(); // if (!CellDataList.Contains(item)) // return; // // if (CellDataList.Remove(item)) { // CellDataList.Insert(index, item); // SetSiblingIndex(index); // } // for (int i = index + 1; i < CellDataList.Count; i++) { // SetSiblingIndex(i); // } }
public override void UpdateCell(AbstractCellData data) { base.UpdateCell(data); int act = ((AnimationCellData)data).animation; AnimationText.text = act.ToString(); Transform distanceResizerParent = transform.parent.parent.parent; CenterDistanceResizer.SetParent(distanceResizerParent); ScalingParent = distanceResizerParent.parent.parent.parent.parent; }
protected virtual void Despawn(RectTransform container) { if (!ContainerCellData.ContainsKey(container)) { return; } AbstractCellData cellData = ContainerCellData[container]; if (cellData.CellControllerRef == null) { return; } AbstractCellController cellController = cellData.CellControllerRef; if (!ReusableCellPool.ContainsKey(cellController.GetType())) { ReusableCellPool.Add(cellController.GetType(), new List <AbstractCellController>()); } ReusableCellPool[cellController.GetType()].Insert(0, cellController); if (NoDeactivations) { cellController.transform.SetParent(null, false); } else { cellController.gameObject.SetActive(false); cellController.transform.SetParent(transform, false); cellController.transform.SetSiblingIndex(-1000); } cellController.enabled = false; if (cellData.OnDespawn != null) { cellData.OnDespawn(cellData); } cellData.CellControllerRef = null; ContainerCellData.Remove(container); }
protected virtual void UpdateCell(AbstractCellData cd) { UpdateCell(cd.CellControllerRef, cd); }
protected abstract AbstractCellController Spawn(RectTransform parent, AbstractCellData cellData);
public virtual void UpdateCell(AbstractCellData data) { Data = data; data.CellControllerRef = this; }
public abstract void CenterOnCellAnimated(AbstractCellData data, bool modal);
public abstract void CenterOnCell(AbstractCellData data);
public override void CenterOnCellAnimated(AbstractCellData data, bool modal) { CenterOnCellAnimated(IndexOf(data), modal); }
public override void CenterOnCell(AbstractCellData data) { CenterOnCell(IndexOf(data)); }