using CommonAI.data;
using CommonAI.Zone.Formula;
using CommonAI.Zone.Instance;
using CommonLang;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XmdsCommonServer.Plugin;
using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
using XmdsCommonServer.XLS.Data;

namespace XmdsCommonSkill.Plugin.FunctionEvent
{
    public class XmdsBattleFunctionEventBase : BattleFunctionEvent
    {

		protected BuffConfig GetBuffConfig()
		{
			BuffConfig config = XmdsDataMgr.GetInstance().GetBuffConfigData(this.GetConfigID());
			base.SetBindBuffID(config.BuffID);
			return config;
		}

		public override int TriggerEvent(IVirtualUnit target, IVirtualUnit sender)
		{
			OnTriggerEvent((XmdsVirtual)target, (XmdsVirtual)sender);

			return mBuff_ID;
		}			

		public override int TriggerEvent(IVirtualUnit target, int value1, int value2, int value3, int value4, int value5, int value6)
		{
			OnTriggerEvent((XmdsVirtual)target, value1, value2, value3, value4, value5, value6);
			return mBuff_ID;
		}

		// 子类选择实现的功能模块
		// 战斗服触发
		protected virtual void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender) {}
		// 传参,一般游戏服触发
		protected virtual void OnTriggerEvent(XmdsVirtual target, int value1, int value2, int value3, int value4, int value5, int value6) {}
	}
}