2D-Platformer/Assets/Scripts/Systems/DebugSpawnSystem.cs
2022-02-12 12:53:50 +02:00

44 lines
No EOL
1 KiB
C#

using DefaultNamespace.Util;
using System;
using Unity.Entities;
using UnityEngine;
using UnityEngine.AddressableAssets;
using Zenject;
using Hash128 = Unity.Entities.Hash128;
namespace DefaultNamespace
{
public class DebugSpawnSystem : InjectableComponentSystem
{
[Serializable]
public class Settings
{
}
[Inject] private readonly Settings settings;
[Inject(Id = AssetManifest.HealthKit)] private AssetReferenceT<ItemPrefab> helthKit;
protected override void OnSystemUpdate()
{
if (Input.GetKeyDown(KeyCode.BackQuote))
{
Entities.ForEach(
(ref RigidBody2DData playerRigidBody, ref PlayerData playerData) =>
{
var entity = PostUpdateCommands.CreateEntity();
PostUpdateCommands.AddComponent(
entity,
new ItemDropEvent
{
Item = new ItemData(new Hash128(helthKit.AssetGUID), 1),
Pos = playerRigidBody.Position,
Velocity = Vector2.zero,
Inventory = Entity.Null,
ToSlot = -1,
FromSlot = -1
});
});
}
}
}
}