Example #1
0
        //-------------------------------------------------------------------------
        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);
        }
Example #2
0
        //-------------------------------------------------------------------------
        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);
        }
Example #3
0
        //-------------------------------------------------------------------------
        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);
        }
Example #4
0
        //-------------------------------------------------------------------------
        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);
        }