/* Assigns target and agent. */ void Start() { agent = GetComponent <SteerForPathComponent>(); if (GameController.player != null) { if (GameController.player.transform) { target = GameController.player.transform; } } StartCoroutine(RunAI()); }
// Use this for initialization public override void Awake() { //just to optimize the transform component lookup m_Transform = transform; m_Controller = GetComponent <ICECreatureControl>(); if (m_Controller != null) { m_Controller.Creature.Move.OnTargetMovePositionReached += OnTargetMovePositionReached; m_Controller.Creature.Move.OnMoveComplete += OnMoveComplete; m_Controller.Creature.Move.OnUpdateMovePosition += OnMoveUpdatePosition; } m_SteerForPathComponent = GetComponent <SteerForPathComponent>(); }
public override bool HandleResult(PathResult result, SteerForPathComponent steerer) { if (result.status != PathingStatus.Complete || !(result.originalRequest.customData is PathAddition)) { return(false); } var pathAdd = (PathAddition)result.originalRequest.customData; if (pathAdd.prepend) { result.path.Push(pathAdd.point.AsPositioned()); } else { result.path.Append(pathAdd.point.AsPositioned()); } return(true); }
public override void OnEnter() { steerForPath = gameObject.Value.GetComponent <SteerForPathComponent>(); unit = gameObject.Value.GetComponent <UnitComponent> (); options = gameObject.Value.GetComponent <PathOptionsComponent> (); }