Пример #1
0
    private void UpdatePieceCoinDisplay()
    {
        List <int> allSceneType = mapModel.GetAllSceneType();
        Dictionary <int, Config.sceneCell> sceneCellOfType = new Dictionary <int, Config.sceneCell>();

        foreach (int t in allSceneType)
        {
            if (pieceGroupDict.ContainsKey(t))
            {
                sceneCellOfType.Clear();
                mapModel.FilterSceneCell(t, sceneCellOfType);

                Dictionary <int, MapPiece> pieceDict = pieceGroupDict[t].pieceDict;
                foreach (var sceneId in sceneCellOfType.Keys)
                {
                    if (pieceDict.ContainsKey(sceneId))
                    {
                        ScenePlayerDataMSS.SceneStateMSS sceneState = mapModel.GetSceneState(sceneId);
                        bool unlocked = sceneState != null ? sceneState.unlocked > 0 : false;
                        bool broswed  = sceneState != null ? sceneState.browsed > 0 : false;
                        if (unlocked && broswed)
                        {
                            pieceDict[sceneId].requiredStarText.text = MinerBigInt.ToDisplay(mapModel.GetSceneEarningsPerMinute(sceneId)) + GetL10NString("Ui_Text_67");
                        }
                    }
                }
            }
        }
    }
Пример #2
0
    private void OnSceneUnlockPageClose(int detail)
    {
        ScenePlayerDataMSS.SceneStateMSS sceneState = mapModel.GetSceneState(selectedPieceId);
        bool unlocked = sceneState != null ? sceneState.unlocked > 0 : false;
        bool broswed  = sceneState != null ? sceneState.browsed > 0 : false;

        enterSceneButton.gameObject.SetActive(unlocked && broswed && mapModel.currSceneId != selectedPieceId);

        OnEnterSceneButtonClick(null);
    }
Пример #3
0
    private void OnEnterSceneButtonClick(string str)
    {
        ScenePlayerDataMSS.SceneStateMSS sceneState = mapModel.GetSceneState(selectedPieceId);
        bool unlocked = sceneState != null ? sceneState.unlocked > 0 : false;

        if (unlocked && mapModel.currSceneId != selectedPieceId)
        {
            enterSceneButton.gameObject.SetActive(false);
            PageMgr.ClosePage(this);
            ZooGameLoader.GetInstance().ChangeScene(selectedPieceId);
        }
    }
Пример #4
0
        /// <summary>
        /// 是否有一个场景被解锁,按指定类型
        /// </summary>
        /// <param name="sceneType"></param>
        /// <returns></returns>
        public bool HasUnlockedSceneByType(int sceneType)
        {
            ScenePlayerDataMSS.SceneStateMSS       sceneState   = null;
            IDictionary <string, Config.sceneCell> allSceneCell = GetAllSceneCell();

            foreach (var k in allSceneCell.Keys)
            {
                if (allSceneCell[k].scenetype == sceneType)
                {
                    sceneState = GetSceneState(int.Parse(k));
                    if (sceneState != null && sceneState.unlocked > 0)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Пример #5
0
        /// <summary>
        /// 浏览场景
        /// </summary>
        /// <param name="sceneId"></param>
        public void BrowseScene(int sceneId)
        {
            Config.sceneCell sceneCell = configInst.getCell(sceneId);
            if (sceneCell.israwopen < 1)
            {
                return;
            }

            ScenePlayerDataMSS.SceneStateMSS sceneState = GetSceneState(sceneId);
            if (sceneState == null)
            {
                sceneState = new ScenePlayerDataMSS.SceneStateMSS();
                scenePlayerData.sceneStates.Add(sceneState);
            }
            if (sceneState.browsed < 1)
            {
                sceneState.browsed = 1;
            }
        }
Пример #6
0
    private void SetSceneStateData(int pieceId)
    {
        ScenePlayerDataMSS.SceneStateMSS sceneState = mapModel.GetSceneState(pieceId);
        bool unlocked = sceneState != null ? sceneState.unlocked > 0 : false;
        bool broswed  = sceneState != null ? sceneState.browsed > 0 : false;

        if (unlocked && !broswed)
        {
            //mapModel.BrowseScene(pieceId);
            //UpdatePieceStatesDisplay();
            //var mainPage = PageMgr.GetPage<UIMainPage>();
            //if (mainPage != null)
            //    mainPage.UpdateDisplayForSceneStates();
            PageMgr.ShowPage <UISceneUnlockPage>(pieceId);
            PageMgr.GetPage <UISceneUnlockPage>().onClose.AddListener(OnSceneUnlockPageClose);
        }
        else
        {
            enterSceneButton.gameObject.SetActive(false);

            //pieceInfoHint.gameObject.SetActive(false);

            if (pieceInfoHintAnimCoroutine != null)
            {
                GameManager.GetInstance().StopCoroutine(pieceInfoHintAnimCoroutine);
                pieceInfoHintAnimCoroutine = null;
            }
            var playerData = GlobalDataManager.GetInstance().playerData;
            int idx        = PlayerData.GetcurrSceneIDByStar(playerData);
            ///回退    老场景不可点击
            //if (sceneState != null && sceneState.sceneId == idx)
            //{
            //    enterSceneButton.gameObject.SetActive(unlocked && broswed && mapModel.currSceneId != selectedPieceId);
            //}
            enterSceneButton.gameObject.SetActive(unlocked && broswed && mapModel.currSceneId != selectedPieceId);

            pieceInfoHintAnimCoroutine = GameManager.GetInstance().StartCoroutine(FinishShowPieceInfoHint(pieceId));
        }
    }
Пример #7
0
    private void UpdatePieceStateDisplayOfType(int sceneType, bool hasOneUnlocked, Dictionary <int, Config.sceneCell> sceneCellOfType)
    {
        if (!pieceGroupDict.ContainsKey(sceneType))
        {
            return;
        }

        Dictionary <int, MapPiece> pieceDict = pieceGroupDict[sceneType].pieceDict;

        foreach (int k in sceneCellOfType.Keys)
        {
            if (!pieceDict.ContainsKey(k))
            {
                continue;
            }

            ScenePlayerDataMSS.SceneStateMSS sceneState = mapModel.GetSceneState(k);
            bool unlocked = sceneState != null ? sceneState.unlocked > 0 : false;
            bool broswed  = sceneState != null ? sceneState.browsed > 0 : false;

            pieceDict[k].requiredStar.gameObject.SetActive(hasOneUnlocked);
            if (unlocked)
            {
                if (broswed)
                {
                    if (pieceDict[k].unbrowseTween != null)
                    {
                        pieceDict[k].unbrowseTween.Kill();
                        pieceDict[k].unbrowseTween = null;
                    }
                    if (pieceDict[k].tipsBubble != null)
                    {
                        pieceDict[k].tipsBubble.gameObject.SetActive(false);
                        Object.Destroy(pieceDict[k].tipsBubble.gameObject);
                    }
                    pieceDict[k].lockedSymbol.gameObject.SetActive(false);
                }
                else
                {
                    pieceDict[k].lockedSymbol.gameObject.SetActive(true);
                    if (pieceDict[k].unbrowseTween == null)
                    {
                        pieceDict[k].unbrowseTween = pieceDict[k].lockedSymbol.transform.DOLocalMoveX(
                            pieceDict[k].lockedSymbolOrigPos.x + mapConfig.unbrowseSymbolAnimRange * 0.5f, mapConfig.unbrowseSymbolAnimDuration)
                                                     .SetEase(mapConfig.unbrowseSymbolAnimCurve).SetLoops(int.MaxValue);
                    }
                    if (pieceDict[k].tipsBubble == null)
                    {
                        GameObject go = Object.Instantiate(tipsBubbleTmpl.gameObject);
                        go.SetActive(true);
                        go.transform.SetParent(/*pieceDict[k].pieceImage.transform*/ transform);
                        go.transform.localScale    = Vector3.one;
                        go.transform.localRotation = Quaternion.identity;
                        go.transform.position      = pieceDict[k].tipsBubbleAnchor.position;
                        go.transform.localPosition = go.transform.localPosition + (Vector3)mapConfig.unbrowseBubbleOffset;
                        pieceDict[k].tipsBubble    = go.transform;
                    }
                }
                pieceDict[k].pieceImage.material = null;
            }
            else
            {
                pieceDict[k].lockedSymbol.gameObject.SetActive(hasOneUnlocked);
                pieceDict[k].pieceImage.material = mapConfig.pieceDarkMaterial;
            }

            if (unlocked && broswed)
            {
                pieceDict[k].nameText.gameObject.SetActive(true);
                int    scenetype = Config.sceneConfig.getInstace().getCell(sceneState.sceneId).moneyid;
                string iconPath  = Config.moneyConfig.getInstace().getCell(scenetype).moneyicon;

                int idx = PlayerData.GetcurrSceneIDByStar(GlobalDataManager.GetInstance().playerData);
                // 回退  修改完美经营
                //if (sceneState.sceneId == GlobalDataManager.GetInstance().playerData.playerZoo.currSceneID || sceneState.sceneId == idx)

                if (sceneState.sceneId == idx)
                {
                    pieceDict[k].requiredStarText.text = MinerBigInt.ToDisplay(mapModel.GetSceneEarningsPerMinute(k)) + GetL10NString("Ui_Text_67");
                    pieceDict[k].requiredIcon.sprite   = ResourceManager.LoadSpriteFromPrefab(iconPath);
                    pieceDict[k].requiredIcon.SetNativeSize();
                    pieceDict[k].requiredStarText.gameObject.SetActive(true);
                    pieceDict[k].requiredIcon.gameObject.SetActive(true);
                    pieceDict[k].perfecttext.gameObject.SetActive(false);
                }
                else
                {
                    pieceDict[k].requiredStarText.gameObject.SetActive(false);
                    pieceDict[k].requiredIcon.gameObject.SetActive(false);
                    pieceDict[k].perfecttext.gameObject.SetActive(true);
                    //pieceDict[k].perfecttext.text = GetL10NString("Ui_Text_120");
                }
            }
            else
            {
                pieceDict[k].nameText.gameObject.SetActive(false);
                pieceDict[k].requiredIcon.sprite = mapConfig.starSprite;
                pieceDict[k].requiredIcon.SetNativeSize();
                pieceDict[k].requiredStarText.text = sceneCellOfType[k].openstar.ToString();
            }
        }
    }