private void UseCurrentItem()
        {
            ItemCanShootComponent icsc = (ItemCanShootComponent)this.currentUnit.GetComponent(nameof(ItemCanShootComponent));

            if (icsc != null)
            {
                this.currentInputMode    = InputMode.SelectMapPoint;
                this.currentInputSubMode = InputSubMode.SelectShotTarget;
            }
        }
        public void EntityShootingAtEntity(AbstractEntity shooter, Point shooterPos, AbstractEntity target, Point targetPos)
        {
            CanCarryComponent ccc = (CanCarryComponent)shooter.GetComponent(nameof(CanCarryComponent));

            if (ccc != null && ccc.CurrentItem != null)
            {
                ItemCanShootComponent icsc = (ItemCanShootComponent)ccc.CurrentItem.GetComponent(nameof(ItemCanShootComponent));
                if (icsc != null)
                {
                    MobDataComponent us = (MobDataComponent)shooter.GetComponent(nameof(MobDataComponent));
                    if (us.actionPoints > 0)
                    {
                        this.EntityShotByEntity(shooter, shooterPos.X, shooterPos.Y, target, targetPos.X, targetPos.Y);
                        us.actionPoints -= 50;
                    }
                }
            }
        }