// using System.Collections; // using System.Collections.Generic; // using UnityEngine; // using UnityEngine.UI; // using UnityEditor; // using UnityEngine.Video; // using UnityEngine.InputSystem; // public class CGAdministrator : MonoBehaviour // { // // Start is called before the first frame update // //CG管理员相关代码 // private RawImage rawImage; // [Tooltip("记录这个场景中的所有CG,要加的话直接扩容数组,并往新的CG里面加内容")][SerializeField] // private ACG[] CGs; // private IndexRecoder indexRecoder; // private ACG playingCG;//正在播放的CG,因为invoke无法传参而存在 // void Start() // { // rawImage = GetComponent(); // indexRecoder = FindObjectOfType(); // rawImage.CrossFadeAlpha(0,0,true);//为了淡入显示,必须先把它的阿尔法值降到0,对吧? // //好像可以让它自己找到所有CG // CGs = new ACG[transform.childCount]; // for(int i = 0; i < transform.childCount; i++) // { // CGs[i] = transform.GetChild(i).GetComponent(); // } // // // // // //CallACG("暂用"); // // // } // // Update is called once per frame // void Update() // { // } // //外部呼叫CG用,传入你要调用的CG名 // public void CallACG(string CGName) // { // //当外面叫了一个CG,传入CG名 // foreach(ACG CG in CGs) // { // //找到这个CG // if(CG.CGName.Equals(CGName)) // { // Debug.Log("正在显示CG:"+CG.name); // rawImage.texture = CG.texture;//把CG的内容装载上 // rawImage.CrossFadeAlpha(1,indexRecoder.CGFadeTime,true);//淡入显示CG // playingCG = CG; // try // { // CG.GetComponent().Play();//开始播放这个CG // FindObjectOfType().SwitchCurrentActionMap("NullMap");//使玩家无法操作 // } // catch(System.NullReferenceException) // { // Debug.Log("播放CG失败,看看赋值对不对"); // } // Invoke("StopIt",CG.time); // } // } // } // //改变标记,使管理员意识到CG该停了 // private void StopIt(){rawImage.CrossFadeAlpha(0f,indexRecoder.CGFadeTime,true);//淡出CG // playingCG.OnEnded();}//告诉这个CG它结束了,然后触发它的结束事件 // // //制造一个只读的变量,不要动这些 // // public class ReadOnlyAttribute : PropertyAttribute{} // // [CustomPropertyDrawer(typeof(ReadOnlyAttribute))] // // public class ReadOnlyDrawer : PropertyDrawer // // { // // public override float GetPropertyHeight(SerializedProperty property, GUIContent label) // // { // // return EditorGUI.GetPropertyHeight(property, label, true); // // } // // public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) // // { // // GUI.enabled = false; // // EditorGUI.PropertyField(position, property, label, true); // // GUI.enabled = true; // // } // // } // // // // }