Implemented new dungeon room sprites for the different states they can be in and zooming.

This commit is contained in:
Max 2025-02-13 17:30:28 +01:00
parent 9633b70828
commit 438d3a9a79
15 changed files with 90787 additions and 14695 deletions

View file

@ -6,12 +6,27 @@ public class PlayerController : MonoBehaviour
private Vector3 _lastMousePosition;
private Camera _camera;
private bool _canMove;
private int _zoomScale = 2;
private void Start() {
_camera = Camera.main;
}
private void Update() {
switch (Input.GetAxis("Mouse ScrollWheel"))
{
case < 0:
_camera.orthographicSize += .1f * _zoomScale;
break;
case > 0:
if (_camera.orthographicSize > .1f * _zoomScale)
{
_camera.orthographicSize -= .1f * _zoomScale;
}
break;
}
CheckMovementInput();
}

View file

@ -30,7 +30,7 @@ public class EmptyRoom : Room
{
roomReward.TriggerGetReward();
}
gameObject.GetComponent<SpriteRenderer>().color =
ColorHelper.AddColorTint(gameObject.GetComponent<SpriteRenderer>().color, Color.grey, 0.5f);
SetExploredGUI();
}
}

View file

@ -10,7 +10,7 @@ public class MonsterRoom : Room
[SerializeField] private GameObject numberTextObject;
[SerializeField] private GameObject healthTickObject;
[SerializeField] private int _health; // Number of times the room needs to be unlocked before becoming explored.
private GameObject[] _healthTicks;
protected override void InitializeRoom() {
base.InitializeRoom();
@ -57,8 +57,8 @@ public class MonsterRoom : Room
{
roomReward.TriggerGetReward();
}
gameObject.GetComponent<SpriteRenderer>().color =
ColorHelper.AddColorTint(gameObject.GetComponent<SpriteRenderer>().color, Color.grey, 0.5f);
SetExploredGUI();
}
}

View file

@ -9,12 +9,15 @@ using UnityEngine.Serialization;
public abstract class Room : MonoBehaviour
{
[SerializeField] private GameObject highlight;
[SerializeField] private GameObject explored;
[SerializeField] private Sprite litRoom;
[FormerlySerializedAs("adjacentRooms")] [SerializeField] public List<GameObject> AdjacentRooms;
public bool IsEntrance;
[SerializeField] protected RoomReward roomReward;
public event EventHandler<Room> RoomExploredByDice;
public static event Action<Room> RoomExploredByTorch;
private Color _roomNumberOriginalColor;
private DicePair _diceSelected;
protected bool _isExplored = false;
@ -39,7 +42,6 @@ public abstract class Room : MonoBehaviour
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start() {
InitializeRoom();
_roomNumberOriginalColor = gameObject.GetComponentInChildren<TextMeshProUGUI>().color;
}
public bool GetRoomExplored()
@ -47,8 +49,21 @@ public abstract class Room : MonoBehaviour
return _isExplored;
}
public void SetRoomLit()
{
gameObject.GetComponent<SpriteRenderer>().sprite = litRoom;
}
public abstract void SetRoomExplored();
protected void SetExploredGUI()
{
explored.SetActive(true);
foreach (GameObject roomObject in AdjacentRooms)
{
roomObject.GetComponent<Room>().SetRoomLit();
}
}
protected virtual void InitializeRoom() {
if (IsEntrance) {
SetPropertiesOfEntrance();
@ -58,16 +73,16 @@ public abstract class Room : MonoBehaviour
protected void HighlightRoomAsOption()
{
gameObject.GetComponentInChildren<TextMeshProUGUI>().color = Color.blue;
highlight.SetActive(true);
}
protected void UnhighlightRoomAsOption()
{
gameObject.GetComponentInChildren<TextMeshProUGUI>().color = _roomNumberOriginalColor;
highlight.SetActive(false);
}
void SetPropertiesOfEntrance() {
gameObject.GetComponent<SpriteRenderer>().color = Color.green;
gameObject.GetComponent<SpriteRenderer>().color = Color.yellow;
IsEntrance = true;
}