Готовый вариант проекта под сдачу
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
public class PressAnyKey : MonoBehaviour
|
||||
{
|
||||
// Сюда в инспекторе перетащи метод LoadSceneFromList из прошлого скрипта
|
||||
// Или любое другое действие
|
||||
public UnityEvent OnAnyKeyPressed;
|
||||
|
||||
void Update()
|
||||
{
|
||||
// Проверяем, нажата ли любая клавиша или кнопка мыши
|
||||
if (Input.anyKeyDown)
|
||||
{
|
||||
OnAnyKeyPressed.Invoke();
|
||||
|
||||
// Опционально: отключаем скрипт после срабатывания,
|
||||
// чтобы не спамить переходами
|
||||
this.enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 45f130d2b84c9574cbc6595aa20424c2
|
||||
@@ -0,0 +1,27 @@
|
||||
using UHFPS.Runtime;
|
||||
using UnityEngine;
|
||||
|
||||
public class FinishZone : MonoBehaviour
|
||||
{
|
||||
[Header("Настройки")]
|
||||
public GameObject victoryPanel; // Панель победы
|
||||
public GameObject Gameui;
|
||||
public CanvasGroup WinPanel;
|
||||
public GameObject player; // Скрипт управления игроком
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
// Проверка тега игрока [1]
|
||||
if (other.CompareTag("Player"))
|
||||
{
|
||||
// Активация UI [2]
|
||||
victoryPanel.SetActive(true);
|
||||
|
||||
// Отключение управления [3]
|
||||
player.SetActive(false);
|
||||
Gameui.SetActive(false);
|
||||
WinPanel.alpha = 1.0f;
|
||||
WinPanel.interactable = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd28aa21a98fbef42a1701817a2d2533
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class SceneSwitcher : MonoBehaviour
|
||||
{
|
||||
// Список названий сцен, который ты заполнишь в инспекторе
|
||||
public List<string> sceneList;
|
||||
|
||||
// Метод, который мы будем вызывать
|
||||
public void LoadSceneFromList(int index)
|
||||
{
|
||||
// Проверка, что индекс не выходит за границы списка
|
||||
if (index >= 0 && index < sceneList.Count)
|
||||
{
|
||||
SceneManager.LoadScene(sceneList[index]);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Индекс сцены вне диапазона списка!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 63cb8efe90d46e941b1866522a55cc6d
|
||||
@@ -0,0 +1,22 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class UnlockCursor : MonoBehaviour
|
||||
{
|
||||
void Awake()
|
||||
{
|
||||
// Разблокируем курсор
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
// Делаем его видимым
|
||||
Cursor.visible = true;
|
||||
}
|
||||
|
||||
// На случай, если какой-то другой скрипт попытается залочить его в Update
|
||||
void LateUpdate()
|
||||
{
|
||||
if (Cursor.lockState != CursorLockMode.None)
|
||||
{
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
Cursor.visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1f01f3c24f6a1ac468e5c8f0413df37a
|
||||
Reference in New Issue
Block a user