Ejemplo n.º 1
0
        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)]);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }