using System.Collections; using System.Collections.Generic; using Sirenix.OdinInspector; using TMPro; using UnityEngine; using UnityEngine.Serialization; using Event = AK.Wwise.Event; [CreateAssetMenu(fileName = "BasePrefabsCollection", menuName = "Ichni/BasePrefabsCollection", order = 0)] public partial class BasePrefabsCollection : SerializedScriptableObject { [Title("基础预制体")] public GameObject emptyObject; public GameObject elementFolder; public GameObject gameCamera; [Title("Track相关")] public GameObject track; public GameObject trackDisplay; public GameObject pathNode; public Material defaultTrackMaterial; public GameObject particleTracker; public GameObject crossTrackPoint; public GameObject trackPercentPoint; public GameObject trackHeadPoint; [Title("Trail相关")] public GameObject trail; public Material defaultTrailMaterial; [Title("Note 相关")] public GameObject tapNote; public GameObject stayNote; public GameObject holdNote; public GameObject flickNote; [Title("Note 判定UI")] public GameObject fullscreenNearTimeHint; public GameObject areaHint; public GameObject triggerHint; [Title("Effect相关")] public Material defaultParticleMaterial; public GameObject particleEmitter; [Title("Background相关")] public Sprite defaultBackground; public Material defaultSkyboxMaterial; [Title("音频相关")] public GameObject audioEventObject; public Dictionary noteSounds; [Title("字体")] public Dictionary fonts; [Title("Debug")] public GameObject judgeRankHint; public GameObject tapInputMark; public GameObject touchInputMark; public GameObject directionalSwipeInputMark; public GameObject genericSwipeInputMark; public GameObject inputEndMark; public GameObject inputCanceledMark; } public partial class BasePrefabsCollection { public void PrepareAudios() { foreach (KeyValuePair sound in noteSounds) { AkUnitySoundEngine.PrepareEvent(AkPreparationType.Preparation_Load, new uint[] { sound.Value.PlayingId }, 1); } } }