/// <summary> /// 初始化場景 /// </summary> protected override void InitSceneDo () { //生成Panel _ButtonPanel = this.LoadPrefab("Pfb_Menu_ButtonPanel" ,Sct_DEFCONST.FILE_PATH.MENU_PREFAB_FILE_PATH, Sct_DEFCONST.ANCHOR_SIDE.ANCHOR_BOTTOM); _LogoPanel = this.LoadPrefab("Pfb_Menu_LogoPanel" ,Sct_DEFCONST.FILE_PATH.MENU_PREFAB_FILE_PATH, Sct_DEFCONST.ANCHOR_SIDE.ANCHOR_TOP); _LogoPanel.SetActive(true); _BGPanel = this.LoadPrefab("Pfb_Menu_BGPanel" ,Sct_DEFCONST.FILE_PATH.MENU_PREFAB_FILE_PATH, Sct_DEFCONST.ANCHOR_SIDE.ANCHOR_CENTER); _BGPanel.SetActive(true); _SoundSwitchPanel = this.LoadPrefab("Pfb_Menu_SoundSwitchPanel" ,Sct_DEFCONST.FILE_PATH.MENU_PREFAB_FILE_PATH, Sct_DEFCONST.ANCHOR_SIDE.ANCHOR_TOP); //按鈕 btn_Glob = _ButtonPanel.transform.Find (Sct_DEFCONST.EVENT_OBJ_NAME.GLOB_BUTTON_NAME).gameObject; Sct_UIMgr.instance.setMsgTarget(btn_Glob); //水珠動畫初始設定 now_WaterGlobState = WaterGlobState.NORMAL; sprite_Glob = btn_Glob.transform.Find("Background").GetComponent<UISprite>(); spriteAni_Glob = btn_Glob.transform.Find ("Background").GetComponent<UISpriteAnimation>(); SettingWaterGlob(now_WaterGlobState); //聲音開關按鈕 btn_SoundSwitch = _SoundSwitchPanel.transform.Find ("Btn_SoundSwitch").gameObject; Sct_UIMgr.instance.setMsgTarget(btn_SoundSwitch); sprite_SoundSwitch = btn_SoundSwitch.transform.Find ("Background").GetComponent<UISprite>(); //預設聲音開啟 isSoundOpen = Sct_DEFCONST.IS_SOUND_OPEN; //音樂設定 Sct_MusicManager.Instance.ChangeMusic(Sct_DEFCONST.MUSIC_NAME.MENU); Sct_SoundManager.Instance.EnvironmentSFX(false); if (PlayerPrefs.GetInt("EnableSound") == 1) Sct_MusicManager.Instance.EnableMusic(true); else Sct_MusicManager.Instance.EnableMusic(false); //聲音開關初始設定 SettingSound(isSoundOpen); SettingSoundSwitchSprite(isSoundOpen); }
/// 切換水珠動畫並播放 private void SettingWaterGlob(WaterGlobState waterGlobState) { switch(now_WaterGlobState) { case WaterGlobState.NORMAL: { sprite_Glob.atlas = Sct_UIMgr.instance.GetAtlas(Sct_DEFCONST.ATLAS_NAME.WATER_GLOB_NORMAL_ATLAS_NAME,Sct_DEFCONST.FILE_PATH.MENU_ATLAS_FILE_PATH); sprite_Glob.spriteName = Sct_DEFCONST.WATER_GLOB_SPRITE_NAME.WATER_GLOB_NORMAL + "01"; spriteAni_Glob.namePrefix = Sct_DEFCONST.WATER_GLOB_SPRITE_NAME.WATER_GLOB_NORMAL; break; } case WaterGlobState.CLICK: { sprite_Glob.atlas = Sct_UIMgr.instance.GetAtlas(Sct_DEFCONST.ATLAS_NAME.WATER_GLOB_CLICK_ATLAS_NAME,Sct_DEFCONST.FILE_PATH.MENU_ATLAS_FILE_PATH); sprite_Glob.spriteName = Sct_DEFCONST.WATER_GLOB_SPRITE_NAME.WATER_GLOB_CLICK + "01"; spriteAni_Glob.namePrefix = Sct_DEFCONST.WATER_GLOB_SPRITE_NAME.WATER_GLOB_CLICK; break; } default: { Debug.LogError("ERROR : No this WaterGlob state type"); break; } } spriteAni_Glob.loop = false; // 播放 spriteAni_Glob.Reset(); }
/// <summary> /// 事件的觸發 /// </summary> protected override void GuiEventDo(ArrayList getList) { string type =(string)getList[0]; GameObject fromobj = (GameObject)getList[1]; #region Click事件 if(type == Sct_DEFCONST.EVENT_TYPE.ON_CLICK) { if(fromobj == btn_Glob) { NGUITools.PlaySound(sound); // 切換水珠動畫 now_WaterGlobState = WaterGlobState.CLICK; SettingWaterGlob(now_WaterGlobState); } if(fromobj == btn_SoundSwitch) { NGUITools.PlaySound(sound); isSoundOpen = !isSoundOpen; SettingSoundSwitchSprite(isSoundOpen); SettingSound(isSoundOpen); } } #endregion }