C# Class fCraft.Session

Afficher le fichier Open project: fragmer/fCraft Class Usage Examples

Méthodes publiques

Свойство Type Description
CanReceive bool
FullPositionUpdateInterval int
LoginTime System.DateTime
Player Player
canReceive bool
loginTime System.DateTime
outputQueue Queue
player Player
state State

Méthodes publiques

Méthode Description
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.

Private Methods

Méthode Description
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

Method Details

AddEntity() public méthode

public AddEntity ( Player player, Position newPos ) : void
player Player
newPos Position
Résultat void

ClearBlockUpdateQueue() public méthode

public ClearBlockUpdateQueue ( ) : void
Résultat void

ClearPriorityOutputQueue() public méthode

public ClearPriorityOutputQueue ( ) : void
Résultat void

DenyMovement() public méthode

public DenyMovement ( ) : void
Résultat void

Disconnect() public méthode

public Disconnect ( ) : void
Résultat void

GetIP() public méthode

public GetIP ( ) : IPAddress
Résultat System.Net.IPAddress

HideEntity() public méthode

public HideEntity ( VisibleEntity entity ) : void
entity VisibleEntity
Résultat void

IoLoop() public méthode

public IoLoop ( ) : void
Résultat void

JoinWorld() public méthode

public JoinWorld ( World newWorld ) : void
newWorld World
Résultat void

JoinWorld() public méthode

public JoinWorld ( World newWorld, Position position ) : void
newWorld World
position Position
Résultat void

JoinWorldInternal() public méthode

public JoinWorldInternal ( World newWorld, Position position, bool doUseWorldPosition ) : void
newWorld World
position Position
doUseWorldPosition bool
Résultat void

Kick() public méthode

public Kick ( string message ) : void
message string
Résultat void

Kick() public méthode

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
Résultat void

KickNow() public méthode

public KickNow ( string message ) : void
message string
Résultat void

KickNow() public méthode

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
Résultat void

LoginSequence() public méthode

public LoginSequence ( ) : void
Résultat void

MeasureBandwidthUseRates() public méthode

public MeasureBandwidthUseRates ( ) : void
Résultat void

MoveEntity() public méthode

public MoveEntity ( VisibleEntity entity, Position newPos ) : void
entity VisibleEntity
newPos Position
Résultat void

ProcessMovementPacket() public méthode

public ProcessMovementPacket ( ) : void
Résultat void

ProcessSetBlockPacket() public méthode

public ProcessSetBlockPacket ( ) : void
Résultat void

ReAddEntity() public méthode

public ReAddEntity ( VisibleEntity entity, Player player, Position newPos ) : void
entity VisibleEntity
player Player
newPos Position
Résultat void

RemoveEntity() public méthode

public RemoveEntity ( Player player ) : void
player Player
Résultat void

ResetVisibleEntities() public méthode

public ResetVisibleEntities ( ) : void
Résultat void

Send() public méthode

Send packet (asynchronous, priority queue). This is used for most packets (movement, chat, etc).
public Send ( Packet packet ) : void
packet Packet
Résultat void

Send() public méthode

public Send ( Packet packet, bool isHighPriority ) : void
packet Packet
isHighPriority bool
Résultat void

SendDelayed() public méthode

Send packet (asynchronous, delayed queue). This is currently only used for block updates.
public SendDelayed ( Packet packet ) : void
packet Packet
Résultat void

SendNow() public méthode

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
Résultat void

Session() public méthode

public Session ( TcpClient tcpClient ) : System
tcpClient System.Net.Sockets.TcpClient
Résultat System

Session() public méthode

public Session ( World _world, TcpClient _client ) : System
_world World
_client System.Net.Sockets.TcpClient
Résultat System

ShowEntity() public méthode

public ShowEntity ( VisibleEntity entity, Position newPos ) : void
entity VisibleEntity
newPos Position
Résultat void

Start() public méthode

public Start ( ) : void
Résultat void

ToString() public méthode

public ToString ( ) : string
Résultat string

UpdateVisibleEntities() public méthode

public UpdateVisibleEntities ( ) : void
Résultat void

WaitForDisconnect() public méthode

Blocks the calling thread until this session disconnects.
public WaitForDisconnect ( ) : void
Résultat void

Property Details

CanReceive public_oe property

public bool CanReceive
Résultat bool

FullPositionUpdateInterval public_oe static_oe property

public static int FullPositionUpdateInterval
Résultat int

LoginTime public_oe property

public DateTime,System LoginTime
Résultat System.DateTime

Player public_oe property

public Player Player
Résultat Player

canReceive public_oe property

public bool canReceive
Résultat bool

loginTime public_oe property

public DateTime,System loginTime
Résultat System.DateTime

outputQueue public_oe property

public Queue outputQueue
Résultat Queue

player public_oe property

public Player player
Résultat Player

state public_oe property

public State state
Résultat State