Merge branch 'main' of https://scove-vault.duckdns.org/scove/HALLUCINATION
This commit is contained in:
8
Assets/Scripts/Manager.meta
Normal file
8
Assets/Scripts/Manager.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a48b89f983fff0642987cca2cb779dd4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
35
Assets/Scripts/Manager/GameManager.cs
Normal file
35
Assets/Scripts/Manager/GameManager.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using Fusion;
|
||||
using TMPro;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class GameManager : NetworkBehaviour
|
||||
{
|
||||
public Text gameOverText; // Reference to the Game Over text UI element
|
||||
|
||||
private bool isGameOver = false; // Flag to check if the game is over
|
||||
|
||||
private void Start() {
|
||||
if (gameOverText != null) {
|
||||
// Ensure the Game Over text is hidden at the start of the game
|
||||
gameOverText.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
public void TriggerGameOver() {
|
||||
if (!isGameOver) {
|
||||
// Mark the game as over
|
||||
isGameOver = true;
|
||||
|
||||
if (gameOverText != null) {
|
||||
// Display the Game Over text
|
||||
gameOverText.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
// Freeze the game by setting the time scale to 0
|
||||
Time.timeScale = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Manager/GameManager.cs.meta
Normal file
2
Assets/Scripts/Manager/GameManager.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1180f4b733c7599498f6eb4e77848e23
|
||||
8
Assets/Scripts/Trap.meta
Normal file
8
Assets/Scripts/Trap.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 82bfa2ea8f45df942b2e9d2855a5ff6e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
49
Assets/Scripts/Trap/TeleportTrap.cs
Normal file
49
Assets/Scripts/Trap/TeleportTrap.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
public class TeleportTrap : MonoBehaviour {
|
||||
|
||||
|
||||
private Vector3 GetRandomPosition() {
|
||||
Vector3 randomPosition;
|
||||
int attempts = 0;
|
||||
|
||||
do {
|
||||
// Generate random X and Z positions rounded to nearest 10, then offset by 5
|
||||
float x = Mathf.Round(Random.Range(-45f, 45f) / 10f) * 10f + 5f;
|
||||
float z = Mathf.Round(Random.Range(-45f, 45f) / 10f) * 10f + 5f;
|
||||
|
||||
// Fixed Y position for traps
|
||||
randomPosition = new Vector3(x, 3.5f, z);
|
||||
|
||||
attempts++;
|
||||
if (attempts > 100) {
|
||||
Debug.LogWarning("No valid position found for the death trap.");
|
||||
|
||||
// Exit if too many attempts are made
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (
|
||||
Physics.CheckBox(randomPosition, new Vector3(2.5f, 3.5f, 2.5f), Quaternion.identity, LayerMask.GetMask("Walls")) || // Check for walls
|
||||
Physics.CheckBox(randomPosition, new Vector3(2.5f, 3.5f, 2.5f), Quaternion.identity, LayerMask.GetMask("Collectible")) || // Check for collectibles
|
||||
Physics.CheckBox(randomPosition, new Vector3(2.5f, 3.5f, 2.5f), Quaternion.identity, LayerMask.GetMask("Player")) // Check for player
|
||||
);
|
||||
|
||||
// Return a valid position for the death trap
|
||||
return randomPosition;
|
||||
}
|
||||
|
||||
private Vector3 GetPositionTeleport() {
|
||||
Vector3 spawnPosition = GetRandomPosition();
|
||||
return spawnPosition;
|
||||
}
|
||||
|
||||
private void OnCollisionEnter(Collision collision)
|
||||
{
|
||||
if (collision.gameObject.CompareTag("Player"))
|
||||
{
|
||||
collision.transform.position = GetPositionTeleport();
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Trap/TeleportTrap.cs.meta
Normal file
2
Assets/Scripts/Trap/TeleportTrap.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca1a9a3813a058946990c84846f54c17
|
||||
Reference in New Issue
Block a user