Esempio n. 1
0
 public void AddDamage(DamageParam param)
 {
     if (isActiveAndEnabled)
     {
         StartCoroutine("Damage", param);
     }
 }
Esempio n. 2
0
    public void SetDamage(DamageParam param)
    {
        if (status.SetHP(param.damage) == false)
        {
            Death();
        }

        SetDamageEffect(param);
        SetDamageText(param);

        SetHpBar();
    }
Esempio n. 3
0
    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);
        }
    }
Esempio n. 4
0
    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);
            }
        }
    }
Esempio n. 5
0
    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));
        }
    }
Esempio n. 6
0
    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);
            }
        }
    }
Esempio n. 7
0
 public override float GetDamage()
 {
     Debug.Log("mob hit damage: " + DamageParam.GetResultStat());
     return(base.GetDamage());
 }
Esempio n. 8
0
 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();
     }
 }