public void Awake() { myMob = GetComponent <Mob>(); var defaultPersona = new AIPersona(); var personas = new[] { defaultPersona, defaultPersona, new AIAttackerPersona(), new AICapturerPersona(), new AIFollowerPersona() }; persona = personas[Random.Range(0, personas.Length)]; activeBehaviour = new AIThink(this, myMob); activeBehaviour.Start(); }
public float GoalPlayerProximityMultiplier(float goalPlayerDistance, AIPersona forPersona) { return(Mathf.Lerp(1f, Mathf.Clamp(goalPlayerDistance, 3f, 20f) / 6f, forPersona.PlayerProximityImportance())); }
public float EnemyPlayerProximityMultiplier(float enemyPlayerDistance, AIPersona forPersona) { return(Mathf.Lerp(1f, Mathf.Clamp(enemyPlayerDistance, 1f, 10f) / 4f, forPersona.PlayerProximityImportance())); }