public List <Point2> GetCanMovePoint(Unit _unit) { List <Point2> standingList = CompornentUtility.FindCompornentOnScene <UnitManager>().GetStandingPoints(); List <Point2> canMovePoints = new List <Point2>(); Point2 pivot = _unit.pos; int moveRange = _unit.GetUnitStatus.moveRange; var crossPoints = StageUtility.GetCrossPoint(pivot, moveRange); foreach (var point in crossPoints) { //既にunitがいた場合continue if (standingList.Contains(point)) { continue; } //たどり着けるかチェック var pathList = pathCreater.GetPath(_unit.pos, point, _unit.GetUnitStatus.stepHeight); if (pathList == null) { continue; } //unitの設定歩数で行けるかチェック if (pathList.Count > moveRange) { continue; } canMovePoints.Add(point); } return(canMovePoints); }
private void Awake() { mover = new Mover(this); maxUnitStatus = unitStatus; CompornentUtility.FindCompornentOnScene <UnitManager>().AddUnit(this); CompornentUtility.FindCompornentOnScene <SetUpManager>().AddSetUpAction(SetUp); }
void SetUp() { var unit = CompornentUtility.FindCompornentOnScene <UnitSelector>().ActivUnit; unitBehaviour = new MoveBehaviour(unit); unitBehaviour.SetUp(); }
public static List <Point2> GetCrossPoint(Point2 pivot_point, int _range) { Point2 pivot = pivot_point; int moveRange = _range; var blocks = CompornentUtility.FindCompornentOnScene <BattleStage>().Blocks; var pointList = new List <Point2>(); for (int i = pivot.x - moveRange; i <= pivot.x + moveRange; i++) { for (int k = pivot.y - moveRange; k <= pivot.y + moveRange; k++) { var point = new Point2(i, k); //十字チェック if (!IsInnerOnCross(point, pivot, moveRange)) { continue; } //blockがあるかチェック if (!blocks.ContainsKey(point)) { continue; } pointList.Add(point); } } return(pointList); }
// Use this for initialization void Start() { var sc = CompornentUtility.FindCompornentOnScene <StageCreater>(); sc.CreateStage(); var bs = CompornentUtility.FindCompornentOnScene <BattleStage>(); CompornentUtility.FindCompornentOnScene <PathCreater>().CreateNodes(bs.Blocks); }
public GameObject PopPanel(Point2 _point) { var battleStage = CompornentUtility.FindCompornentOnScene <BattleStage>(); Vector3 pos = battleStage.GetBlockPosition(_point); var obj = Instantiate(LightPanelPre); obj.transform.position = pos; return(obj); }
// Update is called once per frame private void Update() { if (unitBehaviour.Update()) { unitBehaviour.End(); CompornentUtility.FindCompornentOnScene <TurnManager>().NextTurn(); UnitSetUp(); } }
public void SetUp() { var lpp = CompornentUtility.FindCompornentOnScene <LightPanelPopper>(); var unitMoveChecker = CompornentUtility.FindCompornentOnScene <UnitMoveChecker>(); canMovePoints = unitMoveChecker.GetCanMovePoint(unit); foreach (var p in canMovePoints) { lpp.ActiveOn(p, Color.blue); } }
public void SetUp() { var lpp = CompornentUtility.FindCompornentOnScene <LightPanelPopper>(); var unitMoveChecker = CompornentUtility.FindCompornentOnScene <UnitMoveChecker>(); canMovePoints = unitMoveChecker.GetCanMovePoint(unit); foreach (var i in canMovePoints) { panelList.Add(lpp.PopPanel(i)); } }
void CreatePanels() { var bs = CompornentUtility.FindCompornentOnScene <BattleStage>(); foreach (var b in bs.Blocks) { var bp = Instantiate(LightPanelPre); bp.transform.position = b.Value.transform.position; panelDic.Add(b.Key, bp); bp.SetActive(false); } }
IEnumerator OneMove(Point2 next_point) { var bStage = CompornentUtility.FindCompornentOnScene <BattleStage>(); var sub = bStage.GetBlockPosition(next_point) - myUnit.transform.position; float sec = 0; while (sec <= 1.0f) { myUnit.transform.position += sub * Time.deltaTime * moveSpeed; sec += Time.deltaTime * moveSpeed; yield return(null); } }
void BehaviourSetUp() { TurnManager.Instance.NextTurn(); var unit = CompornentUtility.FindCompornentOnScene <UnitSelector>().ActivUnit; if (unit.Army == PlayerInfo.Instance.team) { unitBehaviour = new MoveBehaviour(unit); } else { } unitBehaviour.SetUp(); }
public void CreateStage() { battleStage = CompornentUtility.FindCompornentOnScene <BattleStage>(); for (int x = 0; x < map.GetLength(0); x++) { for (int y = 0; y < map.GetLength(1); y++) { int mapType = map[x, y]; int mapHeight = heightmap[x, y]; GameObject blockPre = GetPreBlock(mapType); Point2 blockPoint = new Point2(x, y); CreateBlock(blockPre, blockPoint, mapHeight); } } }
public void MoveToPoint(Point2 _point) { if (isMoving) { return; } PathCreater pathCre = CompornentUtility.FindCompornentOnScene <PathCreater>(); var path = pathCre.GetPath(myUnit.pos, _point, myUnit.GetMaxUnitStatus.stepHeight); if (path != null) { myUnit.pos = _point; myUnit.StartCoroutine(MoveRoutine(path)); } }
void BehaviourSetUp() { TurnManager.Instance.NextTurn(); var unit = CompornentUtility.FindCompornentOnScene <UnitSelector>().ActivUnit; unitBehaviour = new MoveBehaviour(unit); //if (unitBehaviour!=null&&unitBehaviour.GetType() == typeof(MoveBehaviour)) //{ // unitBehaviour = new AttackBehaviour(unit); //} //else //{ // TurnManager.Instance.NextTurn(); // unitBehaviour = new MoveBehaviour(unit); //} unitBehaviour.SetUp(); }
private void Awake() { battleStage = CompornentUtility.FindCompornentOnScene <BattleStage>(); pathCreater = CompornentUtility.FindCompornentOnScene <PathCreater>(); }
void SetUp() { transform.position = CompornentUtility.FindCompornentOnScene <BattleStage>().GetBlockPosition(pos); }
private void SetUpTurn() { var unitManager = CompornentUtility.FindCompornentOnScene <UnitManager>(); turn.SetList(unitManager.GetArmyList()); }
private void Awake() { CompornentUtility.FindCompornentOnScene <SetUpManager>().AddSetUpAction(CreatePanels); }
public void End() { var lpp = CompornentUtility.FindCompornentOnScene <LightPanelPopper>(); lpp.AllActiveOff(); }
// Use this for initialization private void Awake() { CompornentUtility.FindCompornentOnScene <SetUpManager>().AddSetUpAction(SetUp); StartCoroutine(BehaviourRoutine()); }
// Use this for initialization void Start() { turnManager = CompornentUtility.FindCompornentOnScene <TurnManager>(); unitManager = CompornentUtility.FindCompornentOnScene <UnitManager>(); }
public void Effect(List <Point2> p_list) { var units = CompornentUtility.FindCompornentOnScene <UnitManager>().GetStandingUnits(p_list); Effect(units); }
private void Start() { myUnit = GetComponent <CharacterUnit>(); agent = GetComponent <NavMeshAgent>(); unitlists = CompornentUtility.FindCompornentOnScene <UnitListCabinet>(); }
// Use this for initialization private void Start() { CompornentUtility.FindCompornentOnScene <SetUpManager>().AddSetUpAction(UnitSetUp); }