예제 #1
0
    public override bool CreateUnitController(Vector3 position)
    {
        if (_gridController.GetGridTile(position).IsLocked)
        {
            return(false);
        }

        UnitBehaviour behaviourInstance = UnityEngine.Object.Instantiate(_unitBehaviourPrefab, position + GlobalData.GlobalVectors.POSITION_OFFSET, Quaternion.identity);

        IdleState idleState = new IdleState()
        {
            CurrentTile = _gridController.GetGridTile(position)
        };

        AIUnitController unit = new AIUnitController(null, behaviourInstance, idleState);

        idleState.SetParent(unit);
        idleState.OnStateEnter();

        //idleState.CurrentTile.LockTile();

        unit.UnitIndex = _units.Count;
        _units.Add(unit);



        return(true);
    }