LADXHD/InGame/GameObjects/Things/ObjZZZSpawner.cs
2023-12-14 17:21:22 -05:00

34 lines
1.1 KiB
C#

using Microsoft.Xna.Framework;
using ProjectZ.InGame.GameObjects.Base;
using ProjectZ.InGame.GameObjects.Base.CObjects;
using ProjectZ.InGame.GameObjects.Base.Components;
namespace ProjectZ.InGame.GameObjects.Things
{
internal class ObjZZZSpawner : GameObject
{
private float _spawnCounter;
private const int SpawnTime = 600;
public ObjZZZSpawner() : base("tarin_zzz") { }
public ObjZZZSpawner(Map.Map map, int posX, int posY) : base(map)
{
EntityPosition = new CPosition(posX, posY, 0);
EntitySize = new Rectangle(0, 0, 16, 16);
AddComponent(UpdateComponent.Index, new UpdateComponent(Update));
}
private void Update()
{
_spawnCounter -= Game1.DeltaTime;
if(_spawnCounter < 0)
{
_spawnCounter += SpawnTime;
var objZzz = new ObjZZZ(Map, new Vector2(EntityPosition.X + 8, EntityPosition.Y + 8), new Vector2(1, -1));
Map.Objects.SpawnObject(objZzz);
}
}
}
}