private void TakeControlOverTargetAi() { _controlledAi?.WithdrawControl(this); // Not a fan of using the Gun's CreateRay here, as it's not related to the gun. Ray ray = gun.CreateRay(); bool hitSomething = RayCaster.CastRay(ray, float.MaxValue, out RaycastHit hit); if (!hitSomething) { return; } var aiController = hit.transform.GetComponent <BaseAiController>(); if (aiController == null) { return; } _controlledAi = aiController; Logging.Log($"Gotcha, {_controlledAi.name}!"); _controlledAi.TakeControl(this); }
public ControlLost(BaseAiController baseAiController) { this._baseAiController = baseAiController; }
public ControlRegained(BaseAiController baseAiController) { _baseAiController = baseAiController; }