public RuntimeAnimatorController GetAnimator(GeneralBodyPart generalBodyPart, BulletInfo info) { SetupDeathAnimationLoader(); Candidates.Clear(); foreach (DeathAnimationData data in deathAnimationLoader.DeathAnimationDataList) { if (info.LaunchIntoAir) { if (data.LaunchIntoAir) { Candidates.Add(data.Animator); } } else { foreach (GeneralBodyPart part in data.GeneralBodyParts) { if (part == generalBodyPart) { Candidates.Add(data.Animator); break; } } } } return(Candidates[Random.Range(0, Candidates.Count)]); }
private bool IsCollided(AttackInfo info) { foreach (TriggerDetector trigger in control.GetAllTriggers()) { foreach (Collider collider in trigger.CollidingParts) { foreach (string name in info.ColliderNames) { if (name == collider.gameObject.name) { DamagedPart = trigger.generalBodyPart; return(true); } } } } return(false); }
private bool IsCollided(AttackInfo info) { foreach (TriggerDetector trigger in control.GetAllTriggers()) { foreach (Collider collider in trigger.CollidingParts) { foreach (string name in info.ColliderNames) { if (name.Equals(collider.gameObject.name)) { if (collider.transform.root.gameObject == info.Attacker.gameObject) { hitpartName = collider.name; DamagePart = trigger.generalBodyPart; return(true); } } } } } return(false); }