using System.Collections.Generic; using UnityEngine; namespace Gameplay.LegionBattle.View { public class FightLineCell2 { public readonly int cellIndex; public int standValue; public FightLineStandUnit2 claimUnit; public List neighCells = new List(); private GameObject _rootObj; private GameObject[] _colorObjs; public int iteration; public bool isVisited; public FightLineCell2(int cellIndex) { this.cellIndex = cellIndex; } public void CreateView(GameObject sampleObj, Vector3 worldPos) { _rootObj = Object.Instantiate(sampleObj); _rootObj.hideFlags = HideFlags.HideAndDontSave | HideFlags.HideInHierarchy | HideFlags.HideInInspector; _rootObj.transform.position = worldPos; _colorObjs = new GameObject[3]; var colorTransform = _rootObj.transform.Find("color"); for (int i = 0; i < _colorObjs.Length; i++) { var colorObj = colorTransform.GetChild(i).gameObject; _colorObjs[i] = colorObj; colorObj.SetActive(false); } } public void UpdateColor() { var colorIndex = standValue + 1; for (int i = 0; i < _colorObjs.Length; i++) { var colorObj = _colorObjs[i]; colorObj.SetActive(colorIndex == i); } } public void DestroyView() { Object.Destroy(_rootObj); } } }