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); }
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); } }
internal static PlayerData Find(BasePlayer player) { PlayerData data = LoadedPlayerData.ToList().Find((p) => p.id == player.userID); return(data); }
internal static PlayerData Find(ulong playerId) { PlayerData data = LoadedPlayerData.ToList().Find((p) => p.id == playerId); return(data); }