Пример #1
0
            internal static void TryLoad(BasePlayer player)
            {
                if (Find(player) != null)
                {
                    return;
                }

                PlayerData data = Interface.Oxide.DataFileSystem.ReadObject <PlayerData>($"KDRGui/{player.userID}");

                if (data == null || data.id == 0)
                {
                    data = new PlayerData
                    {
                        id   = player.userID,
                        name = player.displayName
                    };
                }
                else
                {
                    data.Update(player);
                }

                data.Save();
                LoadedPlayerData.Add(data);
            }
    // 로그인 확인.
    void OnLoginOk(PacketHeader header, C2PayloadVector payload, C2Session session)
    {
        sc_packet_login_ok loginOkPayload;

        payload.Read(out loginOkPayload);

        // user id
        C2Session.Instance.uniqueSessionId = (Int64)loginOkPayload.id;
        C2Client.Instance.serverID         = loginOkPayload.id;

        LoadedPlayerData playerData = new LoadedPlayerData();

        playerData.y     = loginOkPayload.y;
        playerData.x     = loginOkPayload.x;
        playerData.level = loginOkPayload.level;
        playerData.hp    = loginOkPayload.hp;
        playerData.exp   = loginOkPayload.exp;

        C2Client.Instance.PlayerData = playerData;
        //C2Client.Instance.PlayerData.y = .MoveCharacterUsingServerPosition(loginOkPayload.y, loginOkPayload.x);
        //C2Client.Instance.Player.Level = loginOkPayload.level;
        //C2Client.Instance.Player.SetHP(loginOkPayload.hp, loginOkPayload.level * 2);
        //C2Client.Instance.Player.Exp = loginOkPayload.exp;

        UIManager.Instance.CurrentState = UIState.Play;

        SceneManager.LoadSceneAsync("1_Game_mmo", LoadSceneMode.Single);

        // 핸들러 변경후
        C2Session.Instance.SetHandler(new InGamePacketHandler());
        //C2Session.Instance.gameObject.SetActive(false);
    }
Пример #3
0
            internal static void TryLoad(ulong playerId)
            {
                if (Find(playerId) != null)
                {
                    return;
                }

                PlayerData data = Interface.Oxide.DataFileSystem.ReadObject <PlayerData>($"KDRGui/{playerId}");

                if (data != null)
                {
                    LoadedPlayerData.Add(data);
                }
            }
Пример #4
0
            internal static PlayerData Find(BasePlayer player)
            {
                PlayerData data = LoadedPlayerData.ToList().Find((p) => p.id == player.userID);

                return(data);
            }
Пример #5
0
            internal static PlayerData Find(ulong playerId)
            {
                PlayerData data = LoadedPlayerData.ToList().Find((p) => p.id == playerId);

                return(data);
            }