43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| using NeonTea.Quakeball.Networking.Packets;
 | |
| using NeonTea.Quakeball.TeaNet.Peers;
 | |
| using NeonTea.Quakeball.TeaNet.Packets;
 | |
| 
 | |
| namespace NeonTea.Quakeball.Networking.Instances {
 | |
|     public abstract class NetInstance {
 | |
| 
 | |
|         protected static byte[] Fingerprint = new byte[] { 0xFF, 0xF7 };
 | |
| 
 | |
|         public Peer Peer;
 | |
|         public List<ulong> Connections = new List<ulong>();
 | |
| 
 | |
|         public NetPlayer LocalPlayer;
 | |
| 
 | |
|         public NetInstance() {
 | |
|             Peer = new Peer(Fingerprint);
 | |
|         }
 | |
| 
 | |
|         public abstract void Start(string address, int port, PeerMessageListener listener);
 | |
|         public abstract void OnStop();
 | |
|         public abstract void Connected(Connection conn);
 | |
|         public abstract void Disconnected(Connection conn);
 | |
|         public abstract void Handle(Connection conn, Packet packet);
 | |
| 
 | |
|         public abstract void UpdateLocalPlayer();
 | |
|         public abstract void SendPlayerSync();
 | |
|         public abstract void LocalPlayerAction(PlayerAction action, Serializable serializable = null);
 | |
| 
 | |
|         public virtual void Update() { }
 | |
| 
 | |
|         public void Stop() {
 | |
|             if (Peer.Running) {
 | |
|                 OnStop();
 | |
|                 Peer.Stop();
 | |
|                 Peer.MessageListener.Message("Stopping");
 | |
|             }
 | |
|         }
 | |
| 
 | |
|     }
 | |
| } |