示例#1
0
 public void ShowBigLevelState(bool unLocked, int unLockedLevelNum, int totalNum, Transform theBigLevelButtonTrans, int bigLevelID)
 {
     if (unLocked)
     {
         theBigLevelButtonTrans.Find("Img_Lock").gameObject.SetActive(false);
         theBigLevelButtonTrans.Find("Img_Page").gameObject.SetActive(true);
         theBigLevelButtonTrans.Find("Img_Page").Find("Tex_Page").GetComponent <Text>().text = unLockedLevelNum + "/" + totalNum;
         Button theBigLevelButtonCom = theBigLevelButtonTrans.GetComponent <Button>();
         theBigLevelButtonCom.interactable = true;
         if (!hasRigisterEvent)
         {
             theBigLevelButtonCom.onClick.AddListener(() =>
             {
                 mUIFacade.PlayButtonAudioClip();
                 mUIFacade.currentScenePanelDict[StringManager.GameNormalBigLevelPanel].ExitPanel();
                 GameNormLevelPanel gameNormLevelPanel = mUIFacade.currentScenePanelDict[StringManager.GameNormalLevelPanel] as GameNormLevelPanel;
                 gameNormLevelPanel.ToThisPanel(bigLevelID);
                 GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.currentScenePanelDict[StringManager.GameNormalOptionPanel] as GameNormalOptionPanel;
                 gameNormalOptionPanel.isInBigLevelPanel     = false;
             });
         }
     }
     else
     {
         theBigLevelButtonTrans.Find("Img_Lock").gameObject.SetActive(true); theBigLevelButtonTrans.Find("Img_Page").gameObject.SetActive(false);
         theBigLevelButtonTrans.GetComponent <Button>().interactable = false;
     }
 }
 //封装一个方法来更新大关卡的信息
 public void ShowBigLevelState(int bigLevelID, int totalNum, int unlockedLevelNum, bool unLocked, Transform theBigLevelButtonTrans)
 {
     if (unLocked)//已解锁
     {
         theBigLevelButtonTrans.Find("Img_Page").gameObject.SetActive(true);
         theBigLevelButtonTrans.Find("Img_Lock").gameObject.SetActive(false);
         //Debug.Log(theBigLevelButtonTrans);
         //Debug.Log(theBigLevelButtonTrans.Find("Img_Page").Find("Txt_Page"));
         theBigLevelButtonTrans.Find("Img_Page").Find("Txt_Page").GetComponent <Text>().text =
             unlockedLevelNum.ToString() + "/" + totalNum.ToString();
         //Debug.Log("theBigLevel"+ theBigLevelButtonTrans.ToString()+"/"+ theBigLevelButtonTrans.Find("Img_Page") +"/"+ theBigLevelButtonTrans.Find("Img_Page") .Find("Txt_Page")+ theBigLevelButtonTrans.Find("Img_Page").Find("Txt_Page").GetComponent<Text>().text.ToString()+"--"+unlockedLevelNum.ToString() + "/" + totalNum.ToString());
         Button theBigLevelButtonCom =
             theBigLevelButtonTrans.GetComponent <Button>();
         theBigLevelButtonCom.interactable = true;
         //添加监听器这个动作是会重复进行的,多次进行以后可能导致程序崩溃,所以加一个bool值判断,当已经注册以后,不再执行。
         if (!hasRegisterEvent)
         {
             theBigLevelButtonCom.onClick.AddListener(() =>
             {//离开大关卡,进入小关卡
                 mUIFacade.PlayButtonAduioClip();
                 mUIFacade.currentScenePanelDict[StringManager.GameNormalBigLevelPanel].ExitPanel();
                 GameNormalLevelPanel gameNormalLevelPanel = mUIFacade.currentScenePanelDict[StringManager.GameNormalLevelPanel] as GameNormalLevelPanel;
                 gameNormalLevelPanel.ToThisPanel(bigLevelID);
                 GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.currentScenePanelDict[StringManager.GameNormalOptionPanel] as GameNormalOptionPanel;
                 gameNormalOptionPanel.isInBigLevel          = false;//不在大关卡的panel里面了
             });
         }
     }
     else//未解锁
     {
         theBigLevelButtonTrans.Find("Img_Page").gameObject.SetActive(false);//书签隐藏
         theBigLevelButtonTrans.Find("Img_Lock").gameObject.SetActive(true);  //锁显示
         theBigLevelButtonTrans.GetComponent <Button>().interactable = false; //button按钮设置为不可交互
     }
 }
示例#3
0
    // 更新显示大关卡数据UI
    private void ShowBigLevelUI(bool unLocked, int lockedLevelNum, int totalLevelNum, Transform bigLevel, int bigLevelID)
    {
        Button btnBigLevel = bigLevel.GetComponent <Button>();

        if (!unLocked) // 未解锁状态
        {
            bigLevel.Find("Img_Lock").gameObject.SetActive(true);
            bigLevel.Find("Img_PageCount").gameObject.SetActive(false);
            btnBigLevel.interactable = false;
        }
        else // 解锁状态
        {
            bigLevel.Find("Img_Lock").gameObject.SetActive(false);
            bigLevel.Find("Img_PageCount").gameObject.SetActive(true);
            bigLevel.Find("Img_PageCount/Txt_PageCount").GetComponent <Text>().text = lockedLevelNum + "/" + totalLevelNum;
            btnBigLevel.interactable = true;
        }
        if (hasRigisterEvent)
        {
            return;                   // 如果已经注册过按钮监听事件,则不重复注册
        }
        btnBigLevel.onClick.AddListener(() =>
        {
            mUIFacade.PlayButtonAudioEffect();
            mUIFacade.currentScenePanelDict[StringManager.P_GameNormalBigLevelPanel].ExitPanel(); // 离开大关卡选择页面
            GameNormalLevelPanel gameNormalLevelPanel = mUIFacade.currentScenePanelDict[StringManager.P_GameNormalLevelPanel] as GameNormalLevelPanel;
            gameNormalLevelPanel.EnterPanelFromBigLevel(bigLevelID);                              // 进入小关卡选择页面
            GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.currentScenePanelDict[StringManager.P_GameNormalOptionPanel] as GameNormalOptionPanel;
            gameNormalOptionPanel.isInBigLevel          = false;
        });
    }
示例#4
0
 // 给关卡按钮注册事件
 public void RigisterEvent(Button bigLevelBtn, int bigLevelID)
 {
     bigLevelBtn.onClick.AddListener(() => {
         // 离开大关卡
         mUIFacade.currentScenePanels[StringManager.GameNormalBigLevelPanel].ExitPanel();
         // 进入小关卡选择页面
         GameNormalLevelPanel gameNormalLevelPanel = mUIFacade.currentScenePanels[StringManager.GameNormalLevelPanel]
                                                     as GameNormalLevelPanel;
         gameNormalLevelPanel.ToThisPanel(bigLevelID);
         GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.currentScenePanels[StringManager.GameNormalOptionPanel]
                                                       as GameNormalOptionPanel;
         gameNormalOptionPanel.isInBigLevel = false;
         hasRigisterEvent = true;
     });
 }
示例#5
0
    public override void ExitScene()
    {
        GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.currentScenePanelDict[StringManager.GameNormalOptionPanel] as GameNormalOptionPanel;

        if (gameNormalOptionPanel.isInBigLevelPanel)
        {
            SceneManager.LoadScene(1);
        }
        else
        {
            SceneManager.LoadScene(3);
        }
        gameNormalOptionPanel.isInBigLevelPanel = true;
        base.ExitScene();
    }
    public override void OnExitScene()
    {
        GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.GetCurScenePanel(Constant.GameNormalOptionPanel) as GameNormalOptionPanel;

        if (!gameNormalOptionPanel.isInBigLevel)
        {
            SceneManager.LoadScene(Constant.NormalModeSceneIndex);
        }
        else
        {
            SceneManager.LoadScene(Constant.MainSceneIndex);
        }
        gameNormalOptionPanel.isInBigLevel = true;
        base.OnExitScene();
    }
示例#7
0
    public override void ExitScene()
    {
        //ToDo 优化 异步加载场景
        GameNormalOptionPanel gameNormalOptionPanel = uiFacade.currentScenePanelDict[StringManager.GameNormalOptionPanel] as GameNormalOptionPanel;

        if (gameNormalOptionPanel.isInBigLevelPanel) //如果是在大关卡选择面板
        {
            SceneManager.LoadScene(1);               //加载主场景
        }
        else
        {
            SceneManager.LoadScene(3);                  //加载游戏场景
        }
        gameNormalOptionPanel.isInBigLevelPanel = true; //无论是哪种情况,gameNormalOptionPanel的isInBigLevelPanel都应该设为true

        base.ExitScene();
    }
示例#8
0
 public void BackToMain()
 {
     mUIFacade.PlayButtonAudioClip();
     ExitPanel();
     //mUIFacade.currentScenePanelDict[Constant.MainPanel].EnterPanel();
     if (mUIFacade.currentSceneState.GetType() == typeof(MainSceneState))
     {
         mUIFacade.GetCurScenePanel(Constant.MainPanel).EnterPanel();
     }
     else if (mUIFacade.currentSceneState.GetType() == typeof(GameNormalOptionSceneState))
     {
         GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.GetCurScenePanel(Constant.GameNormalOptionPanel) as GameNormalOptionPanel;
         if (gameNormalOptionPanel.isInBigLevel)
         {
             mUIFacade.GetCurScenePanel(Constant.GameNormalBigLevelPanel).EnterPanel();
         }
         else
         {
             mUIFacade.GetCurScenePanel(Constant.GameNormalLevelPanel).EnterPanel();
         }
     }
 }
示例#9
0
    //注册按钮事件
    public void RigisterEvent(Transform bigLevelButtonTrans, int bigLevelID)
    {
        Button bigLevelButton = bigLevelButtonTrans.GetComponent <Button>(); //获取大关卡Button组件

        //if (!hasRigisterEvent)   //确保只注册一次
        //{
        //注册大关卡按钮事件
        bigLevelButton.onClick.AddListener(() =>
        {
            Debug.Log("bigLevelID:" + bigLevelID + "is clicked");
            uiFacade.PlayButtonAudioClip();      //点击到大关卡页面的时候播放音效
            //离开大关卡页面
            uiFacade.currentScenePanelDict[StringManager.GameNormalBigLevelPanel].ExitPanel();
            //进入小关卡页面
            //获取GameNormalLevelPanel
            GameNormalLevelPanel gameNormalLevelPanel = (GameNormalLevelPanel)uiFacade.currentScenePanelDict[StringManager.GameNormalLevelPanel];
            gameNormalLevelPanel.ToThisPanel(bigLevelID);        //设置小关卡面板的大关卡值
            GameNormalOptionPanel gameNormalOptionPanel = (GameNormalOptionPanel)uiFacade.currentScenePanelDict[StringManager.GameNormalOptionPanel];
            gameNormalOptionPanel.isInBigLevelPanel     = false; //表示已经不在大关卡页面了
        }
                                           );
        //}
    }
 public void ShowBigLevelState(bool unLocked, int unLockedLevelNum, int totalLevelNum, Transform theBigLevelTrans, int bigLevelID)
 {
     //解锁状态
     if (unLocked)
     {
         Debug.Log("Enter UnLock State");
         theBigLevelTrans.Find("Img_Lock").gameObject.SetActive(false);
         theBigLevelTrans.Find("Img_Page").gameObject.SetActive(true);
         theBigLevelTrans.Find("Img_Page").Find("Txt_Page").GetComponent <Text>().text
             = unLockedLevelNum + "/" + totalLevelNum;
         Button theBigLevelButton = theBigLevelTrans.GetComponent <Button>();
         theBigLevelButton.interactable = true;
         if (!hasRigisterEvent)
         {
             theBigLevelButton.onClick.AddListener(() =>
             {
                 mUIFacade.PlayButtonAudioClip();
                 //离开大关卡页面
                 //mUIFacade.currentScenePanelDict[Constant.GameNormalBigLevelPanel].ExitPanel();
                 mUIFacade.GetCurScenePanel(Constant.GameNormalBigLevelPanel).ExitPanel();
                 //初始化并进入小关卡页面
                 //mUIFacade.currentScenePanelDict[Constant.GameNormalLevelPanel].EnterPanel();
                 GameNormalLevelPanel gameNormalLevelPanel = mUIFacade.GetCurScenePanel(Constant.GameNormalLevelPanel) as GameNormalLevelPanel;
                 gameNormalLevelPanel.ToLevelPanel(bigLevelID);
                 //设置所在页面
                 GameNormalOptionPanel gameNormalOptionPanel = mUIFacade.GetCurScenePanel(Constant.GameNormalOptionPanel) as GameNormalOptionPanel;
                 gameNormalOptionPanel.isInBigLevel          = false;
             });
         }
     }
     else//未解锁状态
     {
         theBigLevelTrans.Find("Img_Lock").gameObject.SetActive(true);
         theBigLevelTrans.Find("Img_Page").gameObject.SetActive(false);
         theBigLevelTrans.GetComponent <Button>().interactable = false;
     }
 }