79 lines
2.2 KiB
C#
79 lines
2.2 KiB
C#
using KCM.Enums;
|
|
using KCM.Packets.Lobby;
|
|
using Riptide;
|
|
using Riptide.Demos.Steam.PlayerHosted;
|
|
using Steamworks;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml.Linq;
|
|
|
|
namespace KCM.Packets.Network
|
|
{
|
|
public class ServerHandshake : Packet
|
|
{
|
|
public override ushort packetId => (int)Enums.Packets.ServerHandshake;
|
|
|
|
public bool loadingSave { get; set; }
|
|
|
|
public override void HandlePacketClient()
|
|
{
|
|
ModalManager.HideModal();
|
|
|
|
Main.TransitionTo(Enums.MenuState.ServerLobby);
|
|
|
|
SfxSystem.PlayUiSelect();
|
|
|
|
Cam.inst.desiredDist = 80f;
|
|
Cam.inst.desiredPhi = 45f;
|
|
CloudSystem.inst.threshold1 = 0.6f;
|
|
CloudSystem.inst.threshold2 = 0.8f;
|
|
CloudSystem.inst.BaseFreq = 4.5f;
|
|
Weather.inst.SetSeason(Weather.Season.Summer);
|
|
|
|
KCClient.inst = new KCClient(SteamFriends.GetPersonaName());
|
|
|
|
Main.helper.Log("Sending client connected. Client ID is: " + clientId);
|
|
|
|
KCPlayer localPlayer;
|
|
if (!Main.kCPlayers.TryGetValue(Main.PlayerSteamID, out localPlayer))
|
|
{
|
|
localPlayer = new KCPlayer(KCClient.inst.Name, clientId, Main.PlayerSteamID);
|
|
Main.kCPlayers.Add(Main.PlayerSteamID, localPlayer);
|
|
}
|
|
else
|
|
{
|
|
localPlayer.id = clientId;
|
|
localPlayer.name = KCClient.inst.Name;
|
|
}
|
|
|
|
Player.inst.PlayerLandmassOwner.teamId = clientId * 10 + 2;
|
|
|
|
if (loadingSave && KCServer.IsRunning)
|
|
Main.TransitionTo(MenuState.Load);
|
|
else if (!loadingSave)
|
|
{
|
|
Main.TransitionTo(MenuState.NameAndBanner);
|
|
|
|
}
|
|
|
|
|
|
new KingdomName() { kingdomName = TownNameUI.inst.townName, clientId = clientId }.Send();
|
|
|
|
new ClientConnected()
|
|
{
|
|
clientId = clientId,
|
|
Name = KCClient.inst.Name,
|
|
SteamId = Main.PlayerSteamID
|
|
}.Send();
|
|
}
|
|
|
|
public override void HandlePacketServer()
|
|
{
|
|
//throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|