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); } }
public void UpdateAll(OtherNPCState characterState, Animator animator, AnimatorStateInfo stateInfo) { foreach (NPCStateData d in ListAbilityData) { d.UpdateAbility(characterState, animator, stateInfo); } }
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); } }
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; }
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; } } }
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); } }
public override void OnExit(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo) { }
public abstract void UpdateAbility(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo);
public abstract void OnExit(OtherNPCState npcState, Animator animator, AnimatorStateInfo stateInfo);