示例#1
0
    public Player CreateNonPlayer(int id, PlayerLoader.OnCompleteLoad callback = null)
    {
        //IL_0005: Unknown result type (might be due to invalid IL or missing references)
        //IL_0025: Unknown result type (might be due to invalid IL or missing references)
        //IL_002a: Unknown result type (might be due to invalid IL or missing references)
        //IL_0047: Unknown result type (might be due to invalid IL or missing references)
        //IL_004c: Unknown result type (might be due to invalid IL or missing references)
        //IL_004e: Unknown result type (might be due to invalid IL or missing references)
        CreatePlayerInfo.ExtentionInfo extention_info = null;
        Player player = CreateNonPlayer(id, extention_info, Vector3.get_zero(), 0f, null, callback);

        if (player == null)
        {
            return(null);
        }
        Vector3 appearPosGuest = Vector3.get_zero();

        if (boss != null)
        {
            appearPosGuest = boss._transform.get_position();
        }
        player.SetAppearPosGuest(appearPosGuest);
        return(player);
    }
示例#2
0
    public Player CreateNonPlayer(int id, CreatePlayerInfo.ExtentionInfo extention_info, Vector3 pos, float dir, PlayerTransferInfo transfer_info = null, PlayerLoader.OnCompleteLoad callback = null)
    {
        //IL_0237: Unknown result type (might be due to invalid IL or missing references)
        CreatePlayerInfo createPlayerInfo = new CreatePlayerInfo();

        createPlayerInfo.charaInfo = new CharaInfo();
        bool flag = QuestManager.IsValidInGame() && MonoBehaviourSingleton <QuestManager> .I.GetVorgonQuestType() != QuestManager.VorgonQuetType.NONE;

        bool flag2 = false;

        if (extention_info != null)
        {
            createPlayerInfo.extentionInfo = extention_info;
        }
        else
        {
            createPlayerInfo.extentionInfo = new CreatePlayerInfo.ExtentionInfo();
            flag2 = true;
        }
        NPCTable.NPCData nPCData = null;
        if (flag2)
        {
            List <int> list = new List <int>();
            int        i    = 0;
            for (int count = nonplayerList.Count; i < count; i++)
            {
                NonPlayer nonPlayer = nonplayerList[i] as NonPlayer;
                if (nonPlayer != null)
                {
                    list.Add(nonPlayer.npcId);
                }
            }
            nPCData = Singleton <NPCTable> .I.GetNPCDataRandom(NPCTable.NPC_TYPE.FIGURE, list);

            if (nPCData != null)
            {
                createPlayerInfo.extentionInfo.npcDataID = nPCData.id;
            }
        }
        else
        {
            nPCData = Singleton <NPCTable> .I.GetNPCData(createPlayerInfo.extentionInfo.npcDataID);
        }
        if (flag)
        {
            int npc_id = VorgonPreEventController.NPC_ID_LIST[id % 3];
            nPCData = Singleton <NPCTable> .I.GetNPCData(npc_id);
        }
        if (nPCData == null)
        {
            return(null);
        }
        nPCData.CopyCharaInfo(createPlayerInfo.charaInfo);
        NpcLevelTable.NpcLevelData npcLevelData = null;
        if (flag2)
        {
            int lv = 1;
            if (QuestManager.IsValidInGame() && MonoBehaviourSingleton <QuestManager> .I.GetCurrentQuestEnemyID() > 0)
            {
                lv = MonoBehaviourSingleton <QuestManager> .I.GetCurrentQuestEnemyLv();
            }
            if (flag)
            {
                lv = 80;
            }
            npcLevelData = Singleton <NpcLevelTable> .I.GetNpcLevelRandom((uint)lv);

            if (npcLevelData != null)
            {
                createPlayerInfo.extentionInfo.npcLv      = (int)npcLevelData.lv;
                createPlayerInfo.extentionInfo.npcLvIndex = npcLevelData.lvIndex;
            }
        }
        else
        {
            npcLevelData = Singleton <NpcLevelTable> .I.GetNpcLevel((uint)createPlayerInfo.extentionInfo.npcLv, createPlayerInfo.extentionInfo.npcLvIndex);
        }
        if (npcLevelData == null)
        {
            return(null);
        }
        npcLevelData.CopyHomeCharaInfo(createPlayerInfo.charaInfo, (!flag2) ? null : createPlayerInfo.extentionInfo);
        if (flag)
        {
            for (int j = 0; j < createPlayerInfo.charaInfo.equipSet.Count; j++)
            {
                createPlayerInfo.charaInfo.equipSet[j].eId = VorgonPreEventController.NPC_WEAPON_ID_LIST[id % 3];
            }
        }
        return(CreatePlayer(id, createPlayerInfo, false, pos, dir, transfer_info, callback));
    }