C# Класс fCraft.Session

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
CanReceive bool
FullPositionUpdateInterval int
LoginTime System.DateTime
Player Player
canReceive bool
loginTime System.DateTime
outputQueue Queue
player Player
state State

Открытые методы

Метод Описание
AddEntity ( Player player, Position newPos ) : void
ClearBlockUpdateQueue ( ) : void
ClearPriorityOutputQueue ( ) : void
DenyMovement ( ) : void
Disconnect ( ) : void
GetIP ( ) : IPAddress
HideEntity ( VisibleEntity entity ) : void
IoLoop ( ) : void
JoinWorld ( World newWorld ) : void
JoinWorld ( World newWorld, Position position ) : void
JoinWorldInternal ( World newWorld, Position position, bool doUseWorldPosition ) : void
Kick ( string message ) : void
Kick ( string message, LeaveReason leaveReason ) : void

Kick (asynchronous). Immediately blocks all client input, but waits until client thread sends the kick packet.

KickNow ( string message ) : void
KickNow ( string message, LeaveReason leaveReason ) : void

Kick (synchronous). Immediately sends the kick packet. Can only be used from IoThread (this is not thread-safe).

LoginSequence ( ) : void
MeasureBandwidthUseRates ( ) : void
MoveEntity ( VisibleEntity entity, Position newPos ) : void
ProcessMovementPacket ( ) : void
ProcessSetBlockPacket ( ) : void
ReAddEntity ( VisibleEntity entity, Player player, Position newPos ) : void
RemoveEntity ( Player player ) : void
ResetVisibleEntities ( ) : void
Send ( Packet packet ) : void

Send packet (asynchronous, priority queue). This is used for most packets (movement, chat, etc).

Send ( Packet packet, bool isHighPriority ) : void
SendDelayed ( Packet packet ) : void

Send packet (asynchronous, delayed queue). This is currently only used for block updates.

SendNow ( Packet packet ) : void

Send packet to player (synchronous). Sends the packet off immediately. Should not be used from any thread other than this session's IoThread. Not thread-safe (for performance reason).

Session ( TcpClient tcpClient ) : System
Session ( World _world, TcpClient _client ) : System
ShowEntity ( VisibleEntity entity, Position newPos ) : void
Start ( ) : void
ToString ( ) : string
UpdateVisibleEntities ( ) : void
WaitForDisconnect ( ) : void

Blocks the calling thread until this session disconnects.

Приватные методы

Метод Описание
DetectMovementPacketSpam ( ) : bool
HandleInput ( Packet packet ) : void
InputHandler ( ) : void
JoinWorldNow ( World newWorld, bool firstTime, bool doUseWorldSpawn ) : bool
LoginFailure ( string message ) : void
LoginSequence ( ) : bool
LoginSuccess ( ) : void
OutputHandler ( ) : void
ProcessMessagePacket ( ) : bool
ReadString ( ) : string

Описание методов

AddEntity() публичный Метод

public AddEntity ( Player player, Position newPos ) : void
player Player
newPos Position
Результат void

ClearBlockUpdateQueue() публичный Метод

public ClearBlockUpdateQueue ( ) : void
Результат void

ClearPriorityOutputQueue() публичный Метод

public ClearPriorityOutputQueue ( ) : void
Результат void

DenyMovement() публичный Метод

public DenyMovement ( ) : void
Результат void

Disconnect() публичный Метод

public Disconnect ( ) : void
Результат void

GetIP() публичный Метод

public GetIP ( ) : IPAddress
Результат System.Net.IPAddress

HideEntity() публичный Метод

public HideEntity ( VisibleEntity entity ) : void
entity VisibleEntity
Результат void

IoLoop() публичный Метод

public IoLoop ( ) : void
Результат void

JoinWorld() публичный Метод

public JoinWorld ( World newWorld ) : void
newWorld World
Результат void

JoinWorld() публичный Метод

public JoinWorld ( World newWorld, Position position ) : void
newWorld World
position Position
Результат void

JoinWorldInternal() публичный Метод

public JoinWorldInternal ( World newWorld, Position position, bool doUseWorldPosition ) : void
newWorld World
position Position
doUseWorldPosition bool
Результат void

Kick() публичный Метод

public Kick ( string message ) : void
message string
Результат void

Kick() публичный Метод

Kick (asynchronous). Immediately blocks all client input, but waits until client thread sends the kick packet.
public Kick ( string message, LeaveReason leaveReason ) : void
message string
leaveReason LeaveReason
Результат void

KickNow() публичный Метод

public KickNow ( string message ) : void
message string
Результат void

KickNow() публичный Метод

Kick (synchronous). Immediately sends the kick packet. Can only be used from IoThread (this is not thread-safe).
public KickNow ( string message, LeaveReason leaveReason ) : void
message string
leaveReason LeaveReason
Результат void

LoginSequence() публичный Метод

public LoginSequence ( ) : void
Результат void

MeasureBandwidthUseRates() публичный Метод

public MeasureBandwidthUseRates ( ) : void
Результат void

MoveEntity() публичный Метод

public MoveEntity ( VisibleEntity entity, Position newPos ) : void
entity VisibleEntity
newPos Position
Результат void

ProcessMovementPacket() публичный Метод

public ProcessMovementPacket ( ) : void
Результат void

ProcessSetBlockPacket() публичный Метод

public ProcessSetBlockPacket ( ) : void
Результат void

ReAddEntity() публичный Метод

public ReAddEntity ( VisibleEntity entity, Player player, Position newPos ) : void
entity VisibleEntity
player Player
newPos Position
Результат void

RemoveEntity() публичный Метод

public RemoveEntity ( Player player ) : void
player Player
Результат void

ResetVisibleEntities() публичный Метод

public ResetVisibleEntities ( ) : void
Результат void

Send() публичный Метод

Send packet (asynchronous, priority queue). This is used for most packets (movement, chat, etc).
public Send ( Packet packet ) : void
packet Packet
Результат void

Send() публичный Метод

public Send ( Packet packet, bool isHighPriority ) : void
packet Packet
isHighPriority bool
Результат void

SendDelayed() публичный Метод

Send packet (asynchronous, delayed queue). This is currently only used for block updates.
public SendDelayed ( Packet packet ) : void
packet Packet
Результат void

SendNow() публичный Метод

Send packet to player (synchronous). Sends the packet off immediately. Should not be used from any thread other than this session's IoThread. Not thread-safe (for performance reason).
public SendNow ( Packet packet ) : void
packet Packet
Результат void

Session() публичный Метод

public Session ( TcpClient tcpClient ) : System
tcpClient System.Net.Sockets.TcpClient
Результат System

Session() публичный Метод

public Session ( World _world, TcpClient _client ) : System
_world World
_client System.Net.Sockets.TcpClient
Результат System

ShowEntity() публичный Метод

public ShowEntity ( VisibleEntity entity, Position newPos ) : void
entity VisibleEntity
newPos Position
Результат void

Start() публичный Метод

public Start ( ) : void
Результат void

ToString() публичный Метод

public ToString ( ) : string
Результат string

UpdateVisibleEntities() публичный Метод

public UpdateVisibleEntities ( ) : void
Результат void

WaitForDisconnect() публичный Метод

Blocks the calling thread until this session disconnects.
public WaitForDisconnect ( ) : void
Результат void

Описание свойств

CanReceive публичное свойство

public bool CanReceive
Результат bool

FullPositionUpdateInterval публичное статическое свойство

public static int FullPositionUpdateInterval
Результат int

LoginTime публичное свойство

public DateTime,System LoginTime
Результат System.DateTime

Player публичное свойство

public Player Player
Результат Player

canReceive публичное свойство

public bool canReceive
Результат bool

loginTime публичное свойство

public DateTime,System loginTime
Результат System.DateTime

outputQueue публичное свойство

public Queue outputQueue
Результат Queue

player публичное свойство

public Player player
Результат Player

state публичное свойство

public State state
Результат State