public void Restore() { byte[] data = ArchiveMgr.Instance.GetData(TutorialDataArchiveKey); if (null != data) { TutorialData.Deserialize(data); } data = ArchiveMgr.Instance.GetData(MetalScanDataArchiveKey); if (null != data) { MetalScanData.Deserialize(data); } data = ArchiveMgr.Instance.GetData(MessageDataArchveKey); if (null != data) { MessageData.Deserialize(data); } data = ArchiveMgr.Instance.GetData(MonsterHandbookDataArchveKey); if (null != data) { MonsterHandbookData.Deserialize(data); } }
public static void LoadData() { SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("book"); MonsterHandbookData info = null; while (reader.Read()) { int id = Convert.ToInt32(reader.GetString(reader.GetOrdinal("ID"))); string monsterIDsStr = reader.GetString(reader.GetOrdinal("MonsterID")); int modelID = Convert.ToInt32(reader.GetString(reader.GetOrdinal("ModelID"))); int nameID = Convert.ToInt32(reader.GetString(reader.GetOrdinal("Name"))); int descriptionID = Convert.ToInt32(reader.GetString(reader.GetOrdinal("Content"))); string[] monsterIDsStrs = monsterIDsStr.Split(new char[] { ',' }); int[] monsterIDs = new int[monsterIDsStrs.Length]; for (int i = 0; i < monsterIDsStrs.Length; i++) { monsterIDs[i] = Convert.ToInt32(monsterIDsStrs[i]); } info = new MonsterHandbookData(id, monsterIDs, modelID, PELocalization.GetString(nameID), PELocalization.GetString(descriptionID)); AllMonsterHandbookDataDic.Add(id, info); AllMonsterIDDic.Add(id, monsterIDs); } }
public void New() { MetalScanData.Clear(); //lz-2016.07.25 添加清空方法,在新游戏的时候清空保存的用户数据 MessageData.Clear(); TutorialData.Clear(); MonsterHandbookData.Clear(); }
void RPC_S2C_MonsterBook(uLink.BitStream stream, uLink.NetworkMessageInfo info) { bool ownerData = stream.Read <bool>(); if (ownerData) { MonsterHandbookData.Deserialize(stream.Read <byte[]>()); } else { MonsterHandbookData.AddMhByKilledMonsterID(stream.Read <int>()); } }
void ISerializable.Serialize(PeRecordWriter w) { if (w.key == TutorialDataArchiveKey) { w.binaryWriter.Write(TutorialData.Serialize()); } else if (w.key == MetalScanDataArchiveKey) { w.binaryWriter.Write(MetalScanData.Serialize()); } else if (w.key == MessageDataArchveKey) { w.binaryWriter.Write(MessageData.Serialize()); } else if (w.key == MonsterHandbookDataArchveKey) { w.binaryWriter.Write(MonsterHandbookData.Serialize()); } }
private void MhListItemSelectEvent(UIListItem item) { if (item == this.m_BackupSelectItem) { return; } if (null != this.m_BackupSelectItem) { this.m_BackupSelectItem.CancelSelect(); } this.m_BackupSelectItem = item; if (MonsterHandbookData.ActiveMhDataID.Contains(item.ID)) { MonsterHandbookData info = MonsterHandbookData.AllMonsterHandbookDataDic[item.ID]; this.SetNewModel(info.ModelID); this.UpdateDescription(info.Description); this.UpdateName(info.Name); } else { this.ResetAllLabel(); } }
void OnEntityDeath(SkEntity entity, SkEntity caster) { CommonCmpt common = entity.GetComponent <CommonCmpt>(); if (common != null) { if (common.entityProto.proto == EEntityProto.Doodad) { DestroyEntity(entity, 30.0f); } if (common.entityProto.proto == EEntityProto.Monster) { MonsterHandbookData.AddMhByKilledMonsterID(common.entityProto.protoId); if (common.GetComponent <TowerCmpt>() == null) { float reviveTime = 10; PeEntity mon = entity.GetComponent <PeEntity>(); if (mon != null) { if (StroyManager.Instance != null) { if (StroyManager.Instance.m_RecordKillMons.Count != 0) { foreach (var item in StroyManager.Instance.m_RecordKillMons.Values) { if (item.type == KillMons.Type.fixedId && SceneEntityCreatorArchiver.Instance.GetEntityByFixedSpId(item.monId) == mon) { reviveTime = (item.reviveTime == 0 ? reviveTime : item.reviveTime); break; } else if (item.type == KillMons.Type.protoTypeId && Vector3.Distance(mon.position, item.center) <= item.radius && (item.monId == -999 ? true : common.entityProto.protoId == item.monId)) { reviveTime = (item.reviveTime == 0 ? reviveTime : item.reviveTime); break; } } } } } DestroyEntity(entity, reviveTime); } } NpcCmpt npc = entity.GetComponent <NpcCmpt>(); if (common.entityProto.proto == EEntityProto.Npc) { if (GameUI.Instance != null) { if (GameUI.Instance.mNpcWnd.IsOpen() && GameUI.Instance.mNpcWnd.m_CurSelNpc.commonCmpt == common) { GameUI.Instance.mNpcWnd.Hide(); } } if (npc != null && npc.Type != ENpcType.Follower && npc.ReviveTime > 0) { ReviveEntity(entity, 10.0f); } if (npc.ReviveTime <= 0) { PeEntity npcentity = npc.GetComponent <PeEntity>(); if (MissionManager.Instance != null && MissionManager.Instance.m_PlayerMission != null) { MissionManager.Instance.m_PlayerMission.SetMissionState(npcentity, NpcMissionState.Max); } NpcMissionData missionData = npcentity.GetUserData() as NpcMissionData; if (missionData != null) { missionData.m_MissionList.Clear(); } } } else if (common.entityProto.proto == EEntityProto.RandomNpc) { if (npc != null && !npc.IsServant) { if (npc.ReviveTime > 0) { if (PeGameMgr.IsMultiStory) { if (entity._net is AiAdNpcNetwork) { int tempid = ((AiAdNpcNetwork)(entity._net)).ExternId; RandomNpcDb.Item item = RandomNpcDb.Get(tempid); if (item != null) { if (item.reviveTime != -1) { ReviveEntity(entity, item.reviveTime); } } } } else { ReviveEntity(entity, npc.ReviveTime); } } } //follower revive // if (npc != null && npc.IsServant) // { // ReviveEntity(entity, npc.ReviveTime + npc.FollowerReviceTime); // } } } }
public static void LoadAllData() { if (s_localDatabase != null) { return; } #if UNITY_EDITOR System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); #endif s_localDatabase = LoadDb(); SkillSystem.SkData.LoadData(); Pathea.Effect.EffectData.LoadData(); Pathea.Projectile.ProjectileData.LoadData(); Pathea.RequestRelation.LoadData(); Pathea.CampData.LoadData(); Pathea.ThreatData.LoadData(); Pathea.DamageData.LoadData(); HumanSoundData.LoadData(); ItemDropData.LoadData(); PELocalization.LoadData(); NaturalResAsset.NaturalRes.LoadData(); //SkillAsset.EffCastData.LoadData(); //SkillAsset.EffSkill.LoadData(); //SkillAsset.MergeSkill.LoadData(); //AnimData.LoadData(); //AnimSoundData.LoadData(); AiAsset.AiData.LoadData(); SoundAsset.SESoundBuff.LoadData(); SoundAsset.SESoundStory.LoadData(); //CharacterData.LoadCharacterData(); StoryDoodadMap.LoadData(); StoreRepository.LoadData(); NpcMissionDataRepository.LoadData(); //PlayerAttribute.LoadData(); MissionRepository.LoadData(); TalkRespository.LoadData(); //NpcRandomRepository.LoadData(); ShopRespository.LoadData(); WareHouseManager.LoadData(); //HeroTalkRepository.LoadData(); MutiPlayRandRespository.LoadData(); PromptRepository.LoadData(); //MapIconData.LoadDate(); //MapMaskData.LoadDate(); CampPatrolData.LoadDate(); Camp.LoadData(); RepProcessor.LoadData(); CloudManager.LoadData(); //BattleUnitData.LoadData(); TutorialData.LoadData(); //RepairMachineManager.LoadData(); MapMaskData.LoadDate(); MessageData.LoadData(); //lz-2016.07.13 Add it MonsterHandbookData.LoadData(); //lz-2016.07.20 Add it StoryRepository.LoadData(); RMRepository.LoadRandMission(); MisInitRepository.LoadData(); CameraRepository.LoadCameraPlot(); AdRMRepository.LoadData(); VCConfig.InitConfig(); Cutscene.LoadData(); // BuildBrushData.LoadBrush(); BSPattern.LoadBrush(); BSVoxelMatMap.Load(); BSBlockMatMap.Load(); BlockBuilding.LoadBuilding(); LifeFormRule.LoadData(); PlantInfo.LoadData(); MetalScanData.LoadData(); BattleConstData.LoadData(); CustomCharactor.CustomMetaData.LoadData(); SkillTreeInfo.LoadData(); VArtifactUtil.LoadData(); Pathea.ActionRelationData.LoadActionRelation(); //colony CSInfoMgr.LoadData(); ProcessingObjInfo.LoadData(); CSTradeInfoData.LoadData(); CampTradeIdData.LoadData(); AbnormalTypeTreatData.LoadData(); CSMedicineSupport.LoadData(); //RandomItemMgr RandomItemDataMgr.LoadData(); FecesData.LoadData(); //randomdungeon RandomDungeonDataBase.LoadData(); AbnormalData.LoadData(); PEAbnormalNoticeData.LoadData(); RelationInfo.LoadData(); EquipSetData.LoadData(); SuitSetData.LoadData(); CheatData.LoadData(); Pathea.NpcProtoDb.Load(); Pathea.MonsterProtoDb.Load(); Pathea.MonsterRandomDb.Load(); Pathea.MonsterGroupProtoDb.Load(); Pathea.RandomNpcDb.Load(); Pathea.PlayerProtoDb.Load(); Pathea.TowerProtoDb.Load(); Pathea.DoodadProtoDb.Load(); Pathea.AttPlusNPCData.Load(); Pathea.AttPlusBuffDb.Load(); Pathea.NpcTypeDb.Load(); Pathea.NpcRandomTalkDb.Load(); Pathea.NpcThinkDb.LoadData(); Pathea.NpcEatDb.LoadData(); Pathea.NpcRobotDb.Load(); Pathea.NPCScheduleData.Load(); Pathea.NpcVoiceDb.LoadData(); InGameAidData.LoadData(); //lz-2016.08.21 add it MountsSkillDb.LoadData(); #if UNITY_EDITOR sw.Stop(); Debug.Log("Database Loaded : " + sw.ElapsedMilliseconds); sw.Reset(); #else Debug.Log("Database Loaded"); #endif }