protected override void OnExecute() { Vector3 position = agent.transform.position; Vector3 direction = agent.transform.forward; RaycastHit hit; if (Physics.Raycast(position, direction, out hit, distance.value, mask.value)) { Debug.Log(hit.collider.gameObject); AI.AIAgent agent = hit.collider.gameObject.GetComponent <AI.AIAgent>(); if (agent != null) { agent.Kill(); } else { Cannibal cannibal = hit.collider.gameObject.GetComponentInParent <Cannibal>(); if (cannibal != null) { cannibal.Kill(); } else { Bush bush = hit.collider.gameObject.GetComponent <Bush>(); if (bush != null) { bush.KillACannibal(); } } } } EndAction(); }
public override bool perform(GameObject agent) { Debug.Log("Wander go"); Debug.Log(target.name); float distance = Vector3.Distance(target.transform.position, agent.transform.position); AI.AIAgent aiAgent = agent.GetComponent <AI.AIAgent>(); if (distance > 1f) { Vector3 lookAtDir = Vector3.Normalize(target.transform.position - agent.transform.position); var angle = Mathf.Atan2(lookAtDir.y, lookAtDir.x) * Mathf.Rad2Deg; transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); // Vector3 moveDir = lookAtDir * maxVelocity; // aiAgent.transform.LookAt( target.transform ); aiAgent.transform.Translate((Vector2.right) * maxVelocity * Time.deltaTime); } return(true); }
protected virtual void Awake() // Protected: only exists for Children { owner = GetComponent <AIAgent>(); }
protected virtual void Awake() { owner = GetComponent <AIAgent>(); }
public void enter(AIAgent p_self) { mSelf = p_self; }
public WanderState(AIAgent agent, AIState aggroState) { _agent = agent; _aggroState = aggroState; }
public BufferTryBuff(AIAgent agent) { _agent = agent; }
public AdjustPositionToCastIntendedSpell(AIAgent agent, AIState next, AIState fallback) { _agent = agent; _nextState = next; _fallbackState = fallback; }
public float CalculateDetectBoxLenght(AIAgent agent) { return(agent.MinDetectionBoxLenght + (agent.AgentRigid.velocity.sqrMagnitude / (agent.MaxSpeed * agent.MaxSpeed)) * agent.MaxSpeed); }
public DealMeleeDamage(AIAgent agent, AIState nextState, AIState fallback) { _agent = agent; _nextState = nextState; _fallbackState = fallback; }
public WaitAfterIntendedSpellCast(AIAgent agent, AIState next, AIState fallback) { _agent = agent; _nextState = next; _fallbackState = fallback; }