コード例 #1
0
 /// <summary>
 /// 重置和npc的聊天记录
 /// </summary>
 public void ResetChatRecords()
 {
     DataHandler.SaveInstanceListToFile <HLHNPCChatRecord>(new List <HLHNPCChatRecord>(), CommonData.chatRecordsFilePath);
 }
コード例 #2
0
 /// <summary>
 /// 保存游戏购买记录
 /// </summary>
 public void SaveBuyRecord()
 {
     DataHandler.SaveInstanceDataToFile <BuyRecord> (BuyRecord.Instance, CommonData.buyRecordFilePath, true);
 }
コード例 #3
0
        /// <summary>
        /// 保存和npc的聊天记录
        /// </summary>
        public void SaveChatRecords()
        {
            List <HLHNPCChatRecord> chatRecords = GameManager.Instance.gameDataCenter.chatRecords;

            DataHandler.SaveInstanceListToFile <HLHNPCChatRecord>(chatRecords, CommonData.chatRecordsFilePath);
        }
コード例 #4
0
 /// <summary>
 /// 保存当前关卡单词学习记录
 /// </summary>
 public void SaveCurrentMapWordsRecords()
 {
     DataHandler.SaveInstanceListToFile <HLHWord>(GameManager.Instance.gameDataCenter.currentMapWordRecords, CommonData.currentMapWordsRecordsFilePath);
 }
コード例 #5
0
 /// <summary>
 /// 清理当前单词学习记录并保存
 /// </summary>
 public void ClearCurrentMapWordsRecordAndSave()
 {
     GameManager.Instance.gameDataCenter.currentMapWordRecords.Clear();
     DataHandler.SaveInstanceListToFile <HLHWord>(new List <HLHWord>(), CommonData.currentMapWordsRecordsFilePath);
 }
コード例 #6
0
        private static MonsterModel[] LoadMonsterModels(string monsterDataPath)
        {
            string monsterDataString = DataHandler.LoadDataString(monsterDataPath);

            string[] monsterDatas = monsterDataString.Split(new char[] { '\n' }, System.StringSplitOptions.None);

            MonsterModel[] monsterModels = new MonsterModel[monsterDatas.Length - 1];

            for (int i = 1; i < monsterDatas.Length; i++)
            {
                string monsterData = monsterDatas [i];

                MonsterModel mm = new MonsterModel();

                monsterModels [i - 1] = mm;

                string[] detailDatas = monsterData.Split(new char[] { ',' }, System.StringSplitOptions.None);

                mm.monsterId = int.Parse(detailDatas [0]);

                mm.monsterName = detailDatas [1];

                mm.monsterSkeName = detailDatas [3];

                mm.attackInterval = float.Parse(detailDatas [5]);

                mm.gold = int.Parse(detailDatas [6]);

                mm.experience = int.Parse(detailDatas [7]);

                mm.maxHealth = int.Parse(detailDatas [8]);

                mm.attack = int.Parse(detailDatas [9]);

                mm.armor = int.Parse(detailDatas [10]);

                mm.magicAttack = int.Parse(detailDatas [11]);

                mm.magicResist = int.Parse(detailDatas [12]);

                mm.crit = float.Parse(detailDatas [13]);

                mm.dodge = float.Parse(detailDatas [14]);

                mm.armorDecrease = int.Parse(detailDatas [15]);

                mm.magicResistDecrease = int.Parse(detailDatas [16]);

                mm.critHurtScaler = float.Parse(detailDatas [17]);

                mm.attackSpeedLevel = int.Parse(detailDatas[18]);

                mm.evaluate = int.Parse(detailDatas[19]);

                mm.story = detailDatas[20];

                mm.monsterSays[0] = detailDatas[21].Replace('+', ',');

                mm.monsterSays[1] = detailDatas[22].Replace('+', ',');

                mm.monsterSays[2] = detailDatas[23].Replace('+', ',');

                //PropertyType type = GetProperty(int.Parse(detailDatas[21]));
                //float value = float.Parse(detailDatas[22]);

                //mm.puzzleCorrectDecrease = new PropertySet(type, value);

                //type = GetProperty(int.Parse(detailDatas[23]));
                //value = float.Parse(detailDatas[24]);

                //mm.puzzleWrongIncrease = new PropertySet(type, value);
            }

            return(monsterModels);
        }
コード例 #7
0
 /// <summary>
 /// 保存当前关卡地图事件记录
 /// </summary>
 public void SaveCurrentMapEventsRecords()
 {
     DataHandler.SaveInstanceDataToFile <CurrentMapEventsRecord>(GameManager.Instance.gameDataCenter.currentMapEventsRecord, CommonData.currentMapEventsRecordFilePath);
 }
コード例 #8
0
 /// <summary>
 /// 保存应用信息【主要是当前版本号】
 /// </summary>
 public void SaveApplicationInfo()
 {
     DataHandler.SaveInstanceDataToFile <ApplicationInfo>(ApplicationInfo.Instance, CommonData.applicationInfoFilePath);
 }
コード例 #9
0
 /// <summary>
 /// 保存当前小地图记录
 /// </summary>
 public void SaveCurrentMapMiniMapRecord()
 {
     DataHandler.SaveInstanceDataToFile <MiniMapRecord>(GameManager.Instance.gameDataCenter.currentMapMiniMapRecord, CommonData.miniMapRecordFilePath);
 }
コード例 #10
0
        /// <summary>
        /// 截屏并截取分享部分的图片
        /// </summary>
        /// <returns>The screen shot and share.</returns>
        private IEnumerator TrimScreenShotAndShare()
        {
            yield return(new WaitForEndOfFrame());

            // 截屏
            Texture2D texture = ScreenCapture.CaptureScreenshotAsTexture();

            Debug.LogFormat("截屏图片大小[{0},{1}]", texture.width, texture.height);

            float transferScaler = 1f;

            // 按照分辨率来确认转换系数
            if (Camera.main.pixelWidth < 1080f)
            {
                if (CommonData.HWScalerOfCurrentScreen < 1.7f)
                {
                    transferScaler = CommonData.scalerToPresetH;
                }
                else
                {
                    transferScaler = CommonData.scalerToPresetW;
                }
            }

            // 获取分享区域的大小
            int shareHUDWidth  = (int)((shareShotcutRect.transform as RectTransform).rect.width * transferScaler);
            int shareHUDHeight = (int)((shareShotcutRect.transform as RectTransform).rect.height * transferScaler);


            Debug.LogFormat("实际图片大小:[{0},{1}]", shareHUDWidth, shareHUDHeight);

            // 分享区域在y方向的偏移
            int sharePlaneFixY = (int)(sharePlane.localPosition.y * transferScaler);

            Debug.LogFormat("3y:{0}", sharePlane.localPosition.y);

            // 分享区域的X方向offset和Y方向offset
            int offsetYFix = (int)(shareShotcutRect.localPosition.y * transferScaler);
            int offsetX    = (texture.width - shareHUDWidth) / 2;

            // 实际分享区域的最小y值
            int offsetYMin = (texture.height - shareHUDHeight) / 2 + offsetYFix + sharePlaneFixY;
            // 实际分享区域的最大y值
            int offsetYMax = (texture.height + shareHUDHeight) / 2 + offsetYFix + sharePlaneFixY;


            //int offsetYMin = offsetYFix;
            //int offsetYMax = offsetYFix + shareHUDHeight;

            Debug.LogFormat("实际最小y{0},最大y{1}", offsetYMin, offsetYMax);

            // 按照分享图片的大小创建新的空纹理
            Texture2D newT2d = new Texture2D(shareHUDWidth, shareHUDHeight);

            // 像素处理
            for (int i = offsetX; i < texture.width - offsetX; i++)
            {
                for (int j = offsetYMin; j < offsetYMax; j++)
                {
                    Color c = texture.GetPixel(i, j);

                    newT2d.SetPixel(i - offsetX, j - offsetYMin, c);
                }
            }


            // 纹理应用
            newT2d.Apply();

            // 纹理转化为jpg格式二进制数据
            byte[] trimImgData = newT2d.EncodeToJPG();

            // 检查临时分享文件夹是否存在,不存在创建文件夹
            if (!DataHandler.DirectoryExist(Application.persistentDataPath + "/tempPics"))
            {
                DataHandler.CreateDirectory(Application.persistentDataPath + "/tempPics");
            }

            // 临时图片保存位置
            string trimImgPath = Application.persistentDataPath + "/tempPics/shareImage.jpg";

            // 保存图片
            File.WriteAllBytes(trimImgPath, trimImgData);

            // 清理工作
            Destroy(texture);
            Destroy(newT2d);

            texture     = null;
            newT2d      = null;
            trimImgData = null;

            Resources.UnloadUnusedAssets();
            GC.Collect();

#if UNITY_EDITOR
            //DataHandler.DeleteFile(Application.persistentDataPath + "/tempPics/shareImage.jpg");
            QuitShareView();
#elif UNITY_IOS || UNITY_ANDROID
            Share();
#endif
        }
コード例 #11
0
        /// <summary>
        /// 保存游戏设置
        /// </summary>
        public void SaveGameSettings()
        {
            string gameSettingsPath = string.Format("{0}/{1}", CommonData.persistDataPath, "GameSettings.json");

            DataHandler.SaveInstanceDataToFile <GameSettings> (GameManager.Instance.gameDataCenter.gameSettings, gameSettingsPath);
        }
コード例 #12
0
        /// <summary>
        /// 读取地图数据,并将数据转化为自定义的MapData模型
        /// </summary>
        /// <returns>The map.</returns>
        /// <param name="mapDataPath">Map data path.</param>
        private static HLHMapData ReadMap(string mapDataPath, FileInfo fi)
        {
            // 读取原始json数据
            string oriMapDataString = DataHandler.LoadDataString(mapDataPath);
            // MiniJson解析json数据
            Dictionary <string, object> oriMapDataDic = Json.Deserialize(oriMapDataString) as Dictionary <string, object>;

            // 获取地图宽高
            int mapHeight = int.Parse(oriMapDataDic ["height"].ToString());
            int mapWidth  = int.Parse(oriMapDataDic ["width"].ToString());

            Debug.LogFormat("name:{0},height:{1},width:{2}", fi.Name, mapHeight, mapWidth);

            // 获取标准地图块宽高
            int mapTileHeight = int.Parse(oriMapDataDic ["tileheight"].ToString());
            int mapTileWidth  = int.Parse(oriMapDataDic ["tilewidth"].ToString());


            // 获取地图上所有图层的数据
            List <object> layersDataArray = (List <object>)oriMapDataDic ["layers"];
            List <object> tileSetsArray   = (List <object>)oriMapDataDic ["tilesets"];

            // 所有构建地图使用的图层
            List <MapLayer> mapLayers = new List <MapLayer> ();
            // 所有地图附加信息图层
            List <MapAttachedInfoLayer> attachedInfoLayers = new List <MapAttachedInfoLayer> ();

            // 地图块图集名称
            string tileSetsImageName = string.Empty;
            // 地图块数据(内含walkable info array)
            MapTilesInfo tileInfo = null;

            Dictionary <string, object> tileSetInfo = null;

            int[,] mapWalkableInfoArray = new int[mapWidth, mapHeight];

            for (int m = 0; m < mapWidth; m++)
            {
                for (int n = 0; n < mapHeight; n++)
                {
                    mapWalkableInfoArray[m, n] = 1;
                }
            }

            for (int j = 0; j < layersDataArray.Count; j++)
            {
                Dictionary <string, object> layerDataDic = layersDataArray [j] as Dictionary <string, object>;

                List <MapTile> tileDatas = new List <MapTile> ();


                //获取当前层的类型名称
                string layerType = layerDataDic ["type"].ToString();

                // 当前层为地图层
                if (layerType.Equals("tilelayer"))
                {
                    List <object> tileDataArray = (List <object>)layerDataDic["data"];

                    string layerName = layerDataDic["name"].ToString();

                    if (layerName.Equals("FloorLayer"))
                    {
                        Dictionary <string, object> tileSetsNameDic = layerDataDic["properties"] as Dictionary <string, object>;
                        tileSetsImageName = tileSetsNameDic["TilesetImageName"].ToString();
                        tileInfo          = GetMapTilesInfoWithName(tileSetsImageName);
                    }


                    if (tileSetInfo == null)
                    {
                        for (int k = 0; k < tileSetsArray.Count; k++)
                        {
                            Dictionary <string, object> tempTileSetInfo = tileSetsArray[k] as Dictionary <string, object>;
                            string sourceName = tempTileSetInfo["source"] as string;
                            if (sourceName.Contains(tileSetsImageName))
                            {
                                tileSetInfo = tempTileSetInfo;
                                break;
                            }
                        }
                    }


                    //获取当前层使用的地图块的firstGid
                    int firstGid = int.Parse(tileSetInfo["firstgid"].ToString());


                    for (int k = 0; k < tileDataArray.Count; k++)
                    {
                        int row = mapHeight - k / mapWidth - 1;
                        int col = k % mapWidth;

                        int tileIndex = int.Parse(tileDataArray [k].ToString()) - firstGid;


                        if (tileIndex >= 0)
                        {
                            bool canWalk = false;
                            //Debug.LogFormat("mapName:{0},layerName:{1},tileIndex:{2},firstGid:{3}",fi.Name, layerName, tileIndex,firstGid);
                            canWalk = tileInfo.walkableInfoArray [tileIndex] == 1;

                            int miniMapInfo = tileInfo.miniMapInfoArray[tileIndex];

                            MapTile tile = new MapTile(new Vector2(col, row), tileIndex, canWalk, miniMapInfo);
                            tileDatas.Add(tile);

                            if (layerName == "DecorationLayer")
                            {
                                mapWalkableInfoArray[col, row] = 0;
                            }
                        }
                    }

                    MapLayer layer = new MapLayer(layerName, tileDatas);
                    mapLayers.Add(layer);
                }

                // 当前层为事件层
                if (layerType.Equals("objectgroup"))
                {
                    string layerName = layerDataDic ["name"].ToString();

                    List <MapAttachedInfoTile> attachedInfoTiles = new List <MapAttachedInfoTile> ();

                    List <object> attachedInfoList = (List <object>)layerDataDic ["objects"];

                    //int monsterCount = 0;

                    for (int k = 0; k < attachedInfoList.Count; k++)
                    {
                        Dictionary <string, object> attachedInfo = attachedInfoList [k] as Dictionary <string, object>;
                        string type = attachedInfo ["type"].ToString();

                        //Debug.Log(type);
                        //if(type=="monster"){
                        //	monsterCount++;
                        //}

                        float posX = float.Parse(attachedInfo ["x"].ToString());
                        float posY = float.Parse(attachedInfo ["y"].ToString());

                        int col = Mathf.RoundToInt(posX / mapTileWidth);
                        int row = mapHeight - Mathf.RoundToInt(posY / mapTileHeight);

                        Vector2 pos = new Vector2(col, row);

                        if (mapWalkableInfoArray[col, row] == 0 && type != "doorGear" && type != "keyDoorGear")
                        {
                            Debug.LogFormat("地图:{0},事件位置和某种装饰位置重合:[{1}/{2},事件类型:{3}](如果装饰不是墙体,则不是错误)", fi.Name, col, mapHeight - row - 1, type);
                        }

                        Dictionary <string, object> properties       = null;
                        MapAttachedInfoTile         attachedInfoTile = null;
                        List <KVPair> kvPairs = new List <KVPair> ();

                        if (!attachedInfo.ContainsKey("properties"))
                        {
                            attachedInfoTile = new MapAttachedInfoTile(type, pos, kvPairs);
                            attachedInfoTiles.Add(attachedInfoTile);
                            continue;
                        }

                        properties = attachedInfo ["properties"] as Dictionary <string, object>;

                        IDictionaryEnumerator dicEnumerator = properties.GetEnumerator();

                        while (dicEnumerator.MoveNext())
                        {
                            string key   = dicEnumerator.Key.ToString();
                            string value = dicEnumerator.Value.ToString();
//							Debug.LogFormat ("key:{0},value:{1}",key,value);

                            KVPair kv = new KVPair(key, value);

                            kvPairs.Add(kv);
                        }

                        attachedInfoTile = new MapAttachedInfoTile(type, pos, kvPairs);

                        attachedInfoTiles.Add(attachedInfoTile);
                    }

                    MapAttachedInfoLayer attachedInfoLayer = new MapAttachedInfoLayer(layerName, attachedInfoTiles);

                    attachedInfoLayers.Add(attachedInfoLayer);
                }
            }

            HLHMapData mapData = new HLHMapData(mapHeight, mapWidth, tileSetsImageName, mapLayers, attachedInfoLayers);

            return(mapData);
        }
コード例 #13
0
        public GameSettings LoadGameSettings()
        {
            string settingsPath = string.Format("{0}/{1}", CommonData.persistDataPath, "GameSettings.json");

            return(DataHandler.LoadDataToSingleModelWithPath <GameSettings> (settingsPath));
        }
コード例 #14
0
        public static void SaveMonstersData()
        {
            List <MonsterData> monsterDatas = new List <MonsterData>();

            string monsterDataPath = "/Users/houlianghong/Desktop/MyGameData/monsters.csv";

            MonsterModel[] monsterModels = LoadMonsterModels(monsterDataPath);

            for (int i = 0; i < monsterModels.Length; i++)
            {
                MonsterModel monsterModel = monsterModels[i];
                MonsterData  monsterData  = new MonsterData();
                monsterData.agentLevel  = 1;
                monsterData.monsterId   = monsterModel.monsterId;
                monsterData.monsterName = monsterModel.monsterName;

                monsterData.originalMaxHealth           = monsterModel.maxHealth;           //基础最大生命值
                monsterData.originalAttack              = monsterModel.attack;              //基础物理伤害
                monsterData.originalMagicAttack         = monsterModel.magicAttack;         //基础魔法伤害
                monsterData.originalArmor               = monsterModel.armor;               //基础护甲
                monsterData.originalMagicResist         = monsterModel.magicResist;         //基础抗性
                monsterData.originalArmorDecrease       = monsterModel.armorDecrease;       //基础护甲穿刺
                monsterData.originalMagicResistDecrease = monsterModel.magicResistDecrease; //基础抗性穿刺
                monsterData.originalCrit           = monsterModel.crit;                     //基础暴击率
                monsterData.originalDodge          = monsterModel.dodge;                    //基础闪避率
                monsterData.originalCritHurtScaler = monsterModel.critHurtScaler;           //基础暴击系数
                monsterData.attackInterval         = monsterModel.attackInterval;           //攻击间隔

                monsterData.rewardExperience = monsterModel.experience;                     //奖励的经验值
                monsterData.rewardGold       = monsterModel.gold;                           //奖励的金钱

                monsterData.attackSpeedLevel = monsterModel.attackSpeedLevel;
                monsterData.mosnterEvaluate  = monsterModel.evaluate;
                monsterData.monsterStory     = monsterModel.story.Replace('+', ',');

                monsterDatas.Add(monsterData);
            }


            monsterDataPath = "/Users/houlianghong/Desktop/MyGameData/boss.csv";

            monsterModels = LoadMonsterModels(monsterDataPath);

            for (int i = 0; i < monsterModels.Length; i++)
            {
                MonsterModel monsterModel = monsterModels[i];
                MonsterData  monsterData  = new MonsterData();
                monsterData.agentLevel  = 1;
                monsterData.monsterId   = monsterModel.monsterId;
                monsterData.monsterName = monsterModel.monsterName;

                monsterData.originalMaxHealth           = monsterModel.maxHealth;           //基础最大生命值
                monsterData.originalAttack              = monsterModel.attack;              //基础物理伤害
                monsterData.originalMagicAttack         = monsterModel.magicAttack;         //基础魔法伤害
                monsterData.originalArmor               = monsterModel.armor;               //基础护甲
                monsterData.originalMagicResist         = monsterModel.magicResist;         //基础抗性
                monsterData.originalArmorDecrease       = monsterModel.armorDecrease;       //基础护甲穿刺
                monsterData.originalMagicResistDecrease = monsterModel.magicResistDecrease; //基础抗性穿刺
                monsterData.originalCrit           = monsterModel.crit;                     //基础暴击率
                monsterData.originalDodge          = monsterModel.dodge;                    //基础闪避率
                monsterData.originalCritHurtScaler = monsterModel.critHurtScaler;           //基础暴击系数
                monsterData.attackInterval         = monsterModel.attackInterval;           //攻击间隔

                monsterData.rewardExperience = monsterModel.experience;                     //奖励的经验值
                monsterData.rewardGold       = monsterModel.gold;                           //奖励的金钱

                monsterData.attackSpeedLevel = monsterModel.attackSpeedLevel;
                monsterData.mosnterEvaluate  = monsterModel.evaluate;
                monsterData.monsterStory     = monsterModel.story.Replace('+', ',');


                monsterDatas.Add(monsterData);
            }

            string targetPath = CommonData.originDataPath + "/MonstersData.json";

            DataHandler.SaveInstanceListToFile <MonsterData>(monsterDatas, targetPath);

            Debug.Log("怪物数据存储完毕!");
        }
コード例 #15
0
 /// <summary>
 /// 保存通关记录
 /// </summary>
 /// <param name="playRecords">Play records.</param>
 public void SavePlayRecords(List <PlayRecord> playRecords)
 {
     DataHandler.SaveInstanceListToFile <PlayRecord>(playRecords, CommonData.playRecordsFilePath);
 }
コード例 #16
0
        /// <summary>
        /// 重置当前小地图记录并保存
        /// </summary>
        public void ResetCurrentMapMiniMapRecordAndSave()
        {
            GameManager.Instance.gameDataCenter.currentMapMiniMapRecord = null;

            DataHandler.SaveInstanceDataToFile <MiniMapRecord>(null, CommonData.miniMapRecordFilePath);
        }
コード例 #17
0
 /// <summary>
 /// 保存地图事件记录
 /// </summary>
 public void SaveMapEventsRecord()
 {
     DataHandler.SaveInstanceListToFile <MapEventsRecord>(GameManager.Instance.gameDataCenter.mapEventsRecords, CommonData.mapEventsRecordFilePath);
 }
コード例 #18
0
        private void ResetPlayerDataAndSave()
        {
            Player.mainPlayer.InitializeMapIndex();

            PlayerData playerData = new PlayerData(Player.mainPlayer);

            playerData.agentLevel = 1;


            playerData.maxHealth         = maxHealth;
            playerData.originalMaxHealth = maxHealth;
            playerData.health            = maxHealth;

            playerData.originalMaxMana = maxMana;
            playerData.maxMana         = maxMana;
            playerData.mana            = maxMana;

            playerData.originalAttack = attack;
            playerData.attack         = attack;

            playerData.originalMagicAttack = magicAttack;
            playerData.magicAttack         = magicAttack;

            playerData.originalArmor = armor;
            playerData.armor         = armor;

            playerData.originalMagicResist = magicResist;
            playerData.magicResist         = magicResist;

            playerData.originalDodge = dodge;
            playerData.dodge         = dodge;

            playerData.originalCrit = crit;
            playerData.crit         = crit;


            playerData.originalAttackSpeed = AttackSpeed.Slow;

            playerData.originalMoveSpeed = 20;


            playerData.originalArmorDecrease       = 0;
            playerData.originalMagicResistDecrease = 0;



            playerData.originalCritHurtScaler     = 1.5f;
            playerData.originalPhysicalHurtScaler = 1f;
            playerData.originalMagicalHurtScaler  = 1f;

            playerData.originalExtraGold       = 0;
            playerData.originalExtraExperience = 0;

            playerData.originalHealthRecovery = 0;
            playerData.originalMagicRecovery  = 0;


            playerData.attackSpeed = AttackSpeed.Slow;
            playerData.moveSpeed   = 20;


            playerData.armorDecrease       = 0;
            playerData.magicResistDecrease = 0;


            playerData.critHurtScaler     = 1.5f;
            playerData.physicalHurtScaler = 1f;
            playerData.magicalHurtScaler  = 1f;

            playerData.extraGold       = 0;
            playerData.extraExperience = 0;

            playerData.healthRecovery = 0;
            playerData.magicRecovery  = 0;


            playerData.allEquipmentsInBag        = new List <Equipment>();
            playerData.allConsumablesInBag       = new List <Consumables>();
            playerData.allSkillScrollsInBag      = new List <SkillScroll>();
            playerData.allSpecialItemsInBag      = new List <SpecialItem>();
            playerData.allLearnedSkillsRecord    = new List <SkillModel>();
            playerData.allPropertyGemstonesInBag = new List <PropertyGemstone>();

            playerData.maxUnlockLevelIndex = 0;
            playerData.currentLevelIndex   = 0;


            playerData.totalGold  = 0;
            playerData.experience = 0;

            playerData.isNewPlayer          = false;
            playerData.needChooseDifficulty = true;

            playerData.skillNumLeft = 0;

            playerData.luckInOpenTreasure    = 0;
            playerData.luckInMonsterTreasure = 0;

            DataHandler.SaveInstanceDataToFile <PlayerData>(playerData, CommonData.oriPlayerDataFilePath);
        }