Skip to content

Commit a9ad2ae

Browse files
committed
first commit wip.
1 parent f2d6d53 commit a9ad2ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+5298
-0
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Library/
2+
Logs/
3+
obj/
4+
Temp/
5+
.vs/
6+
.idea/
7+
.git/

Assembly-CSharp.csproj

Lines changed: 654 additions & 0 deletions
Large diffs are not rendered by default.

Assets/Code.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Code/Client.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Code/Client/ClientLogic.cs

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Net;
4+
using System.Net.Sockets;
5+
using Code.Client;
6+
using Code.Shared;
7+
using LiteNetLib;
8+
using LiteNetLib.Utils;
9+
using UnityEngine;
10+
using Random = System.Random;
11+
12+
public class ClientLogic : MonoBehaviour, INetEventListener
13+
{
14+
private NetManager _netManager;
15+
private NetDataWriter _writer;
16+
private NetPacketProcessor _packetProcessor;
17+
private Dictionary<long, ClientPlayer> _players;
18+
private void Awake()
19+
{
20+
DontDestroyOnLoad(gameObject);
21+
_players = new Dictionary<long, ClientPlayer>();
22+
_writer = new NetDataWriter();
23+
_packetProcessor = new NetPacketProcessor();
24+
_netManager = new NetManager(this)
25+
{
26+
AutoRecycle = true
27+
};
28+
_netManager.Start();
29+
}
30+
31+
private void Update()
32+
{
33+
_netManager.PollEvents();
34+
}
35+
36+
private void OnDestroy()
37+
{
38+
_netManager.Stop();
39+
}
40+
41+
private void SendPacket<T>(T packet, DeliveryMethod deliveryMethod) where T : class, new()
42+
{
43+
_writer.Reset();
44+
_writer.Put((byte)PacketType.Serialized);
45+
_packetProcessor.Write(_writer, packet);
46+
_netManager.FirstPeer.Send(_writer, deliveryMethod);
47+
}
48+
49+
void INetEventListener.OnPeerConnected(NetPeer peer)
50+
{
51+
Debug.Log("[C] Connected to server: " + peer.EndPoint);
52+
Random r = new Random();
53+
SendPacket(new JoinPacket{ UserName = Environment.MachineName + " " + r.Next(100000) }, DeliveryMethod.ReliableOrdered);
54+
}
55+
56+
void INetEventListener.OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
57+
{
58+
Debug.Log("[C] Disconnected from server: " + disconnectInfo.Reason);
59+
}
60+
61+
void INetEventListener.OnNetworkError(IPEndPoint endPoint, SocketError socketError)
62+
{
63+
Debug.Log("[C] NetworkError: " + socketError);
64+
}
65+
66+
void INetEventListener.OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
67+
{
68+
byte packetType = reader.GetByte();
69+
if (packetType >= NetworkGeneral.PacketTypesCount)
70+
return;
71+
PacketType pt = (PacketType) packetType;
72+
switch (pt)
73+
{
74+
case PacketType.Spawn:
75+
break;
76+
default:
77+
Debug.Log("Unhandled packet: " + pt);
78+
break;
79+
}
80+
}
81+
82+
void INetEventListener.OnNetworkReceiveUnconnected(IPEndPoint remoteEndPoint, NetPacketReader reader, UnconnectedMessageType messageType)
83+
{
84+
85+
}
86+
87+
void INetEventListener.OnNetworkLatencyUpdate(NetPeer peer, int latency)
88+
{
89+
90+
}
91+
92+
void INetEventListener.OnConnectionRequest(ConnectionRequest request)
93+
{
94+
request.Reject();
95+
}
96+
97+
public void Connect(string ip)
98+
{
99+
_netManager.Connect(ip, 9000, "ExampleGame");
100+
}
101+
}

Assets/Code/Client/ClientLogic.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Code/Client/ClientPlayer.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using Code.Shared;
2+
3+
namespace Code.Client
4+
{
5+
public class ClientPlayer : BasePlayer
6+
{
7+
public override void Update(float delta)
8+
{
9+
base.Update(delta);
10+
}
11+
}
12+
}

Assets/Code/Client/ClientPlayer.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Code/Client/PlayerView.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using UnityEngine;
2+
3+
namespace Code.Client
4+
{
5+
public class PlayerView : MonoBehaviour
6+
{
7+
8+
}
9+
}

Assets/Code/Client/PlayerView.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)