Пример #1
0
        public float GetDamage(HealthType healthType)
        {
            HealthModifier healthModifier = GetComponentInChildren <HealthModifier>();

            if (healthModifier == null)
            {
                ProjectileLauncher projectileLauncher = GetComponentInChildren <ProjectileLauncher>();
                if (projectileLauncher != null)
                {
                    healthModifier = projectileLauncher.ProjectilePrefab.GetComponent <HealthModifier>();
                }
            }

            if (healthModifier != null)
            {
                float damageValue = healthModifier.DefaultDamageValue;
                for (int i = 0; i < healthModifier.DamageOverrideValues.Count; ++i)
                {
                    if (healthModifier.DamageOverrideValues[i].HealthType == healthType)
                    {
                        damageValue = healthModifier.DamageOverrideValues[i].Value;
                    }
                }
                return(damageValue);
            }
            else
            {
                return(0);
            }
        }
Пример #2
0
        public float GetDamage(HealthType healthType)
        {
            DamageEmitter damageEmitter = GetComponentInChildren <DamageEmitter>();

            if (damageEmitter == null)
            {
                ProjectileLauncher projectileLauncher = GetComponentInChildren <ProjectileLauncher>();
                if (projectileLauncher != null)
                {
                    damageEmitter = projectileLauncher.ProjectilePrefab.GetComponent <DamageEmitter>();
                }
            }

            if (damageEmitter != null)
            {
                for (int i = 0; i < damageEmitter.HealthTypeDamageValues.Count; ++i)
                {
                    if (damageEmitter.HealthTypeDamageValues[i].HealthType == healthType)
                    {
                        return(damageEmitter.HealthTypeDamageValues[i].DamageValue);
                    }
                }
                return(0);
            }
            else
            {
                return(0);
            }
        }
Пример #3
0
        public float GetSpeed()
        {
            ProjectileLauncher projectileLauncher = GetComponentInChildren <ProjectileLauncher>();

            if (projectileLauncher != null)
            {
                return(projectileLauncher.ProjectilePrefab.GetComponent <RigidbodyMover>().Velocity.magnitude);
            }

            BeamController beamController = GetComponentInChildren <BeamController>();

            if (beamController != null)
            {
                return(float.MaxValue);
            }

            return(0);
        }