Files
XMen/Assets/Scripts/GameInit.cs
2025-07-02 17:56:55 +08:00

99 lines
2.2 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System;
using System.Collections;
using DarkTonic.MasterAudio;
using TMPro;
using Unity.XR.PXR;
using UnityEngine.XR.Interaction.Toolkit;
public class GameInit : MonoBehaviour
{
public static GameInit Ins { get; private set; }
public Camera playerCam;
public Transform leftHand;
public Transform rightHand;
public AudioSource tc;
[NonSerialized]
public GameObject HitUI;
[NonSerialized]
public GameObject DieUI;
[NonSerialized]
public TMP_Text dieTxt;
/// <summary>
/// 游戏场地
/// </summary>
public GamePlace gamePlace;
[NonSerialized]
public Player self;
public Transform[] movePoses;
private void Awake()
{
Ins = this;
Application.targetFrameRate = 60;
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
PXR_MixedReality.EnableVideoSeeThrough(true);
#endif
}
public void CloseLine()
{
// leftHand.GetComponent<XRRayInteractor>().enabled = false;
// rightHand.GetComponent<XRRayInteractor>().enabled = false;
}
private void Start()
{
CloseLine();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
//GameManager.Ins.CreateEnemy(0, Vector3.zero,Vector3.zero);
}
}
public void PlayAudio(string audioName, Transform tran,bool isAllStop,Action cb=null)
{
StartCoroutine(PlayAudioTro(audioName, tran, isAllStop, cb));
}
public IEnumerator PlayAudioTro(string audioName, Transform tran,bool isAllStop,Action cb=null)
{
if(isAllStop)
MasterAudio.StopAllSoundsOfTransform(tran);
if (audioName != "")
{
MasterAudio.PlaySound3DAtTransform(audioName, tran);
MasterAudioGroup audioGroup = MasterAudio.GrabGroup(audioName);
if (cb != null)
{
while (audioGroup.ActiveVoices>0)
{
yield return new WaitForSeconds(1f);
}
cb?.Invoke();
}
}
}
public void StopAudio(Transform tran)
{
MasterAudio.StopAllSoundsOfTransform(tran);
}
}