using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using pomelo.connector;
using CommonLang.Property;
using pomelo.area;

namespace XmdsBotTest.Runner
{
    public class ModuleSkill : BotRunner.RunnerModule
    {
        public ModuleSkill() {
            module_name = "技能";
        }
        public ModuleSkill(BotRunner r) : base(r)
        {
        }
        protected internal override void OnGateBindPlayer(BindPlayerResponse e)
        {
            base.OnGateBindPlayer(e);
        }
        protected internal override void OnBattleActorReady(CommonAI.ZoneClient.ZoneLayer layer, CommonAI.ZoneClient.ZoneActor actor)
        {
            layer.AddTimeDelayMS(Config.CheckIntervalMS, (t) =>
            {
                if (Enable)
                {
                    
                }
            });
            layer.AddTimePeriodicMS(Config.CheckIntervalMS, (t) =>
            {
                if (Enable)
                {
                    try_get_skill_list();
                }
            });
        }
        private void try_get_skill_list()
        {
            client.GameSocket.skillHandler.getAllSkillRequest(
                    (err, rsp) =>
                    { });
        }
        [Desc("技能配置")]
        [Expandable]
        public class Config : ConfigBase
        {
            [Desc("技能检测间隔")]
            public static int CheckIntervalMS = 5000;

            public override string ToString()
            {
                return "技能配置";
            }

            public override void popG2DPropertyDialog()
            {
                CommonFroms.G2D.G2DPropertyDialog<ModuleSkill.Config>.Show("修改配置", this);
            }
        }
    }
}