This commit is contained in:
2026-05-30 11:38:55 +07:00
4159 changed files with 3542217 additions and 241 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a48b89f983fff0642987cca2cb779dd4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View 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;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1180f4b733c7599498f6eb4e77848e23

8
Assets/Scripts/Trap.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 82bfa2ea8f45df942b2e9d2855a5ff6e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View 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();
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ca1a9a3813a058946990c84846f54c17