using UnityEngine; using UnityEngine.UI; using System; using System.Collections; using System.Collections.Generic; using System.Net.WebSockets; using DarkTonic.MasterAudio; using FluffyUnderware.Curvy; using Pathfinding; using TMPro; using TruegearSdk; using Unity.XR.PXR; using UnityEngine.EventSystems; using UnityEngine.XR.Interaction.Toolkit; using Random = UnityEngine.Random; public class GameInit : MonoBehaviour { public static GameInit Ins { get; private set; } public Camera playerCam; public Transform leftHand; public Transform rightHand; public TruegearAndroidConnector androidConnector; public AstarPath aiPath; public Transform showPos; public CurvySpline[] curvySplines; public CurvySpline surroundSpline; public EventSystem eventSystem; [NonSerialized] public GameObject HitUI; [NonSerialized] public GameObject DieUI; public Transform startDoorPos; [NonSerialized] public int gameTime = 60 * 10; public float curGameTime; /// /// 游戏场地 /// public GamePlace gamePlace; public GameKey gameId; [NonSerialized] public Player self; private void Awake() { Ins = this; Application.targetFrameRate = 60; #if !UNITY_EDITOR && UNITY_ANDROID && PICO PXR_MixedReality.EnableVideoSeeThroughEffect(true); #endif } public void CloseLine() { // leftHand.GetComponent().enabled = false; // rightHand.GetComponent().enabled = false; } private void Start() { gameId = GameKey.MRFishingMaster; curGameTime = 0; CloseLine(); } private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { //GameManager.Ins.CreateEnemy(0, Vector3.zero,Vector3.zero); } if (GameManager.Ins.isGamePlay) { curGameTime+=Time.deltaTime; } } public int GetNowTime() { return Mathf.RoundToInt(curGameTime); } // 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 Transform[] GetFishPath() // { // int showFishIndex= Random.Range(0, showFishPos.Length); // int targetFishIndex=showFishIndex+8; // if (targetFishIndex >= showFishPos.Length) // targetFishIndex = showFishIndex - 8; // Transform showFish = showFishPos[showFishIndex]; // Transform targetFish = showFishPos[targetFishIndex]; // Transform[] fishPath = new Transform[2]; // fishPath[0] = showFish; // fishPath[1] = targetFish; // return fishPath; // } public CurvySpline GetFishPath() { return curvySplines[Random.Range(0, curvySplines.Length)]; } }