58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
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<FightLineCell2> neighCells = new List<FightLineCell2>();
|
|
|
|
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);
|
|
}
|
|
|
|
}
|
|
}
|