using Core.State;
using Core.Triiger;
using Fort23.Core;
using Fort23.UTool;
using GameLogic.Combat.CombatTool;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
using UnityEngine;
namespace GameLogic.Combat.Hero.State
{
    /// 
    /// 再空中飞来飞去撞的时候
    /// 
    public class MagicWeaponMoveState : CombatHeroStateBasic
    {
        public class MagicWeaponMoveStateData : CObject, IStateEnterData
        {
            public bool trigger;
            public float triggerTime;
            public override void ActiveObj()
            {
            }
            public override void DormancyObj()
            {
            }
        }
        private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
        private float speed = 10;
        private IUnRegister OnTriggerEnterEvent;
        protected Vector3 _lastDir;
        protected bool _trigger;
        private float _triggerTime;
        public MagicWeaponMoveState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
        {
            myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
        }
        protected override void ProEnter()
        {
 
            
        }
 
        private void OnTriggerEnter(Collider collider,ITriggerEntity triggerEntity)
        {
            HeroEntityMono heroEntityMono = collider.GetComponent();
            if (heroEntityMono == null )
            {
                return;
            }
            if (!(myCombatMagicWeaponEntity.CombatAIBasic.CurrState is MagicWeaponMoveState))
            {
                return;
            }
        
            
        }
   
        protected void ActiveHero()
        {
        }
        protected override void ProExit()
        {
            OnTriggerEnterEvent.UnRegister();
        }
        public override bool IsUpdateLockTarget()
        {
            return false;
        }
        protected override void ProDispose()
        {
        }
        public string tag { get; }
    }
}