Beispiel #1
0
        public RegularityGameConfig GetDifficulty()
        {
            List <RegularityGameConfig> list = new List <RegularityGameConfig>();
            var res = AdaptiveDifficultyManager.Instance.GetGameDifficulty(DifficultyType.RegularityDiff.ToString(), m_iGameId);

            if (null == res)
            {
                Debuger.LogError("can't load correct difficulty config");
                return(ConfigManager.Instance.GetRegularityGameConfig().RegularityConfigMap[0]);
            }
            var config = ConfigManager.Instance.GetRegularityGameConfig();

            Debuger.Log("diff min: " + res.MinDiff + " max : " + res.MaxDiff);

            for (int i = 0; i < config.RegularityConfigMap.Count; ++i)
            {
                RegularityGameConfig elem = config.RegularityConfigMap[i];
                if (elem.Difficultyid >= res.MinDiff && elem.Difficultyid <= res.MaxDiff)
                {
                    Debuger.Log("diff id: " + elem.Difficultyid);
                    list.Add(elem);
                }
            }
            if (list.Count <= 0)
            {
                Debuger.LogError("can't load correct difficulty config");
                return(config.RegularityConfigMap[0]);
            }

            int index = Random.Range(0, list.Count);

            return(list[index]);
            //return ConfigManager.Instance.GetRegularityGameConfig().RegularityConfigMap[0];
        }
Beispiel #2
0
        private void ReloadScene()
        {
            ClearScene();
            ChangeToStatus(RegularityStatus.InitScene);
            m_CurrentConfig = m_DiffMgr.GetDifficulty();
            for (int i = 0; i < m_CurrentConfig.OptionList.Count; ++i)
            {
                string     name      = m_CurrentConfig.OptionList[i].Name;
                bool       isVisable = m_CurrentConfig.OptionList[i].IsVisable;
                GameObject elem      = GameObject.Instantiate(m_ObjElementTemplate);
                elem.name = i.ToString();

                PilesAlphaElement dataElem = new PilesAlphaElement(elem, name, isVisable, m_strEmptyTextureName);
                ComponentTool.Attach(m_ObjElementRoot.transform, dataElem.m_ObjRoot.transform);
                m_ElementList.Add(dataElem);

                if (!isVisable)
                {
                    m_iCurrentOptionIndex = i - 1;
                }
            }
            m_Grid.Reposition();
            SetPlayerPos(0);

            OpenWindow();

            m_UIWindow.ResetAnswer(m_CurrentConfig.AnswerList);
            m_iCurrentJumpedIndex = 0;
            TriggerJumpToTarget(1);
        }
        public void Initialize()
        {
            m_GameSettingConfig = ConfigManager.Instance.GetRegularityGameSetting();
            m_iLimitCount       = m_GameSettingConfig.PlayCountLimit;
            m_fLeftTime         = m_GameSettingConfig.PlayTime;
            m_DiffMgr           = new RegularityGameDifficultyManager();
            RegularityGameConfig config = m_DiffMgr.GetDifficulty();

            WindowManager.Instance.OpenWindow(WindowID.Regularity2D);
            m_UIWindow = (UIWindowRegularity2D)WindowManager.Instance.GetWindow(WindowID.Regularity2D);

            Regularity2DWindowParam param = new Regularity2DWindowParam();

            param.m_ResultCallBack = OnResultCallBack;
            param.m_PilesList      = config.OptionList;
            param.m_OptionList     = config.AnswerList;

            m_UIWindow.ResetWindow(param);
        }
        public void ResetSceneByUI(int index)
        {
            m_bIsFinished       = false;
            m_bIsJumping        = false;
            m_bIsMovingPiles    = false;
            m_iCurrentJumpIndex = 0;
            m_iLimitCount       = m_GameSettingConfig.PlayCountLimit;
            m_fLeftTime         = m_GameSettingConfig.PlayTime;
            m_UIWindow.SetLeftCount(m_iLimitCount);
            m_UIWindow.SetLeftTime(m_fLeftTime);
            m_iLeftRedFlower = 3;
            m_UIWindow.SetLeftFlower(m_iLeftRedFlower);
            var Config = ConfigManager.Instance.GetRegularityGameConfig();

            m_CurrentConfig = Config.RegularityConfigMap[index];

            m_iKeepStatusCount = -1;
            m_bIsResetByUI     = true;
            OnReset();
        }
        private void ReLoadScene()
        {
            if (!m_bIsResetByUI)
            {
                m_CurrentConfig = m_DiffMgr.GetDifficulty();
            }
            m_bIsResetByUI = false;

            m_ElementList = new List <PilesElement>();
            for (int i = 0; i < m_CurrentConfig.OptionList.Count; ++i)
            {
                string     name = m_CurrentConfig.OptionList[i].Name;
                GameObject elem = GameObject.Instantiate(m_ElementTemplate);
                elem.name = i.ToString();
                MeshRenderer renderer     = ComponentTool.FindChildComponent <MeshRenderer>("Option", elem);
                Material     elemMaterial =
                    new Material(ResourceManager.Instance.LoadBuildInResource <Material>("Piles/PilesMaterial",
                                                                                         AssetType.Materials));
                if (m_CurrentConfig.OptionList[i].IsVisable)
                {
                    elemMaterial.mainTexture = ResourceManager.Instance.LoadBuildInResource <Texture2D>(name,
                                                                                                        AssetType.Texture);
                }
                else
                {
                    elemMaterial.mainTexture = ResourceManager.Instance.LoadBuildInResource <Texture2D>(m_strEmptyTextureName,
                                                                                                        AssetType.Texture);
                }
                renderer.material = elemMaterial;
                elem.SetActive(true);
                m_ElementList.Add(new PilesElement(renderer.gameObject, elem, name, elemMaterial, m_CurrentConfig.OptionList[i].IsVisable));
                ComponentTool.Attach(m_ObjRoot.transform, elem.transform);
            }
            m_Grid = m_ObjRoot.GetComponent <RegularityGame.SimpleUIGrid>();
            m_Grid.Reposition();
            FixPosition();

            m_bIsInit = true;
        }