﻿using JLGames.RocketDriver.Games.RpgMaterial.Common;

namespace JLGames.RocketDriver.Games.RpgMaterial.User
{
    public interface IUserMaterialMod : IUserMaterial
    {
        /// <summary>
        /// Set material type
        /// 设置材料类型
        /// </summary>
        /// <param name="type"></param>
        void SetType(int type);
        
        /// <summary>
        /// Set material id
        /// 设置材料Id
        /// </summary>
        /// <param name="mId"></param>
        void SetMId(int mId);
        
        /// <summary>
        /// Set Material Unique Id
        /// 设置材料唯一Id
        /// </summary>
        /// <param name="uId"></param>
        void SetUId(int uId);

        /// <summary>
        /// Set material quantity
        /// 设置材料数量
        /// </summary>
        /// <param name="num"></param>
        void SetNum(int num);

        /// <summary>
        /// Update material quantity
        /// 更新材料数量
        /// </summary>
        /// <param name="num"></param>
        void UpdateNum(DataNum num);

        /// <summary>
        /// Update material quantity
        /// 更新材料数量
        /// </summary>
        /// <param name="offset"></param>
        void UpdateNum(DataOffset offset);

        /// <summary>
        /// Update material data
        /// 更新扩展数据
        /// </summary>
        /// <param name="data"></param>
        void UpdateData(object data);
    }
}