public void PopupHitEffect(HitEffectType type, IPhotonBehaviour target) { if (type == HitEffectType.None) { return; } Instantiate(_hitEffectPref[_index[type]], target.transform); }
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); }
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); }
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); } }
public void PopupHeal(int quantity, IPhotonBehaviour target) { PopupNumberByType(NumberPopupType.Heal, quantity, target.gameObject); }