﻿namespace JLGames.RocketDriver.Games.RpgMaterial.Service
{
    public class MaterialServiceEvents
    {
        /// <summary>
        /// Newly added user material
        /// 新增加用户材料
        ///
        /// Event data format: MaterialServiceEventData
        /// 数据格式:MaterialServiceEventData
        ///
        /// 0 => n
        /// </summary>
        public const string OnNotifyNew = "MaterialServiceEvents.OnNotifyNew";

        /// <summary>
        /// Clear user material
        /// 清空用户材料
        ///
        /// Event data format: MaterialServiceEventData
        /// 数据格式:MaterialServiceEventData
        ///
        /// n => 0
        /// </summary>
        public const string OnNotifyDel = "MaterialServiceEvents.OnNotifyDel";

        /// <summary>
        /// Inclease user material
        /// 用户材料增加
        ///
        /// Event data format: MaterialServiceEventData
        /// 数据格式:MaterialServiceEventData
        /// </summary>
        public const string OnNotifyIncrease = "MaterialServiceEvents.OnNotifyIncrease";

        /// <summary>
        /// Decrease user material
        /// 用户材料减少
        ///
        /// Event data format: MaterialServiceEventData
        /// 数据格式:MaterialServiceEventData
        /// </summary>
        public const string OnNotifyDecrease = "MaterialServiceEvents.OnNotifyDecrease";

        /// <summary>
        /// Update user material value
        /// 用户材料更新
        ///
        /// Event data format: MaterialServiceEventData
        /// 数据格式:MaterialServiceEventData
        /// </summary>
        public const string OnNotifyUpdate = "MaterialServiceEvents.OnNotifyUpdate";

        /// <summary>
        /// Update user materials
        /// 批量用户材料更新
        /// 
        /// Event data format: MaterialServiceEventData[]
        /// 数据格式:MaterialServiceEventData[]
        /// </summary>
        public const string OnNotifyMultiUpdate = "MaterialServiceEvents.OnNotifyMultiUpdate";

        // --------------------------------------------------

        /// <summary>
        /// Update user material
        /// 用户材料数据更新
        /// 
        /// Event data format: IUserMaterial
        /// 数据格式:IUserMaterial
        /// </summary>
        public const string OnNotifyInstanceUpdate = "MaterialServiceEvents.OnNotifyInstanceUpdate";

        /// <summary>
        /// Update user materials
        /// 批量用户材料数据更新
        /// 
        /// Event data format: IUserMaterial[]
        /// 数据格式:IUserMaterial[]
        /// </summary>
        public const string OnNotifyMultiInstanceUpdate = "MaterialServiceEvents.OnNotifyMultiInstanceUpdate";
    }
}