OneNightDuel/FNAF_Clone/GUI/EnemyUIElement.cs

33 lines
No EOL
1.1 KiB
C#

using System.Linq;
using Microsoft.Xna.Framework;
using MonoGameLibrary.Graphics;
namespace FNAF_Clone.GUI;
public class EnemyUIElement : UIElement {
private int unlitTexturesId;
private bool currentlyLit = true;
public EnemyUIElement(TextureRegion litTexture, TextureRegion unlitTexture, Point position, int drawPriority = 0) : base([litTexture, unlitTexture], position, drawPriority) {
unlitTexturesId = 1;
}
public EnemyUIElement(TextureRegion[] litTextures, TextureRegion[] unlitTextures, Point position, int drawPriority = 0) : base(litTextures.Concat(unlitTextures).ToArray(), position, drawPriority) {
unlitTexturesId = litTextures.Length;
}
public void SetTexture(bool lit, int id) {
currentlyLit = lit;
base.SetTexture(lit ? id : id + unlitTexturesId);
}
public override void SetTexture(int id) {
base.SetTexture(currentlyLit ? id : id + unlitTexturesId);
}
public void SetTexture(bool lit) {
if(lit == currentlyLit) return;
currentlyLit = lit;
SetTexture(lit ? currentTextureId - unlitTexturesId : currentTextureId);
}
}