コード例 #1
0
        void DamageAnyNPC(RaycastHit hit)
        {
            bool hasDamagableComponent = false;

            if (hit.collider.CompareTag("Damagable") | hit.collider.CompareTag("Player"))
            {
                hasDamagableComponent = true;
            }

            if (hasDamagableComponent == false)
            {
                return;
            }

            MonoBehaviour[] list = hit.collider.gameObject.GetComponents <MonoBehaviour>();
            foreach (MonoBehaviour mb in list)
            {
                if (mb is IDamageable)
                {
                    IDamageable      damageable = (IDamageable)mb;
                    Damageable_Token token      = new Damageable_Token();
                    token.baseDamage   = TurretDamage;
                    token.damageOrigin = Damageable_Token.DamageOrigin.Player;

                    damageable.TriggerDamage(token);
                }
            }
        }
コード例 #2
0
        void DamageAnyNPC(RaycastHit hit)
        {
            MonoBehaviour[] list = hit.collider.gameObject.GetComponents <MonoBehaviour>();
            foreach (MonoBehaviour mb in list)
            {
                if (mb is IDamageable)
                {
                    IDamageable      damageable = (IDamageable)mb;
                    Damageable_Token token      = new Damageable_Token();
                    token.baseDamage   = TurretDamage;
                    token.damageOrigin = Damageable_Token.DamageOrigin.Player;

                    damageable.TriggerDamage(token);
                }
            }
        }