コード例 #1
0
        public void PopupHitEffect(HitEffectType type, IPhotonBehaviour target)
        {
            if (type == HitEffectType.None)
            {
                return;
            }

            Instantiate(_hitEffectPref[_index[type]], target.transform);
        }
コード例 #2
0
        private void PopupNumber(IAttacker attacker, IPhotonBehaviour targetPhoton, int damage, bool isCritical)
        {
            int damageSkin = 0;

            if (attacker is IDamageSkin)
            {
                damageSkin = ((IDamageSkin)attacker).DamageSkinId;
            }

            NumberPopupEnvironment.Instance.PopupDamage(damage, isCritical, damageSkin, targetPhoton);
        }
コード例 #3
0
        private void PopupNumber(IAttacker attacker, IPhotonBehaviour targetPhoton, int damage, bool isCritical)
        {
            int damageSkin = 0;

            // tmp: IDamageSkin is strange interface
            if (attacker is IDamageSkin skin)
            {
                damageSkin = skin.DamageSkinId;
            }

            NumberPopupEnvironment.Instance.PopupDamage(damage, isCritical, damageSkin, targetPhoton);
        }
コード例 #4
0
        public void PopupDamage(int damage, bool isCritical, int skinId, IPhotonBehaviour damageTaker)
        {
            bool isPhotonOwner = damageTaker.PhotonView.owner == PhotonNetwork.player;

            if (damageTaker is Player && isPhotonOwner)
            {
                PopupNumberByType(NumberPopupType.Take, damage, damageTaker.gameObject);
            }
            else if (isCritical)
            {
                PopupNumberByType(NumberPopupType.Critical, damage, damageTaker.gameObject, skinId);
            }
            else
            {
                PopupNumberByType(NumberPopupType.Hit, damage, damageTaker.gameObject, skinId);
            }
        }
コード例 #5
0
 public void PopupHeal(int quantity, IPhotonBehaviour target)
 {
     PopupNumberByType(NumberPopupType.Heal, quantity, target.gameObject);
 }