using UnityEngine;
namespace MazeGen
{
///
/// Visual representation of a single monster instance in a room.
/// This is a placeholder using a colored circle - replace with real art later.
///
[RequireComponent(typeof(SpriteRenderer))]
public class MonsterView : MonoBehaviour
{
private MonsterEncounter.MonsterInstance _monsterData;
public void Initialize(MonsterEncounter.MonsterInstance monsterData, Vector2 position)
{
_monsterData = monsterData;
transform.position = position;
transform.localScale = Vector3.one * 0.3f; // Smaller than rooms
var sr = GetComponent();
sr.sprite = RoomView.SharedSquareSprite;
sr.color = _monsterData.Template.Color;
gameObject.name = $"Monster_{_monsterData.Template.MonsterName}";
}
///
/// Called when this monster is defeated - fade out or destroy visually.
///
public void OnDefeated()
{
// Simple fade out and destroy (you can add animations later)
Destroy(gameObject);
}
public MonsterEncounter.MonsterInstance MonsterData => _monsterData;
}
}