public override void Targeting() { if (player) { Target = player.Target; } else { base.Targeting(); } }
public void Disable() { if (!Behaviour) { throw new NullReferenceException(); } Behaviour.Health.onValueChanged.RemoveListener(OnHealthValueChanged); Behaviour = null; gameObject.SetActive(false); }
public void Initialize(CKWBehaviour behaviour) { if (Behaviour) { Disable(); } Behaviour = behaviour; uft.target = Behaviour.Tr; Behaviour.Health.onValueChanged.AddListener(OnHealthValueChanged); UpdateArrowColor(); OnHealthValueChanged(Behaviour.Health); gameObject.SetActive(true); }
public Team GetTeamRelative(CKWBehaviour behaviour) { if (!behaviour) { throw new ArgumentNullException("behaviour"); } else if ( Team != Team.Independent && behaviour.Team == Team.Independent || Team == Team.Independent && behaviour.Team != Team.Independent ) { return(Team.Independent); } else if (Team == behaviour.Team) { return(Team.Ally); } else { return(Team.Enemy); } }
public void ShootControl(CKWBehaviour target) { if (target) { switch (GetTeamRelative(target)) { case Team.Independent: ShootStopAll(); break; case Team.Ally: ShootStopAll(); break; case Team.Enemy: ShootStartAll(); break; } } else { ShootStopAll(); } }
public float CalculatePriority(CKWBehaviour behaviour) { return(priority + Vector3.Distance(Tr.position, behaviour.Tr.position) * distanceStrength); }