Esempio n. 1
0
    public override void UpdateAbility(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo)
    {
        NPCControl c = npcState.GetNPCControl(animator);

        if (c.Move)
        {
            animator.SetBool(NPCControl.TransitionParameter.Move.ToString(), true);
        }

        if (c.Wonder)
        {
            animator.SetBool(NPCControl.TransitionParameter.Wonder.ToString(), true);
        }

        if (c.Float)
        {
            animator.SetBool(NPCControl.TransitionParameter.Float.ToString(), true);
        }

        if (c.CheckForDraggable())
        {
            c.Wonder = true;;
            animator.SetBool(NPCControl.TransitionParameter.Wonder.ToString(), true);
        }
    }
Esempio n. 2
0
 public void UpdateAll(OtherNPCState characterState, Animator animator, AnimatorStateInfo stateInfo)
 {
     foreach (NPCStateData d in ListAbilityData)
     {
         d.UpdateAbility(characterState, animator, stateInfo);
     }
 }
Esempio n. 3
0
    public override void UpdateAbility(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo)
    {
        NPCControl c = npcState.GetNPCControl(animator);

        if (!c.Float)
        {
            animator.SetBool(NPCControl.TransitionParameter.Float.ToString(), false);
        }
    }
Esempio n. 4
0
    public override void OnEnter(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo)
    {
        NPCControl c = npcState.GetNPCControl(animator);

        Instantiate(QuestionMark, new Vector3(c.gameObject.transform.position.x, c.gameObject.transform.position.y + 3f, c.gameObject.transform.position.z), QuestionMark.rotation);

        GameObject closestDrone = c.FindClosestDrone();

        if (closestDrone != null)
        {
            closestDrone.GetComponent <DroneNavAgent>().tracking = true;
            closestDrone.GetComponent <DroneNavAgent>().playerTarget++;
        }

        c.LED.material.color = Color.yellow;
        c.LED.material.SetColor("_EmissionColor", Color.yellow);
        AlertTimer = 5.0f;
    }
Esempio n. 5
0
    public override void UpdateAbility(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo)
    {
        NPCControl c = npcState.GetNPCControl(animator);

        if (c.Wonder)
        {
            AlertTimer -= Time.deltaTime;
            if (AlertTimer <= 0)
            {
                c.LED.material.color = Color.green;
                c.LED.material.SetColor("_EmissionColor", Color.green);

                GameObject closestDrone = c.FindClosestDrone();

                if (closestDrone != null)
                {
                    closestDrone.GetComponent <DroneNavAgent>().playerTarget--;
                }

                animator.SetBool(NPCControl.TransitionParameter.Wonder.ToString(), false);
                c.Wonder = false;
            }
        }
    }
Esempio n. 6
0
    public override void UpdateAbility(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo)
    {
        NPCControl c = npcState.GetNPCControl(animator);

        if (c.Move)
        {
            if (Vector3.Distance(c.Waypoint.position, c.transform.position) < DestroyRadius)
            {
                GameObject closestDrone = c.FindClosestDrone();
                if (closestDrone != null)
                {
                    closestDrone.GetComponent <DroneNavAgent>().npcTargets.Remove("npc" + c.ID);
                }

                animator.SetBool(NPCControl.TransitionParameter.Move.ToString(), false);
                c.Move = false;
                Destroy(c.gameObject);
            }
            else
            {
                Vector3 newDirection = Vector3.RotateTowards(c.transform.position, new Vector3(c.Waypoint.position.x, c.transform.position.y, c.Waypoint.position.z), 1f, 0.0f);
                c.transform.LookAt(new Vector3(c.Waypoint.position.x, c.transform.position.y, c.Waypoint.position.z));
                c.transform.position = Vector3.MoveTowards(c.transform.position, c.Waypoint.transform.position, Time.deltaTime * Speed);
            }
        }
        else
        {
            animator.SetBool(NPCControl.TransitionParameter.Move.ToString(), false);
        }

        if (c.CheckForDraggable())
        {
            c.Wonder = true;;
            animator.SetBool(NPCControl.TransitionParameter.Wonder.ToString(), true);
        }
    }
Esempio n. 7
0
 public override void OnExit(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo)
 {
 }
Esempio n. 8
0
 public abstract void UpdateAbility(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo);
Esempio n. 9
0
 public abstract void OnExit(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo);