/// <summary> /// 获取增加生命的相关数据 /// </summary> /// <param name="effectTypeData"></param> /// <returns></returns> private static EffectTypeBean GetEffectDetailsForAddLife(EffectTypeBean effectTypeData) { effectTypeData.effectData = float.Parse(effectTypeData.data); effectTypeData.effectDescribe = string.Format(TextHandler.Instance.manager.GetTextById(501), effectTypeData.data); effectTypeData.spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("ui_effect_addlife_1"); return(effectTypeData); }
private static EffectTypeBean GetEffectDetailsForDamage(EffectTypeBean effectTypeData, Sprite spRemark) { effectTypeData.effectData = int.Parse(effectTypeData.data); effectTypeData.effectDescribe = string.Format(TextHandler.Instance.manager.GetTextById(504), effectTypeData.data); effectTypeData.spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("ui_features_favorability"); effectTypeData.spIconRemark = spRemark; effectTypeData.colorIcon = Color.red; return(effectTypeData); }
/// <summary> /// 获取增加防御力的相关数据 /// </summary> /// <param name="effectTypeData"></param> /// <returns></returns> private static EffectTypeBean GetEffectDetailsForAddDef(EffectTypeBean effectTypeData) { float defRate = float.Parse(effectTypeData.data); effectTypeData.effectData = defRate; effectTypeData.effectDescribe = string.Format(TextHandler.Instance.manager.GetTextById(503), (defRate * 100) + "%"); effectTypeData.spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName("ui_effect_defend_1"); return(effectTypeData); }
/// <summary> /// 检测是否需要延迟 /// </summary> /// <returns></returns> public bool CheckIsDelay() { if (!CheckUtil.ListIsNull(listEffectTypeData)) { for (int i = 0; i < listEffectTypeData.Count; i++) { EffectTypeBean itemData = listEffectTypeData[i]; bool isDelay = EffectTypeEnumTools.CheckIsDelay(itemData); if (isDelay) { return(true); } } } return(false); }
/// <summary> /// 检测是否是延迟执行的效果(用于延迟播放粒子特效) /// </summary> /// <param name="effectTypeData"></param> /// <returns></returns> public static bool CheckIsDelay(EffectTypeBean effectTypeData) { switch (effectTypeData.dataType) { case EffectTypeEnum.AddLife: case EffectTypeEnum.AddLifeRate: case EffectTypeEnum.Damage: case EffectTypeEnum.DamageRate: case EffectTypeEnum.DamageRateForLucky: case EffectTypeEnum.DamageRateForCook: case EffectTypeEnum.DamageRateForSpeed: case EffectTypeEnum.DamageRateForAccount: case EffectTypeEnum.DamageRateForCharm: case EffectTypeEnum.DamageRateForForce: return(true); } return(false); }
/// <summary> /// 获取减少属性相关数据 /// </summary> /// <param name="iconDataManager"></param> /// <param name="effectTypeData"></param> /// <returns></returns> private static EffectTypeBean GetEffectDetailsForSubAttributesRate(EffectTypeBean effectTypeData) { AttributesTypeEnum attributesType = AttributesTypeEnum.Null; string iconStr = ""; switch (effectTypeData.dataType) { case EffectTypeEnum.SubLuckyRate: attributesType = AttributesTypeEnum.Lucky; iconStr = "ui_effect_sub_lucky_2"; break; case EffectTypeEnum.SubCookRate: attributesType = AttributesTypeEnum.Cook; iconStr = "ui_effect_sub_cook_2"; break; case EffectTypeEnum.SubSpeedRate: attributesType = AttributesTypeEnum.Speed; iconStr = "ui_effect_sub_speed_2"; break; case EffectTypeEnum.SubAccountRate: attributesType = AttributesTypeEnum.Account; iconStr = "ui_effect_sub_account_2"; break; case EffectTypeEnum.SubCharmRate: attributesType = AttributesTypeEnum.Charm; iconStr = "ui_effect_sub_charm_2"; break; case EffectTypeEnum.SubForceRate: attributesType = AttributesTypeEnum.Force; iconStr = "ui_effect_sub_force_2"; break; } effectTypeData.effectData = float.Parse(effectTypeData.data); string attributesName = AttributesTypeEnumTools.GetAttributesName(attributesType); effectTypeData.effectDescribe = string.Format(TextHandler.Instance.manager.GetTextById(532), effectTypeData.effectData * 100 + "", attributesName); effectTypeData.spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName(iconStr); return(effectTypeData); }
/// <summary> /// 获取增加属性相关数据 /// </summary> /// <param name="iconDataManager"></param> /// <param name="effectTypeData"></param> /// <returns></returns> private static EffectTypeBean GetEffectDetailsForAddAttributes(EffectTypeBean effectTypeData) { AttributesTypeEnum attributesType = AttributesTypeEnum.Null; string iconStr = ""; switch (effectTypeData.dataType) { case EffectTypeEnum.AddLucky: attributesType = AttributesTypeEnum.Lucky; iconStr = "ui_effect_lucky_1"; break; case EffectTypeEnum.AddCook: attributesType = AttributesTypeEnum.Cook; iconStr = "ui_effect_cook_1"; break; case EffectTypeEnum.AddSpeed: attributesType = AttributesTypeEnum.Speed; iconStr = "ui_effect_speed_1"; break; case EffectTypeEnum.AddAccount: attributesType = AttributesTypeEnum.Account; iconStr = "ui_effect_account_1"; break; case EffectTypeEnum.AddCharm: attributesType = AttributesTypeEnum.Charm; iconStr = "ui_effect_charm_1"; break; case EffectTypeEnum.AddForce: attributesType = AttributesTypeEnum.Force; iconStr = "ui_effect_force_1"; break; } effectTypeData.effectData = float.Parse(effectTypeData.data); string attributesName = AttributesTypeEnumTools.GetAttributesName(attributesType); effectTypeData.effectDescribe = string.Format(TextHandler.Instance.manager.GetTextById(505), effectTypeData.data, attributesName); effectTypeData.spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName(iconStr); return(effectTypeData); }
private static EffectTypeBean GetEffectDetailsForDamageRateForAttributes(EffectTypeBean effectTypeData, Sprite spRemark) { AttributesTypeEnum attributesType = AttributesTypeEnum.Null; switch (effectTypeData.dataType) { case EffectTypeEnum.DamageRateForLucky: attributesType = AttributesTypeEnum.Lucky; break; case EffectTypeEnum.DamageRateForCook: attributesType = AttributesTypeEnum.Cook; break; case EffectTypeEnum.DamageRateForSpeed: attributesType = AttributesTypeEnum.Speed; break; case EffectTypeEnum.DamageRateForAccount: attributesType = AttributesTypeEnum.Account; break; case EffectTypeEnum.DamageRateForCharm: attributesType = AttributesTypeEnum.Charm; break; case EffectTypeEnum.DamageRateForForce: attributesType = AttributesTypeEnum.Force; break; } effectTypeData.effectData = float.Parse(effectTypeData.data); string attibutesName = AttributesTypeEnumTools.GetAttributesName(attributesType); effectTypeData.effectDescribe = string.Format(TextHandler.Instance.manager.GetTextById(521), attibutesName, effectTypeData.data); effectTypeData.colorIcon = Color.red; effectTypeData.spIconRemark = spRemark; effectTypeData.spIcon = AttributesTypeEnumTools.GetAttributesIcon(attributesType); return(effectTypeData); }
/// <summary> /// 设置状态 /// </summary> public void SetEffect(List <MiniGameCombatEffectBean> listEffect) { CptUtil.RemoveChildsByActive(objEffectContainer); //如果没有战斗信息 则隐藏展示栏 if (CheckUtil.ListIsNull(listEffect)) { objEffectContainer.SetActive(false); } else { objEffectContainer.SetActive(true); for (int i = 0; i < listEffect.Count; i++) { MiniGameCombatEffectBean itemEffectData = listEffect[i]; if (itemEffectData.listEffectTypeData != null) { for (int f = 0; f < itemEffectData.listEffectTypeData.Count; f++) { EffectTypeBean effectTypeData = itemEffectData.listEffectTypeData[f]; GameObject objEffectItem = Instantiate(objEffectContainer, objEffectModel); ItemBaseTextCpt itemEffect = objEffectItem.GetComponent <ItemBaseTextCpt>(); Sprite spEffect; if (effectTypeData.spIconRemark != null) { spEffect = effectTypeData.spIconRemark; } else { spEffect = effectTypeData.spIcon; } itemEffect.SetData(spEffect, effectTypeData.colorIcon, "", effectTypeData.effectDescribe); } } } } }
/// <summary> /// 获取前置详情 /// </summary> /// <param name="rewardType"></param> /// <returns></returns> public static EffectTypeBean GetEffectDetails(EffectTypeBean effectTypeData, Sprite spRemark) { switch (effectTypeData.dataType) { case EffectTypeEnum.AddLife: effectTypeData = GetEffectDetailsForAddLife(effectTypeData); break; case EffectTypeEnum.AddLifeRate: effectTypeData = GetEffectDetailsForAddLifeRate(effectTypeData); break; case EffectTypeEnum.AddLucky: case EffectTypeEnum.AddCook: case EffectTypeEnum.AddSpeed: case EffectTypeEnum.AddAccount: case EffectTypeEnum.AddCharm: case EffectTypeEnum.AddForce: effectTypeData = GetEffectDetailsForAddAttributes(effectTypeData); break; case EffectTypeEnum.AddLuckyRate: case EffectTypeEnum.AddCookRate: case EffectTypeEnum.AddSpeedRate: case EffectTypeEnum.AddAccountRate: case EffectTypeEnum.AddCharmRate: case EffectTypeEnum.AddForceRate: effectTypeData = GetEffectDetailsForAddAttributesRate(effectTypeData); break; case EffectTypeEnum.SubLucky: case EffectTypeEnum.SubCook: case EffectTypeEnum.SubSpeed: case EffectTypeEnum.SubAccount: case EffectTypeEnum.SubCharm: case EffectTypeEnum.SubForce: effectTypeData = GetEffectDetailsForSubAttributes(effectTypeData); break; case EffectTypeEnum.SubLuckyRate: case EffectTypeEnum.SubCookRate: case EffectTypeEnum.SubSpeedRate: case EffectTypeEnum.SubAccountRate: case EffectTypeEnum.SubCharmRate: case EffectTypeEnum.SubForceRate: effectTypeData = GetEffectDetailsForSubAttributesRate(effectTypeData); break; case EffectTypeEnum.DefRate: effectTypeData = GetEffectDetailsForAddDef(effectTypeData); break; case EffectTypeEnum.Damage: effectTypeData = GetEffectDetailsForDamage(effectTypeData, spRemark); break; case EffectTypeEnum.DamageRateForLucky: case EffectTypeEnum.DamageRateForCook: case EffectTypeEnum.DamageRateForSpeed: case EffectTypeEnum.DamageRateForAccount: case EffectTypeEnum.DamageRateForCharm: case EffectTypeEnum.DamageRateForForce: effectTypeData = GetEffectDetailsForDamageRateForAttributes(effectTypeData, spRemark); break; } return(effectTypeData); }