Beispiel #1
0
    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();
    }
Beispiel #2
0
    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();
    }
Beispiel #4
0
    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;
    }
Beispiel #5
0
    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;
    }
Beispiel #6
0
    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);
        }
    }