using UnityEngine; using System.Collections.Generic; public class MainMenuView : MonoBehaviour { public Transform _Transform; public Dictionary FlickSpritePairs { get; } = new Dictionary(); public NotePoolManager NotePool { get; private set; } = new NotePoolManager(); //主界面UI的引用 public TopPanelView TopPanel { get; private set; } public LeftPanelView LeftPanel { get; private set; } public ProgressBarView ProgressBar { get; private set; } //可游玩物体的预制件引用 public NoteController NotePrefab { get; private set; } public DragController DragPrefab { get; private set; } public FlickController FlickPrefab { get; private set; } public DataFlowController DataFlowPrefab { get; private set; } public LandMineController LandMinePrefab { get; private set; } //装饰物件的预制件引用 public BeatLinesController BeatLinesPrefab { get; private set; } //右键窗口的预制件引用 public GeneralOptionPanelController GeneralOptionPanel { get; private set; } public BuildingOptionPanelController BuildingOptionPanel { get; private set; } //主界面引导物体的引用 public SelectView MainMenuSelectView { get; private set; } private void Awake() { _Transform = gameObject.GetComponent(); LoadDirationSprites(); LoadPlayObjectViewPrefab(); LoadDecorateObject(); LoadRightClickDialogWindow(); FindPenalView(); LoadGuides(); } /// /// 获得各个面板UI的引用 /// private void FindPenalView() { TopPanel = _Transform.Find("TopPanel").GetComponent(); LeftPanel = _Transform.Find("LeftPanel").GetComponent(); ProgressBar =_Transform.Find("ProgressBar").GetComponent(); } /// /// 用于加载所有可游玩物件的视觉物件 /// private void LoadPlayObjectViewPrefab() { NotePrefab = Resources.Load("NotePrefabs/note"); DragPrefab = Resources.Load("NotePrefabs/Drag"); FlickPrefab = Resources.Load("NotePrefabs/Flick"); DataFlowPrefab = Resources.Load("NotePrefabs/DataFlow"); LandMinePrefab = Resources.Load("NotePrefabs/LandMine"); } /// /// 用于加载FLick所有方向贴图 /// private void LoadDirationSprites() { FlickSpritePairs.Add(FlickDirection.Any, Resources.Load("NoteSprites/AllFlick/AllFlick_0")); FlickSpritePairs.Add(FlickDirection.Up, Resources.Load("NoteSprites/AllFlick/AllFlick_1")); FlickSpritePairs.Add(FlickDirection.RightUp, Resources.Load("NoteSprites/AllFlick/AllFlick_2")); FlickSpritePairs.Add(FlickDirection.Right, Resources.Load("NoteSprites/AllFlick/AllFlick_3")); FlickSpritePairs.Add(FlickDirection.RightDown, Resources.Load("NoteSprites/AllFlick/AllFlick_4")); FlickSpritePairs.Add(FlickDirection.Down, Resources.Load("NoteSprites/AllFlick/AllFlick_5")); FlickSpritePairs.Add(FlickDirection.LeftDown, Resources.Load("NoteSprites/AllFlick/AllFlick_6")); FlickSpritePairs.Add(FlickDirection.Left, Resources.Load("NoteSprites/AllFlick/AllFlick_7")); FlickSpritePairs.Add(FlickDirection.LeftUp, Resources.Load("NoteSprites/AllFlick/AllFlick_8")); } /// /// 加载其他用于装饰的游玩物件 /// private void LoadDecorateObject() { BeatLinesPrefab = Resources.Load("ObjectPrefabs/BeatLine"); } /// /// 加载右键的窗口 /// private void LoadRightClickDialogWindow() { GeneralOptionPanel = Resources.Load("PanelPrefabs/GeneralOptionPanel"); BuildingOptionPanel = Resources.Load("PanelPrefabs/BuildingOptionPanel"); } private void LoadGuides() { MainMenuSelectView = Resources.Load("GuidesPerfabs/Select"); } }