Exemplo n.º 1
0
    /// <summary>
    /// 通过保存数据初始化
    /// </summary>
    public virtual void initUseLogicByUseData(MUnitUseLogic logic, MUnitUseData useData, bool needFuncTool, bool needBindPlayer, bool isClientDrive)
    {
        //基础部分
        logic.init(useData, isClientDrive);

        if (needBindPlayer)
        {
            logic.setPlayer(me);
        }

        if (isClientDrive)
        {
            //补满血蓝
            logic.getAttributeLogic().fillHpMp();
            //刷属性
            logic.getAttributeLogic().refreshAttributes();
        }

        if (needFuncTool)
        {
            int funcID = logic.getMUnitFuncID(FunctionType.Equip);
            PlayerEquipContainerTool funcTool = toCreatePlayerEquipContainerTool(funcID);
            //互相绑定
            funcTool.setMUnitLogic(logic);
            logic.setEquipTool(funcTool);

            me.func.addFuncTool(funcTool, useData.equips);
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 移除装备影响(单个装备)
    /// </summary>
    public void removeEquipInfluence(MUnitUseLogic logic, PlayerEquipContainerTool tool, int slot, ItemData data)
    {
        if (CommonSetting.isClientDriveLogic)
        {
            logic.getAttributeLogic().subAttributes(data.config.baseAttributes);
        }

        doEquipActions(logic, tool, slot, data.config.equipActions, false);
    }