protected override void OnCreate()
    {
        base.OnCreate();

        Enabled = false;

        Addressables.LoadAssetAsync <BattleMapSettings>("Battle Map Settings")
        .Completed += handle =>
        {
            if (handle.Status == AsyncOperationStatus.Succeeded)
            {
                _battleMapSettings = handle.Result;
                _conversionFactor  = 1 / _battleMapSettings.CellSize;
                _cellWidth         = (uint)(_battleMapSettings.MapSize.x / _battleMapSettings.CellSize);

                var numBuckets = _battleMapSettings.MapSize.x * _battleMapSettings.MapSize.y;
                _buckets = new NativeMultiHashMap <uint, Entity>(numBuckets, Allocator.Persistent);
                World.GetOrCreateSystem <UnitMovementSystem>().SetBucketsBuffer(_buckets);
                Enabled = true;
            }
            else
            {
                Debug.LogError("Failed to load battle map settings");
            }
        };
    }
    protected override void OnCreate()
    {
        base.OnCreate();
        Enabled = false;

        Addressables.LoadAssetAsync <BattleMapSettings>("Battle Map Settings")
        .Completed += handle =>
        {
            if (handle.Status == AsyncOperationStatus.Succeeded)
            {
                _battleMapSettings = handle.Result;
                //DebugShowBuckets();
                Enabled = true;
            }
            else
            {
                Debug.LogError("Failed to load battle map settings");
            }
        };
    }