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); }