void Import(byte[] buffer) { MemoryStream ms = new MemoryStream(buffer); BinaryReader _in = new BinaryReader(ms); /*int readVersion = */ _in.ReadInt32(); int count = _in.ReadInt32(); for (int i = 0; i < count; i++) { mActivelist.Add(_in.ReadInt32()); } count = _in.ReadInt32(); for (int i = 0; i < count; i++) { NpcMissionData data = new NpcMissionData(); int npcid = _in.ReadInt32(); if (npcid == -1) { continue; } data.m_Rnpc_ID = _in.ReadInt32(); data.m_QCID = _in.ReadInt32(); data.m_CurMissionGroup = _in.ReadInt32(); data.m_CurGroupTimes = _in.ReadInt32(); data.mCurComMisNum = _in.ReadByte(); data.mCompletedMissionCount = _in.ReadInt32(); data.m_RandomMission = _in.ReadInt32(); data.m_RecruitMissionNum = _in.ReadInt32(); int num = _in.ReadInt32(); for (int j = 0; j < num; j++) { data.m_MissionList.Add(_in.ReadInt32()); } num = _in.ReadInt32(); for (int j = 0; j < num; j++) { data.m_MissionListReply.Add(_in.ReadInt32()); } mNpcList.Add(npcid); NpcMissionDataRepository.AddMissionData(npcid, data); } _in.Close(); ms.Close(); }
public static void LoadData() { Mono.Data.SqliteClient.SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("NPCMission"); while (reader.Read()) { NpcMissionData missionData = new NpcMissionData(); int id = System.Convert.ToInt32(reader.GetString(reader.GetOrdinal("NPC_ID"))); string strTemp = reader.GetString(reader.GetOrdinal("missionlist")); string[] missionlist = strTemp.Split(','); for (int i = 0; i < missionlist.Length; i++) { if (missionlist[i] != "0") { missionData.m_MissionList.Add(System.Convert.ToInt32(missionlist[i])); } } strTemp = reader.GetString(reader.GetOrdinal("missionlistreply")); string[] missionlistreply = strTemp.Split(','); for (int i = 0; i < missionlistreply.Length; i++) { if (missionlistreply[i] != "0") { missionData.AddMissionListReply(System.Convert.ToInt32(missionlistreply[i])); } } strTemp = reader.GetString(reader.GetOrdinal("Colony_RecruitMissionID")); missionlist = strTemp.Split(','); for (int i = 0; i < missionlist.Length; i++) { if (missionlist[i] != "0") { missionData.m_CSRecruitMissionList.Add(Convert.ToInt32(missionlist[i])); } } NpcMissionDataRepository.AddMissionData(id, missionData); } LoadNpcRandomMissionData(); LoadAdRandMisNpcData(); }
public void Import(byte[] buffer) { LogManager.Info("TownNpcManager.Instance.Import()"); Clear(); if (buffer.Length == 0) { return; } MemoryStream ms = new MemoryStream(buffer); BinaryReader _in = new BinaryReader(ms); int iSize = _in.ReadInt32(); for (int i = 0; i < iSize; i++) { NpcMissionData data = new NpcMissionData(); int npcid = _in.ReadInt32(); if (npcid == -1) { continue; } data.m_Rnpc_ID = _in.ReadInt32(); data.m_QCID = _in.ReadInt32(); data.m_CurMissionGroup = _in.ReadInt32(); data.m_CurGroupTimes = _in.ReadInt32(); data.mCurComMisNum = _in.ReadByte(); data.mCompletedMissionCount = _in.ReadInt32(); data.m_RandomMission = _in.ReadInt32(); data.m_RecruitMissionNum = _in.ReadInt32(); int num = _in.ReadInt32(); for (int j = 0; j < num; j++) { data.m_MissionList.Add(_in.ReadInt32()); } num = _in.ReadInt32(); for (int j = 0; j < num; j++) { data.m_MissionListReply.Add(_in.ReadInt32()); } createdNpcIdList.Add(npcid); NpcMissionDataRepository.AddMissionData(npcid, data); } iSize = _in.ReadInt32(); for (int i = 0; i < iSize; i++) { int x = _in.ReadInt32(); int z = _in.ReadInt32(); createdPosList.Add(new IntVector2(x, z)); } _in.Close(); ms.Close(); }
public void Import(byte[] buffer) { //LogManager.Error("BuildingInfoManager.Instance.Import()"); Clear(); if (buffer.Length == 0) { return; } MemoryStream ms = new MemoryStream(buffer); BinaryReader _in = new BinaryReader(ms); int iSize = _in.ReadInt32(); for (int i = 0; i < iSize; i++) { NpcMissionData data = new NpcMissionData(); int npcid = _in.ReadInt32(); if (npcid == -1) { continue; } data.m_Rnpc_ID = _in.ReadInt32(); data.m_QCID = _in.ReadInt32(); data.m_CurMissionGroup = _in.ReadInt32(); data.m_CurGroupTimes = _in.ReadInt32(); data.mCurComMisNum = _in.ReadByte(); data.mCompletedMissionCount = _in.ReadInt32(); data.m_RandomMission = _in.ReadInt32(); data.m_RecruitMissionNum = _in.ReadInt32(); int num = _in.ReadInt32(); for (int j = 0; j < num; j++) { data.m_MissionList.Add(_in.ReadInt32()); } num = _in.ReadInt32(); for (int j = 0; j < num; j++) { data.m_MissionListReply.Add(_in.ReadInt32()); } bool isStand = _in.ReadBoolean(); float rotY = _in.ReadSingle(); createdNpcIdList.Add(new BuildingNpcIdStand(npcid, isStand, rotY)); NpcMissionDataRepository.AddMissionData(npcid, data); } iSize = _in.ReadInt32(); for (int i = 0; i < iSize; i++) { BuildingID no = new BuildingID(); no.townId = _in.ReadInt32(); no.buildingNo = _in.ReadInt32(); mCreatedNpcBuildingID.Add(no, 0); } _in.Close(); ms.Close(); //loadRecord = LOADMARK; }
public static void CreateNpc(SceneEntityPosAgent agent) { agent.entity = null; if (agent.protoId < 0) { List <int> adnpcList = NpcMissionDataRepository.GetAdRandListByWild(1); int idx = UnityEngine.Random.Range(0, adnpcList.Count); agent.protoId = adnpcList[idx]; } AdNpcData data = NpcMissionDataRepository.GetAdNpcData(agent.protoId); if (data == null) { return; } if (NetworkInterface.IsClient && !PeGameMgr.IsMultiStory) { if (agent.protoId > 100) { NetworkManager.WaitCoroutine(PlayerNetwork.RequestCreateAdNpc(agent.protoId, agent.Pos)); } else { NetworkManager.WaitCoroutine(PlayerNetwork.RequestCreateAdMainNpc(agent.protoId, agent.Pos)); } return; } int id = WorldInfoMgr.Instance.FetchRecordAutoId(); // agent.entity = PeCreature.Instance.CreateRandomNpc(data.mRnpc_ID, data.mID, agent.Pos, agent.Rot, agent.Scl); agent.entity = PeCreature.Instance.CreateRandomNpc(data.mRnpc_ID, id, agent.Pos, agent.Rot, agent.Scl); if (null == agent.entity) { Debug.LogError("[SceneEntityCreator]Failed to create npc:" + agent.protoId); return; } if (MissionManager.Instance && agent.protoId < 100 && !MissionManager.Instance.m_PlayerMission.adId_entityId.ContainsKey(agent.protoId)) { MissionManager.Instance.m_PlayerMission.adId_entityId[agent.protoId] = agent.entity.Id; } agent.entity.SetBirthPos(agent.Pos);//delete npc need NpcMissionData useData = new NpcMissionData(); useData.m_bRandomNpc = true; useData.m_Rnpc_ID = data.mRnpc_ID; useData.m_QCID = data.mQC_ID; int misid = AdRMRepository.GetRandomMission(useData.m_QCID, useData.m_CurMissionGroup); if (misid != 0) { useData.m_RandomMission = misid; } for (int i = 0; i < data.m_CSRecruitMissionList.Count; i++) { useData.m_CSRecruitMissionList.Add(data.m_CSRecruitMissionList[i]); } NpcMissionDataRepository.AddMissionData(agent.entity.Id, useData); agent.entity.SetUserData(useData); return; }
static void LoadNpcRandomMissionData() { Mono.Data.SqliteClient.SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("RandNPCMission"); while (reader.Read()) { NpcMissionData missionData = new NpcMissionData(); missionData.mCurComMisNum = 0; int id = Convert.ToInt32(reader.GetString(reader.GetOrdinal("ID"))); missionData.m_Rnpc_ID = Convert.ToInt32(reader.GetString(reader.GetOrdinal("RNPC_ID"))); string tmp; string[] tmplist; tmp = reader.GetString(reader.GetOrdinal("natalplace")); tmplist = tmp.Split(','); if (tmplist.Length == 3) { float x = Convert.ToSingle(tmplist[0]); float y = Convert.ToSingle(tmplist[1]); float z = Convert.ToSingle(tmplist[2]); missionData.m_Pos = new Vector3(x, y, z); } tmp = reader.GetString(reader.GetOrdinal("Rmissionlist")); if (tmp != "0") { missionData.m_RandomMission = Convert.ToInt32(tmp); } tmp = reader.GetString(reader.GetOrdinal("missionlist")); tmplist = tmp.Split(','); for (int i = 0; i < tmplist.Length; i++) { if (tmplist[i] != "0") { missionData.m_MissionList.Add(Convert.ToInt32(tmplist[i])); } } tmp = reader.GetString(reader.GetOrdinal("RecruitMissionID")); tmplist = tmp.Split(','); for (int i = 0; i < tmplist.Length; i++) { if (tmplist[i] != "0") { missionData.m_RecruitMissionList.Add(Convert.ToInt32(tmplist[i])); } } missionData.mCompletedMissionCount = Convert.ToInt32(reader.GetString(reader.GetOrdinal("RecruitMissionNum"))); tmp = reader.GetString(reader.GetOrdinal("Colony_RecruitMissionID")); tmplist = tmp.Split(','); for (int i = 0; i < tmplist.Length; i++) { if (tmplist[i] != "0") { missionData.m_CSRecruitMissionList.Add(Convert.ToInt32(tmplist[i])); } } missionData.m_bRandomNpc = true; NpcMissionDataRepository.AddMissionData(id, missionData); } }