public EMCharacter Spawn()
    {
        var result = _characterInfo.GetCharacter(_battleGrid);

        if (_startFromEnd)
        {
            result.SetPosition(_battleGrid.GetWidth() - 1, 0, updatePawnPosition: true);
        }

        result.MoveBy(_startOffsetX, _startOffsetY);

        _spawnedCharacter = result;
        var weapon = _startingWeaponInfo.GetItem();

        weapon.SetCharacter(_spawnedCharacter);
        weapon.Apply();
        //_spawnedCharacter.Inventory.SetArmSlotItem( ArmSlotType.Primary, _startingWeaponInfo.GetItem() );

        return(result);
    }