//------------------------------------------------------------------------- public List <_ToolTipContentDetailInfo> getTbToolTipEquipContentDetailText(List <EffectData> list_effect) { List <_ToolTipContentDetailInfo> list_detail = new List <_ToolTipContentDetailInfo>(); foreach (var i in list_effect) { if (i.ListParam == null || i.ListParam.Length <= 0) { continue; } TbDataEffect tb_effect = EbDataMgr.Instance.getData <TbDataEffect>(i.EffectId); Ps.PropOperate op = (Ps.PropOperate) byte.Parse(i.ListParam[0]); string value = tb_effect.FormatDesc.Replace("%s", ""); value += _getOperateStr(op); value += (" " + i.ListParam[1] + " ~ " + i.ListParam[4]); _ToolTipContentDetailInfo content_detail = new _ToolTipContentDetailInfo(); content_detail.detail_type = _eToolTipContentDetailType.NormalLable; content_detail.param = value; list_detail.Add(content_detail); } return(list_detail); }
//------------------------------------------------------------------------- public List <_ToolTipContentDetailInfo> getToolTipEquipContentDetailText(List <EffectData> list_effect, Dictionary <string, IProp> map_prop) { List <_ToolTipContentDetailInfo> list_detail = new List <_ToolTipContentDetailInfo>(); foreach (var i in list_effect) { if (i.ListParam == null || i.ListParam.Length <= 0) { continue; } TbDataEffect tb_effect = EbDataMgr.Instance.getData <TbDataEffect>(i.EffectId); Ps.PropOperate op = (Ps.PropOperate) byte.Parse(i.ListParam[0]); IProp p = null; map_prop.TryGetValue(tb_effect.SelfDefine1, out p); if (p == null) { IProp.setProp <int>(map_prop, tb_effect.SelfDefine1, 0); } Prop <int> prop = (Prop <int>)map_prop[tb_effect.SelfDefine1]; string value = tb_effect.FormatDesc.Replace("%s", ""); value += _getOperateStr(op); value += (" " + prop.get().ToString()); _ToolTipContentDetailInfo content_detail = new _ToolTipContentDetailInfo(); content_detail.detail_type = _eToolTipContentDetailType.NormalLable; content_detail.param = value; list_detail.Add(content_detail); } return(list_detail); }
//------------------------------------------------------------------------- public static bool belongEffect <T>(EffectData effect_data) where T : Effect { TbDataEffect data_effect = EbDataMgr.Instance.getData <TbDataEffect>(effect_data.EffectId); if (data_effect == null) { return(false); } if (typeof(T).Name == data_effect.ScriptName) { return(true); } return(false); }
//------------------------------------------------------------------------- public object operate(string operate_id) { if (operate_id == TbDataItem.MainOperateInfo.OperateId) { var def_actor = EtSrc.getComponentDef <DefActor>(); var effect_context = def_actor.EffectMgr.genEffectContext(); effect_context.caller = EffectCaller.UseItem; effect_context.item = this; effect_context.EtActor = EtSrc; TbDataEffect data_effect = EbDataMgr.Instance.getData <TbDataEffect>( TbDataItem.MainOperateInfo.EffectData.EffectId); return(def_actor.EffectMgr.doEffect(effect_context, data_effect.ScriptName, data_effect.PredefineParamList, TbDataItem.MainOperateInfo.EffectData.ListParam)); } return(null); }
//------------------------------------------------------------------------- public override object excute(EffectMgr effect_mgr, EffectContext effect_context, string[] predefine_param, string[] effect_param) { Item item = effect_context.item; Entity et = effect_context.EtActor; UnitConsumables unit_consumable = (UnitConsumables)item.UnitLink; foreach (var i in unit_consumable.TbDataUnitConsumables.ListEffect) { TbDataEffect data_effect = EbDataMgr.Instance.getData <TbDataEffect>(i.EffectId); effect_mgr.doEffect(effect_context, data_effect.ScriptName, data_effect.PredefineParamList, i.ListParam); } item.ItemData.n -= (byte)item.TbDataItem.MainOperateInfo.SubOverlapNum; return(null); }