Exemple #1
0
        public static void GenerateMapEventsRecords()
        {
            List <MapEventsRecord> mapEventsRecords = new List <MapEventsRecord>();

            for (int i = 0; i <= CommonData.maxLevelIndex; i++)
            {
                mapEventsRecords.Add(new MapEventsRecord(i, new List <Vector2>(), false, false));
            }

            DataHandler.SaveInstanceListToFile <MapEventsRecord>(mapEventsRecords, CommonData.originDataPath + "/MapEventsRecord.json");
        }
        public static void InitSpellItemsFromData()
        {
            string propertyGemstoneOriFilePath = "/Users/houlianghong/Desktop/MyGameData/属性宝石原始数据.csv";

            string propertyGemstoneDataString = DataHandler.LoadDataString(propertyGemstoneOriFilePath);

            PropertyGemstoneDataHelper loader = new PropertyGemstoneDataHelper();

            loader.LoadAllItemsWithFullDataString(propertyGemstoneDataString);

            string propertyGemstoneDataPath = CommonData.originDataPath + "/GameItems/PropertyGemstoneDatas.json";

            DataHandler.SaveInstanceListToFile <PropertyGemstoneModel>(loader.propertyGemstoneModels, propertyGemstoneDataPath);

            Debug.Log("属性宝石数据完成");
        }
Exemple #3
0
        public static void InitSpellItemsFromData()
        {
            string skillScrollOriFilePath = "/Users/houlianghong/Desktop/MyGameData/技能卷轴原始数据.csv";

            string skillScrollDataString = DataHandler.LoadDataString(skillScrollOriFilePath);

            SkillScrollDataHelper loader = new SkillScrollDataHelper();

            loader.LoadAllItemsWithFullDataString(skillScrollDataString);

            string propertyGemstoneDataPath = CommonData.originDataPath + "/GameItems/SkillScrollDatas.json";

            DataHandler.SaveInstanceListToFile <SkillScrollModel>(loader.skillScrollModels, propertyGemstoneDataPath);

            Debug.Log("技能卷轴数据完成");
        }
Exemple #4
0
        public static void InitSpellItemsFromData()
        {
            string spellItemDataPath = "/Users/houlianghong/Desktop/MyGameData/拼写物品原始数据.csv";

            string spellItemDataString = DataHandler.LoadDataString(spellItemDataPath);

            SpellItemDataHelper loader = new SpellItemDataHelper();

            loader.LoadAllItemsWithFullDataString(spellItemDataString);

            string spellITemDataPath = CommonData.originDataPath + "/GameItems/SpellItemDatas.json";

            DataHandler.SaveInstanceListToFile <SpellItemModel>(loader.spellItemModels, spellITemDataPath);

            Debug.Log("拼写物品数据完成");
        }
        //		[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
        //		static public void CallbackInitialization()
        //		{
        //			//register the callback to be called everytime the scene is loaded
        //			SceneManager.sceneLoaded += OnSceneLoaded;
        //		}
        //
        //		static private void OnSceneLoaded(Scene arg0, LoadSceneMode arg1)
        //		{
        //			switch (arg0.name) {
        //			case "GameScene":
        //				TransformManager.FindTransform ("GameLoader").GetComponent<GameLoader> ().SetUpHomeView ();
        //				break;
        //			case "ExploreScene":
        //				int currentExploreLevel = GameManager.Instance.unlockedMaxChapterIndex;
        //
        //				ResourceLoader exploreSceneLoader = ResourceLoader.CreateNewResourceLoader ();
        //
        //				ResourceManager.Instance.LoadAssetsWithBundlePath (exploreSceneLoader, "explore/scene", () => {
        //
        //					ExploreManager.Instance.GetComponent<ExploreManager> ().SetupExploreView (currentExploreLevel);
        //
        //				}, true);
        //				break;
        //
        //			}
        //
        //		}



#warning 打包ios时需要在xcode中更改以下内容
        /// <summary>
        /// 保存所有数据
        /// 该方法用于和ios交互
        /// xcode中UnityAppController.mm  修改如下

        /*
         * - (void)applicationDidEnterBackground:(UIApplication*)application
         * {
         * UnitySendMessage("GameManager","SaveAllData",""); // 退回主界面时都进行保存操作
         * ::printf("-> applicationDidEnterBackground()\n");
         * }
         */
        /// </summary>
        public void SaveAllData()
        {
            Debug.Log("save data ");
            if (Camera.main.GetComponent <GameLoader>().dataReady)
            {
                persistDataManager.SaveDataInExplore(null, true);
            }
            // 如果退出的时候游戏数据还没有ready,用备用数据存储一次,防止数据丢失
            else if (persistDataManager.dataBackUp != null)
            {
                if (persistDataManager.dataBackUp.playerData != null)
                {
                    DataHandler.SaveInstanceDataToFile <PlayerData>(persistDataManager.dataBackUp.playerData, CommonData.playerDataFilePath);
                }
                if (persistDataManager.dataBackUp.buyRecord != null)
                {
                    DataHandler.SaveInstanceDataToFile <BuyRecord>(persistDataManager.dataBackUp.buyRecord, CommonData.buyRecordFilePath);
                }
                if (persistDataManager.dataBackUp.chatRecords != null)
                {
                    DataHandler.SaveInstanceListToFile <HLHNPCChatRecord>(persistDataManager.dataBackUp.chatRecords, CommonData.chatRecordsFilePath);
                }
                if (persistDataManager.dataBackUp.currentMapEventsRecord != null)
                {
                    DataHandler.SaveInstanceDataToFile <CurrentMapEventsRecord>(persistDataManager.dataBackUp.currentMapEventsRecord, CommonData.currentMapEventsRecordFilePath);
                }
                if (persistDataManager.dataBackUp.gameSettings != null)
                {
                    DataHandler.SaveInstanceDataToFile <GameSettings>(persistDataManager.dataBackUp.gameSettings, CommonData.gameSettingsDataFilePath);
                }
                if (persistDataManager.dataBackUp.mapEventsRecords != null)
                {
                    DataHandler.SaveInstanceListToFile <MapEventsRecord>(persistDataManager.dataBackUp.mapEventsRecords, CommonData.mapEventsRecordFilePath);
                }
                if (persistDataManager.dataBackUp.miniMapRecord != null)
                {
                    DataHandler.SaveInstanceDataToFile <MiniMapRecord>(persistDataManager.dataBackUp.miniMapRecord, CommonData.miniMapRecordFilePath);
                }
                if (persistDataManager.dataBackUp.playRecords != null)
                {
                    DataHandler.SaveInstanceListToFile <PlayRecord>(persistDataManager.dataBackUp.playRecords, CommonData.playRecordsFilePath);
                }

                persistDataManager.dataBackUp = null;
            }
        }
        /// <summary>
        /// 重置地图事件触发记录文件
        /// </summary>
        public void ResetMapEventsRecord()
        {
            bool hasRecord = DataHandler.FileExist(CommonData.mapEventsRecordFilePath);

            if (hasRecord)
            {
                DataHandler.DeleteFile(CommonData.mapEventsRecordFilePath);
            }

            List <MapEventsRecord> mapEventsRecords = new List <MapEventsRecord>();

            for (int i = 0; i <= CommonData.maxLevelIndex; i++)
            {
                mapEventsRecords.Add(new MapEventsRecord(i, new List <Vector2>(), false, false));
            }

            DataHandler.SaveInstanceListToFile <MapEventsRecord>(mapEventsRecords, CommonData.mapEventsRecordFilePath);
        }
        public static void InitSpellItemsFromData()
        {
            /******************** 注意: *******************/
            // 1. 原始数据格式必须使用【消耗品原始数据表(02_resume_design)】导出的csv文件,原始表格尾部不能有空行
            // 2. 原始数据存放的地址根据实际地址进行修改
            string consumablesOriFilePath = "/Users/houlianghong/Desktop/MyGameData/消耗品原始数据.csv";
            /******************** 注意: *******************/

            string consumablesDataString = DataHandler.LoadDataString(consumablesOriFilePath);

            ConsumablesDataHelper loader = new ConsumablesDataHelper();

            loader.LoadAllItemsWithFullDataString(consumablesDataString);

            string consumablesDataPath = CommonData.originDataPath + "/GameItems/ConsumablesDatas.json";

            DataHandler.SaveInstanceListToFile <ConsumablesModel>(loader.consumablesModels, consumablesDataPath);

            Debug.Log("消耗品数据完成");
        }
        public static void LoadNewItemDataFromLocalFile()
        {
            string newItemDataPath = "/Users/houlianghong/Desktop/MyGameData/物品设计.csv";

            string fullItemDataString = DataHandler.LoadDataString(newItemDataPath);

            NewItemDataLoader loader = new NewItemDataLoader();

            loader.LoadAllItemsWithFullDataString(fullItemDataString);

            for (int i = 0; i < loader.newItemModels.Count; i++)
            {
                ItemModel im = loader.newItemModels [i];

                Debug.Log(im);
            }

            string newItemModelsDataPath = CommonData.originDataPath + "/NewItemDatas.json";

            DataHandler.SaveInstanceListToFile <ItemModel> (loader.newItemModels, newItemModelsDataPath);
        }
        public static void LoadAllProverbData()
        {
            List <HLHSentenceAndPoem> saps = new List <HLHSentenceAndPoem>();

            string oriProverbData = DataHandler.LoadDataString(sapOriFilePath);

            string[] sapbDatasArray = oriProverbData.Split(new char[] { '\n' }, System.StringSplitOptions.RemoveEmptyEntries);

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

                HLHSentenceAndPoem sap = GenerateHLHProverb(sapData);

                saps.Add(sap);
            }

            //string formatData = JsonHelper.ToJson<HLHProverb>(proverbs.ToArray());

            DataHandler.SaveInstanceListToFile <HLHSentenceAndPoem>(saps, sapTargetFilePath);
        }
Exemple #10
0
        public static void GenerateNewEquipmentData()
        {
            /******************** 注意: *******************/
            // 1. 原始数据格式必须使用【装备原始数据表(01_equip_design)】导出的csv文件,原始表格尾部不能有空行
            // 2. 原始数据存放的地址根据实际地址进行修改
            string newItemDataSourcePath = "/Users/houlianghong/Desktop/MyGameData/装备原始数据.csv";
            /******************** 注意: *******************/



            string newItemDataString = DataHandler.LoadDataString(newItemDataSourcePath);

            NewItemDataLoader loader = new NewItemDataLoader();

            loader.LoadAllItemsWithFullDataString(newItemDataString);

            string newItemModelsDataPath = CommonData.originDataPath + "/GameItems/EquipmentDatas.json";

            DataHandler.SaveInstanceListToFile <EquipmentModel> (loader.newItemModels, newItemModelsDataPath);

            Debug.Log("装备数据完成");
        }
Exemple #11
0
        public static void InitPuzzleDatas()
        {
            string sourceDataFilePath = "/Users/houlianghong/Desktop/MyGameData/PuzzlesData.csv";

            string sourcePuzzleData = DataHandler.LoadDataString(sourceDataFilePath);

            List <Puzzle> puzzles = new List <Puzzle>();

            string[] puzzleDataArray = sourcePuzzleData.Split(new char[] { '\n' });

            for (int i = 1; i < puzzleDataArray.Length; i++)
            {
                Puzzle puzzle = GeneratePuzzleFromDataString(puzzleDataArray[i]);
                Debug.Log(puzzle.question);
                puzzles.Add(puzzle);
            }

            string targetFilePath = CommonData.originDataPath + "/PuzzleDatas.json";

            DataHandler.SaveInstanceListToFile <Puzzle>(puzzles, targetFilePath);

            Debug.Log("puzzles finish!");
        }
        /// <summary>
        /// 保存和npc的聊天记录
        /// </summary>
        public void SaveChatRecords()
        {
            List <HLHNPCChatRecord> chatRecords = GameManager.Instance.gameDataCenter.chatRecords;

            DataHandler.SaveInstanceListToFile <HLHNPCChatRecord>(chatRecords, CommonData.chatRecordsFilePath);
        }
        /// <summary>
        /// 版本更新时数据处理
        /// </summary>
        /// <param name="checkData">Check data.</param>
        /// <param name="sql">Sql.</param>
        private void OnVersionUpdate(CheckDataModel checkData, MySQLiteHelper sql)
        {
            //更新原始数据
            if (checkData.chatRecords != null && checkData.chatRecords.Count > 0)
            {
                DataHandler.SaveInstanceListToFile <HLHNPCChatRecord>(checkData.chatRecords, CommonData.chatRecordsFilePath);
            }
            if (checkData.mapEventsRecords != null && checkData.mapEventsRecords.Count > 0)
            {
                DataHandler.SaveInstanceListToFile <MapEventsRecord>(checkData.mapEventsRecords, CommonData.mapEventsRecordFilePath);
            }
            if (checkData.gameSettings != null)
            {
                DataHandler.SaveInstanceDataToFile <GameSettings>(checkData.gameSettings, CommonData.gameSettingsDataFilePath);
            }
            if (checkData.miniMapRecord != null)
            {
                DataHandler.SaveInstanceDataToFile <MiniMapRecord>(checkData.miniMapRecord, CommonData.miniMapRecordFilePath);
            }
            if (checkData.currentMapEventsRecord != null)
            {
                DataHandler.SaveInstanceDataToFile <CurrentMapEventsRecord>(checkData.currentMapEventsRecord, CommonData.currentMapEventsRecordFilePath);
            }
            if (checkData.playRecords != null)
            {
                DataHandler.SaveInstanceListToFile <PlayRecord>(checkData.playRecords, CommonData.playRecordsFilePath);
            }
            if (checkData.buyRecord != null)
            {
                DataHandler.SaveInstanceDataToFile <BuyRecord>(checkData.buyRecord, CommonData.buyRecordFilePath, true);
            }

            sql.GetConnectionWith(CommonData.dataBaseName);
            sql.BeginTransaction();

            if (checkData.learnedWordsInSimple.Count > 0)
            {
                Debug.Log(checkData.learnedWordsInSimple.Count);
                UpdateWordsDataBase(sql, 0, checkData.learnedWordsInSimple);
            }

            if (checkData.learnedWordsInMedium.Count > 0)
            {
                UpdateWordsDataBase(sql, 1, checkData.learnedWordsInMedium);
            }

            if (checkData.learnedWordsInMaster.Count > 0)
            {
                UpdateWordsDataBase(sql, 2, checkData.learnedWordsInMaster);
            }


            sql.EndTransaction();

            sql.CloseConnection(CommonData.dataBaseName);

            WordType wordType = WordType.Simple;

            if (checkData.gameSettings != null)
            {
                wordType = checkData.gameSettings.wordType;
            }

            // 更新版本信息
            ApplicationInfo.Instance.currentVersion = GameManager.Instance.currentVersion;

            DataHandler.SaveInstanceDataToFile <ApplicationInfo>(ApplicationInfo.Instance, CommonData.applicationInfoFilePath);

            if (checkData.playerData == null)
            {
                GameManager.Instance.persistDataManager.SaveCompletePlayerData();
                return;
            }

            if (checkData.playerData.currentExploreStartDateString == null ||
                checkData.playerData.currentExploreStartDateString == string.Empty)
            {
                string dateString = DateTime.Now.ToShortDateString();

                Player.mainPlayer.currentExploreStartDateString = dateString;

                checkData.playerData.currentExploreStartDateString = dateString;
            }

            // 更新单词数据
            if (checkData.playerData.maxWordContinuousRightRecord > 0)
            {
                switch (wordType)
                {
                case WordType.Simple:
                    Player.mainPlayer.maxSimpleWordContinuousRightRecord    = checkData.playerData.maxWordContinuousRightRecord;
                    checkData.playerData.maxSimpleWordContinuousRightRecord = checkData.playerData.maxWordContinuousRightRecord;
                    break;

                case WordType.Medium:
                    Player.mainPlayer.maxMediumWordContinuousRightRecord    = checkData.playerData.maxWordContinuousRightRecord;
                    checkData.playerData.maxMediumWordContinuousRightRecord = checkData.playerData.maxWordContinuousRightRecord;
                    break;

                case WordType.Master:
                    Player.mainPlayer.maxMasterWordContinuousRightRecord    = checkData.playerData.maxWordContinuousRightRecord;
                    checkData.playerData.maxMasterWordContinuousRightRecord = checkData.playerData.maxWordContinuousRightRecord;
                    break;
                }
                checkData.playerData.maxWordContinuousRightRecord = 0;
            }


            if (checkData.playerData.wordContinuousRightRecord > 0)
            {
                switch (wordType)
                {
                case WordType.Simple:
                    Player.mainPlayer.simpleWordContinuousRightRecord    = checkData.playerData.wordContinuousRightRecord;
                    checkData.playerData.simpleWordContinuousRightRecord = checkData.playerData.wordContinuousRightRecord;
                    break;

                case WordType.Medium:
                    Player.mainPlayer.mediumWordContinuousRightRecord    = checkData.playerData.wordContinuousRightRecord;
                    checkData.playerData.mediumWordContinuousRightRecord = checkData.playerData.wordContinuousRightRecord;
                    break;

                case WordType.Master:
                    Player.mainPlayer.masterWordContinuousRightRecord    = checkData.playerData.wordContinuousRightRecord;
                    checkData.playerData.masterWordContinuousRightRecord = checkData.playerData.wordContinuousRightRecord;
                    break;
                }
                checkData.playerData.wordContinuousRightRecord = 0;
            }

            if (checkData.playerData.titleQualifications != null)
            {
                bool hasOldVersionTitle = false;

                for (int i = 0; i < checkData.playerData.titleQualifications.Length; i++)
                {
                    if (checkData.playerData.titleQualifications[i])
                    {
                        hasOldVersionTitle = true;
                        break;
                    }
                }

                if (checkData.playerData.titleQualificationsOfSimple == null || checkData.playerData.titleQualificationsOfSimple.Length == 0)
                {
                    checkData.playerData.titleQualificationsOfSimple = new bool[] { false, false, false, false, false, false };
                }

                if (checkData.playerData.titleQualificationsOfMedium == null || checkData.playerData.titleQualificationsOfMedium.Length == 0)
                {
                    checkData.playerData.titleQualificationsOfMedium = new bool[] { false, false, false, false, false, false };
                }

                if (checkData.playerData.titleQualificationsOfMaster == null || checkData.playerData.titleQualificationsOfMaster.Length == 0)
                {
                    checkData.playerData.titleQualificationsOfMaster = new bool[] { false, false, false, false, false, false };
                }

                Player.mainPlayer.titleQualificationsOfSimple = checkData.playerData.titleQualificationsOfSimple;
                Player.mainPlayer.titleQualificationsOfMedium = checkData.playerData.titleQualificationsOfMedium;
                Player.mainPlayer.titleQualificationsOfMaster = checkData.playerData.titleQualificationsOfMaster;

                if (hasOldVersionTitle)
                {
                    switch (wordType)
                    {
                    case WordType.Simple:
                        Player.mainPlayer.titleQualificationsOfSimple    = checkData.playerData.titleQualifications;
                        checkData.playerData.titleQualificationsOfSimple = checkData.playerData.titleQualifications;
                        break;

                    case WordType.Medium:
                        Player.mainPlayer.titleQualificationsOfMedium    = checkData.playerData.titleQualifications;
                        checkData.playerData.titleQualificationsOfMedium = checkData.playerData.titleQualifications;
                        break;

                    case WordType.Master:
                        Player.mainPlayer.titleQualificationsOfMaster    = checkData.playerData.titleQualifications;
                        checkData.playerData.titleQualificationsOfMaster = checkData.playerData.titleQualifications;
                        break;
                    }
                    checkData.playerData.titleQualifications = new bool[] { false, false, false, false, false, false };
                }
            }

            DataHandler.SaveInstanceDataToFile <PlayerData>(checkData.playerData, CommonData.playerDataFilePath, true);
        }
 /// <summary>
 /// 保存当前关卡单词学习记录
 /// </summary>
 public void SaveCurrentMapWordsRecords()
 {
     DataHandler.SaveInstanceListToFile <HLHWord>(GameManager.Instance.gameDataCenter.currentMapWordRecords, CommonData.currentMapWordsRecordsFilePath);
 }
 /// <summary>
 /// 清理当前单词学习记录并保存
 /// </summary>
 public void ClearCurrentMapWordsRecordAndSave()
 {
     GameManager.Instance.gameDataCenter.currentMapWordRecords.Clear();
     DataHandler.SaveInstanceListToFile <HLHWord>(new List <HLHWord>(), CommonData.currentMapWordsRecordsFilePath);
 }
 /// <summary>
 /// 保存地图事件记录
 /// </summary>
 public void SaveMapEventsRecord()
 {
     DataHandler.SaveInstanceListToFile <MapEventsRecord>(GameManager.Instance.gameDataCenter.mapEventsRecords, CommonData.mapEventsRecordFilePath);
 }
 /// <summary>
 /// 保存通关记录
 /// </summary>
 /// <param name="playRecords">Play records.</param>
 public void SavePlayRecords(List <PlayRecord> playRecords)
 {
     DataHandler.SaveInstanceListToFile <PlayRecord>(playRecords, CommonData.playRecordsFilePath);
 }
 /// <summary>
 /// 重置和npc的聊天记录
 /// </summary>
 public void ResetChatRecords()
 {
     DataHandler.SaveInstanceListToFile <HLHNPCChatRecord>(new List <HLHNPCChatRecord>(), CommonData.chatRecordsFilePath);
 }
Exemple #19
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("怪物数据存储完毕!");
        }