Exemple #1
0
    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();
    }
Exemple #2
0
    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);
    }
Exemple #3
0
 protected virtual void Awake() // Protected: only exists for Children
 {
     owner = GetComponent <AIAgent>();
 }
 protected virtual void Awake()
 {
     owner = GetComponent <AIAgent>();
 }
Exemple #5
0
 public void enter(AIAgent p_self)
 {
     mSelf = p_self;
 }
Exemple #6
0
 public WanderState(AIAgent agent, AIState aggroState)
 {
     _agent      = agent;
     _aggroState = aggroState;
 }
Exemple #7
0
 public BufferTryBuff(AIAgent agent)
 {
     _agent = agent;
 }
 public AdjustPositionToCastIntendedSpell(AIAgent agent, AIState next, AIState fallback)
 {
     _agent         = agent;
     _nextState     = next;
     _fallbackState = fallback;
 }
Exemple #9
0
 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;
 }