public static FleeingStrategy CreateComponent(GameObject where, float playerDetectionRange = 5f, float fleeDistance = 5f, float searchDelay = 1f) { FleeingStrategy strategy = where.AddComponent <FleeingStrategy>(); strategy.playerDetectionRange = playerDetectionRange; strategy.fleeDistance = fleeDistance; strategy.searchDelay = searchDelay; strategy.Start(); return(strategy); }
protected virtual void StartFleeing() { Destroy(movingStrategy); movingStrategy = FleeingStrategy.CreateComponent(gameObject); }