Files
TaiWan/Assets/ZX/ZX10/XMZJ.cs

119 lines
2.9 KiB
C#
Raw Normal View History

2025-10-31 15:20:38 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using System.Linq;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public class XMZJ : MonoBehaviour
{
public static XMZJ Instance;
private void Awake()
{
Instance = this;
}
/// <summary>
/// <20><>Ҫ<EFBFBD><D2AA><EFBFBD>صĶ<D8B5><C4B6><EFBFBD>
/// </summary>
public GameObject[] objsToHide;
/// <summary>
/// <20><><EFBFBD>ذ<EFBFBD>ť
/// </summary>
public GameObject objReturn;
/// <summary>
/// <20><><EFBFBD>պ<EFBFBD><D5BA>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCA3><EFBFBD>պ<EFBFBD>
/// </summary>
public Material[] skyboxs;
/// <summary>
/// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ0<CEAA><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
int currentXMZJIndex;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ׺
/// </summary>
string xmzjScenePre = "XMZJ_Scene";
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public void ReturnToMain()
{
foreach (var obj in objsToHide)
{
obj.SetActive(true);
}
objReturn.SetActive(false);
RenderSettings.skybox = skyboxs[0];
SceneLoader.Instance.SetCameraPosition(new Vector3(20, 0.515f, 48), new Vector3(0, -10, 0));
BundleLoader.Instance.UnLoadCurrentScene();
currentXMZJIndex = 0;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCA3><EFBFBD><EFBFBD>
/// </summary>
/// <param name="index"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
public void LoadXMZJ(int index)
{
if (currentXMZJIndex != index)
{
BaseController.CanControl = false;
currentXMZJIndex = index;
string sceneName = xmzjScenePre + currentXMZJIndex;
BundleLoader.Instance.LoadScene(Application.isEditor ? sceneName + "_win" : sceneName, sceneName, XMZJLoaded);
}
}
/// <summary>
/// <20><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
void XMZJLoaded()
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD>
RenderSettings.skybox = skyboxs[currentXMZJIndex];
foreach (var obj in objsToHide)
{
obj.SetActive(false);
}
objReturn.SetActive(true);
// ж<>ؾɳ<D8BE><C9B3><EFBFBD><EFBFBD><EFBFBD>Դ
BundleLoader.Instance.UnLoadOldScene();
SetCameraPosition();
SceneManager.SetActiveScene(SceneManager.GetSceneByName(xmzjScenePre + currentXMZJIndex));
BaseController.CanControl = true;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BCA3><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ĭ<EFBFBD><C4AC>λ<EFBFBD><CEBB>
/// </summary>
void SetCameraPosition()
{
GameObject objSP = GameObject.Find("StartPosition" + currentXMZJIndex);
if (objSP != null)
{
CommonData.MainCamera.gameObject.SetActive(false);
CommonData.MainCamera.transform.position = objSP.transform.position;
CommonData.MainCamera.transform.rotation = objSP.transform.rotation;
CommonData.MainCamera.gameObject.SetActive(true);
}
}
}