﻿using JLGames.RocketDriver.CSharp.Event;

namespace JLGames.RocketDriver.Samples.RpgMaterialDemo.Service.GM
{
    public interface IGmService : IEventDispatcher
    {
        /// <summary>
        /// 插入材料
        /// </summary>
        /// <param name="mType"></param>
        /// <param name="mId"></param>
        /// <param name="num"></param>
        void InsertMaterial(int mType, int mId, uint num);

        /// <summary>
        /// 更新材料数量
        /// </summary>
        /// <param name="mType"></param>
        /// <param name="mId"></param>
        /// <param name="num"></param>
        void UpdateMaterial(int mType, int mId, uint num);

        /// <summary>
        /// 删除材料数据
        /// </summary>
        /// <param name="mType"></param>
        /// <param name="id">唯一id或材料Id</param>
        /// <param name="num"></param>
        void DeleteMaterial(int mType, int id, int num);

        /// <summary>
        /// 删除材料数据
        /// </summary>
        /// <param name="mType"></param>
        /// <param name="id">唯一id或材料Id</param>
        void DeleteMaterial(int mType, int id);
    }
}