public void SetTarget(Entity target)
        {
            if (Target != null)
            {
                return;
            }

            Target = target;

            _moveComp = Target.GetComponent <HexMovementComp>();
            movementGroup.SetActive(_moveComp != null);
            if (_moveComp != null)
            {
                _moveComp.MovementChanged += OnMovementChanged;
                OnMovementChanged();
            }

            _vitalityComp = Target.GetComponent <VitalityComp>();
            vitalityGroup.SetActive(_vitalityComp != null);
            if (_vitalityComp != null)
            {
                _vitalityComp.HealthChanged += OnHealthChanged;
                OnHealthChanged();
            }

            _weaponComp = Target.GetComponent <WeaponComp>();
            weaponGroup.SetActive(false);
            if (_weaponComp != null)
            {
                _weaponComp.StatusChanged += OnWeaponStatusChanged;
                UpdateWeapon();
            }

            nameText.text = Target.name;
        }
        public EntityMovementInputState(InputStateMachine context, Entity entity)
            : base(context)
        {
            Entity    = entity;
            _moveComp = entity.GetComponent <HexMovementComp>();

            _gm  = _locator.GetService <IGameManager>();
            _map = _locator.GetService <IHexMap>();

            _navField = _map.GetNav(new HexNavSettings(_moveComp.Position, _moveComp.jumpHeight));
        }