MonsterView.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using UnityEngine;
  2. namespace MazeGen
  3. {
  4. /// <summary>
  5. /// Visual representation of a single monster instance in a room.
  6. /// This is a placeholder using a colored circle - replace with real art later.
  7. /// </summary>
  8. [RequireComponent(typeof(SpriteRenderer))]
  9. public class MonsterView : MonoBehaviour
  10. {
  11. private MonsterEncounter.MonsterInstance _monsterData;
  12. public void Initialize(MonsterEncounter.MonsterInstance monsterData, Vector2 position)
  13. {
  14. _monsterData = monsterData;
  15. transform.position = position;
  16. transform.localScale = Vector3.one * 0.3f; // Smaller than rooms
  17. var sr = GetComponent<SpriteRenderer>();
  18. sr.sprite = RoomView.SharedSquareSprite;
  19. sr.color = _monsterData.Template.Color;
  20. gameObject.name = $"Monster_{_monsterData.Template.MonsterName}";
  21. }
  22. /// <summary>
  23. /// Called when this monster is defeated - fade out or destroy visually.
  24. /// </summary>
  25. public void OnDefeated()
  26. {
  27. // Simple fade out and destroy (you can add animations later)
  28. Destroy(gameObject);
  29. }
  30. public MonsterEncounter.MonsterInstance MonsterData => _monsterData;
  31. }
  32. }