add basic inventory, fading walls

This commit is contained in:
2026-02-17 15:26:34 -06:00
parent 6baa6956bf
commit 7123238daa
30 changed files with 6594 additions and 255 deletions
+42 -6
View File
@@ -1,3 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class StaticCamRoom : MonoBehaviour
@@ -7,19 +10,22 @@ public class StaticCamRoom : MonoBehaviour
public Transform[] objectsToHide;
public float camZoom = 5f;
private void RoomEnter()
public void RoomEnter()
{
StopAllCoroutines();
foreach (var obj in objectsToHide)
{
obj.gameObject.SetActive(false);
StartCoroutine(FadeOutMaterial(0.5f, obj.gameObject));
}
}
private void RoomExit()
public void RoomExit(List<Transform> wallsToKeep)
{
StopAllCoroutines();
foreach (var obj in objectsToHide)
{
obj.gameObject.SetActive(true);
if (!wallsToKeep.Contains(obj))
StartCoroutine(FadeInMaterial(0.5f, obj.gameObject));
}
}
@@ -30,7 +36,7 @@ private void OnTriggerEnter(Collider other)
if (controller != null)
{
controller.SetCurrentPosition(camPosition.position, camZoom);
RoomEnter();
controller.AddToRoomsActive(this);
}
}
@@ -41,7 +47,37 @@ private void OnTriggerExit(Collider other)
if (controller != null)
{
controller.ReturnCameraToHome();
RoomExit();
controller.RemoveFromRoomsActive(this);
}
}
private IEnumerator FadeOutMaterial(float fadeSpeed, GameObject wallObj)
{
Renderer rend = wallObj.GetComponent<Renderer>();
Color matColor = rend.material.color;
if (matColor.a > 1f)
matColor = new Color(matColor.r, matColor.g, matColor.b, 1f);
while (rend.material.color.a > 0f)
{
matColor.a -= Time.deltaTime / fadeSpeed;
rend.material.color = matColor;
yield return null;
}
rend.material.color = new Color(matColor.r, matColor.g, matColor.b, 0f);
}
private IEnumerator FadeInMaterial(float fadeSpeed, GameObject wallObj)
{
Renderer rend = wallObj.GetComponent<Renderer>();
Color matColor = rend.material.color;
while (rend.material.color.a < 1f)
{
matColor.a += Time.deltaTime / fadeSpeed;
rend.material.color = matColor;
yield return null;
}
rend.material.color = new Color(matColor.r, matColor.g, matColor.b, 1f);
}
}