複数のクラスでtimescaleを操作するとお互いに干渉し合ってうまく動作しないので
初めに読み込まれるシーンにTimeScaleControllerクラスを作成してTimeScaleControllerという名前のオブジェクトを作成し、これにさっきのクラスをアタッチしてシーンに配置。
Start()関数にDontDestroyOnLoad(this);関数を書き込みシーン移動後も削除不可能にする。タイムスケールの操作はこのクラスだけでしかしないこと。
こんな感じに
using UnityEngine; using System.Collections; public class TimeScaleController : MonoBehaviour { // Use this for initialization void Start () { DontDestroyOnLoad(this); } // Update is called once per frame void Update () { LeapDeviceConnectStatus LDCS = GameObject.FindObjectOfType(typeof(LeapDeviceConnectStatus)) as LeapDeviceConnectStatus; ContinueWindow CW = GameObject.FindObjectOfType(typeof(ContinueWindow)) as ContinueWindow; if(LDCS && (LDCS.showConnectWarning || LDCS.showFocusWarning) ){ Time.timeScale = 0f; }else if(CW && CW.showContinueWindow){ Time.timeScale = 0f; }else{ Time.timeScale = 1f; } } }