public void AddDamage(DamageParam param) { if (isActiveAndEnabled) { StartCoroutine("Damage", param); } }
public void SetDamage(DamageParam param) { if (status.SetHP(param.damage) == false) { Death(); } SetDamageEffect(param); SetDamageText(param); SetHpBar(); }
private void SetDamageText(DamageParam param) { UIDamageText damageText = null; if (PoolManager.Instance != null && PoolManager.Instance.GetDamageTextFromPool(out damageText)) { damageText.Init(effectDummy, param); } else { LoadAssetbundle.LoadPrefabCB loadDamageTextPrefabCB = new LoadAssetbundle.LoadPrefabCB(LoadDamageTextCompleteCB); PrefabManager.Instance.LoadPrefab("Effect/Text_Damage", System.Guid.NewGuid(), loadDamageTextPrefabCB, param); } }
private void LoadDamageTextCompleteCB(GameObject gameObj, System.Guid uid, params object[] param) { if (gameObj != null) { GameObject createObj = Instantiate(gameObj) as GameObject; createObj.transform.parent = GameManager.Instance.rootPanelArray[(int)GameManager.eRootPanelType.Type_Effect].transform; createObj.transform.localScale = gameObj.transform.localScale; UIDamageText damageText = createObj.GetComponent <UIDamageText>(); DamageParam damageParam = (DamageParam)param[0]; if (damageText != null) { damageText.Init(effectDummy, damageParam); } } }
private IEnumerator Damage(DamageParam param) { for (int i = 0; i < param.num; i++) { if (status.CheckImmunity(param.type) == false) { SetDamage(param); } else { SetBuffText(SupportString.GetString(1026)); SetDamageEffect(param); } yield return(new WaitForSeconds(param.time)); } }
private void SetDamageEffect(DamageParam param) { SpriteEffect effect = null; if (PoolManager.Instance != null && PoolManager.Instance.GetEffectFromPool(param.GetDamageEffectID, out effect)) { effect.Init(effectDummy); } else { EffectTable.TableRow effectTable = null; if (EffectTable.Instance.FindTable(param.GetDamageEffectID, out effectTable)) { LoadAssetbundle.LoadPrefabCB loadDamageEffectPrefabCB = new LoadAssetbundle.LoadPrefabCB(LoadDamageEffectCompleteCB); PrefabManager.Instance.LoadPrefab(effectTable.effectPath, System.Guid.NewGuid(), loadDamageEffectPrefabCB, effectTable); } } }
public override float GetDamage() { Debug.Log("mob hit damage: " + DamageParam.GetResultStat()); return(base.GetDamage()); }
public void init(DamageParam pDamageParam) { m_pDamageParam = pDamageParam; m_bBlankOut = false; }
private void ShowHurtInfo(DamageParam damage) { if (damage.ignoreDamage != 1) { float num = 0f; if (this.hurtInfo != null) { num = 0.2f; } this.hurtInfo = GameObjectUtil.InstantiateItemAsChildOf(this.hurtInfoPrefab, base.gameObject); if (num != 0f) { Vector3 position = this.hurtInfo.transform.position; position.y += num; this.hurtInfo.transform.position = position; } tk2dTextMesh component = this.hurtInfo.GetComponent<tk2dTextMesh>(); if (damage.amount != 0) { this.SetLastHurtTime(); if (damage.extraDef != 0) { object[] objArray1 = new object[] { string.Empty, damage.amount - damage.extraDef, "(-", damage.extraDef, ")" }; component.text = string.Concat(objArray1); } else { component.text = string.Empty + damage.amount; } component.Commit(); } else if (this.IfNeedShowMiss) { this.SetLastHurtTime(); component.text = "MISS"; component.Commit(); this.ShowMissFX(); } else { UnityEngine.Object.Destroy(this.hurtInfo); return; } this.showingHpNow = this.Ship.hp; this.Ship.UpdateHP(-(damage.amount - damage.extraDef)); this.UpdateAvatar(); this.UpdateHP(true); } }
public void ShowDefenceAsHelper(ShipAttackTypes types, DamageParam dp) { GameObject obj2 = GameObjectUtil.InstantiateItemAsChildOf(this.helpDefeceFXPrefab, base.gameObject); ShipHelpDefencePosition up = ShipHelpDefencePosition.Up; if (dp.extraDefHelper < dp.index) { up = ShipHelpDefencePosition.Down; } obj2.GetComponent<ShowShipDefence>().ShowDefence(this.isEnemy, types, up); }
public void ShowBeAttackedAsHelper(DamageParam hurtAmount, ShipAttackTypes attackedType) { this.ShowBeAttacked(hurtAmount, attackedType); }
public void ShowBeAttacked(DamageParam damage, ShipAttackTypes attackedType) { this.ShowHurtInfo(damage); if ((attackedType != ShipAttackTypes.AntiSubmarine) && (damage.amount != 0)) { if ((attackedType == ShipAttackTypes.AirTorpedo) || (attackedType == ShipAttackTypes.Torpedo)) { this.ShowTorpedoExplode(); } else if (damage.isCritical == 0) { this.ShowNormalSmallExplode(); } else { this.ShowNormalBombExplode(); } } this.SetAttackColor(true); if (attackedType == ShipAttackTypes.Gun) { this.ShowBeGunAttackedShack(); } else { this.ShowBeBombAttackedShake(); } }