GDF 26.1a
Game Development Framework - https://gdf.acits.nl
Laden...
Zoeken...
Niets gevonden
GDF.RoomTCP Class Referentieabstract
Klasse diagram voor GDF.RoomTCP
GDF.RoomMultiplay GDF.Room

Public Members

override void gdf_BroadcastMessage (byte[] message, byte toNetworkId=0)
bool InitNetworking_host (int port)
 Creeer een tcpListener en tcpClient op de opgegeven poort.
bool InitNetworking_join (LobbyServer lobbyServer)
 Maak een tcp netwerkverbinding met de opgegeven lobbyserver.
bool InitNetworking_join (string ipAddress, int port)
 Maak een tcp netwerkverbinding met de host op het opgegeven ipadres en poort Gebruik als ipadres 'localhost' wanneer de host op dezelfde computer draait.
override void RoomMultiplay_CloseNetworking ()
 Verzend een bericht naar alle actieve netwerkspelers dat jij het spel verlaat, ,sluit de netwerkverbinding en verwijder eventueel de gemaakte lobbyserver.
bool RegisterToLobbyServer (string gameKey, string serverName)
 Creeer een lobbyserver entry op internet waarmee andere spelers jouw host kunnen zien.
bool RemoveLobbyServer ()
 Verwijder de lobbyserver uit het systeem die je gemaakt hebt met RegisterToLobbyServer(...).
List< LobbyServer > GetLobbyServersDirect (string gameKey)
void StartRefreshingLobbyServers (string gameKey)
 Start een proces dat twee keer per seconde de lijst LobbyServers ververst.
Public Members overgeërfd van GDF.RoomMultiplay
ClientMultiplay GetClient (byte networkId)
 Haal een client op aan de hand van het networkId.
NetworkInstance GetNetworkInstance (uint id)
 Haal een NetworkInstance op uit de lijst van huidige networkInstances.
Type GetAssemblyType (byte id)
byte GetAssemblyTypeId (Type type)
delegate void MultiplayInstanceEvent (Instance instance)
delegate void MultiplayClientEvent (ClientMultiplay client)
override Instance InstanceCreate (uint id, Vector3 position, Type type)
 Maak een nieuw voorwerp, en stel zelf het Id ervan in.
override void InstanceDestroy (Instance instance, bool callOnDestroy=true)
 Vernietig een voorwerp uit de room, en verzend een destroymessage over het netwerk.
override void gdf_RemoveDestroyedInstances ()
override void gdf_Update ()
override void RoomEnd ()
 Wat er moet gebeuren als deze room wordt verwijderd.
void CloseNetworking ()
void RoomMultiplay_CloseNetworking ()
void gdf_BroadcastMessage (byte[] message, byte toNetworkId=0)
void SendMasterToSlaveUpdate (Instance master, Enums.NetworkMessageTime messageTime)
 Verzend direct een update van de master naar de slave.
void SendMessageToMasterNetworkInstance (uint toInstanceId, byte messageId, object messageValue)
 Stuur een bericht naar de client die dit voorwerp heeft aangemaakt.
void SendMessageToRoom (byte messageId, object messageValue)
 Stuur een bericht naar de room van alle andere verbonden netwerkclienten.
void SendMessageToRoom (byte toNetworkId, byte messageId, object messageValue)
 Stuur een bericht naar de room van het opgegeven netwerkId.
void gdf_ReportDeactivatedClient (ClientMultiplay client)
List< Instance > GetNetworkInstances (byte networkId)
 Haal een lijst op van alle networkInstances van een client.
Public Members overgeërfd van GDF.Room
void SetSkybox (float brightness=1)
 Geef de room een echte lucht (met wolken) in plaats van een effen BackgroundColor.
void SetSkybox (string cubemapFile, float brightness=1)
 Geef de room een eigen lucht.
void RemoveSkybox ()
 Verwijder de lucht die met SetSkybox is ingesteld (de BackgroundColor is dan weer zichtbaar).
void gdf_Initialize (Node cameraNode, Camera camera, Node lightNode, Light light)
void gdf_RoomEnd ()
void DontUpdateInstance (Instance instance)
 Verwijder deze instance uit de lijst van instances die elk frame worden geupdatet.
Instance InstanceCreate (Vector3 position, Type type)
 Maak een nieuw voorwerp van een bepaald type.
Instance InstanceCreate (float x, float y, float z, Type type)
 Maak een nieuw voorwerp van een bepaald type.
void InstancesDestroy (Type type, bool includeChildren=true, bool callOnDestroy=true)
 Vernietig een type voorwerp uit de room.
Instance[] GetInstancesByType (Type type, bool includeChildren=true)
 Vraag alle voorwerpen op van een bepaald type.
Instance GetInstanceByType (Type type, bool includeChildren=false)
 Geeft het eerst gevonden voorwerp terug van het opgegeven type.
Instance GetInstance (uint id)
 Vraag een voorwerp op.
Instance GetInstance (Type type)
 Vraag het eerst gevonden voorwerp van het opgegeven type op.
bool InstanceExists (uint id)
 Bestaat er in deze room een voorwerp met het opgegeven id?
bool InstanceExists (Instance instance)
 Bestaat er in deze room een voorwerp met het opgegeven id?
bool InstanceExists (Type type, bool includeChildren=true)
 Bestaat er in deze room een voorwerp van een bepaald type?
int InstanceCount (Type type, bool includeChildren=true)
 Hoeveel voorwerpen van het opgegeven type bestaan er momenteel in de room?
int InstanceCount ()
 Hoeveel voorwerpen bestaan er momenteel in de room?
Instance[] GetInstances ()
 Vraag alle voorwerpen in deze room op.
Instance InstanceNearest (Vector3 position, Type type, Instance exclude=null, bool includeChildren=true)
 Het dichtstbijzijnde voorwerp van het opgegeven type.
Instance InstanceFurthest (Vector3 position, Type type, Instance exclude=null, bool includeChildren=true)
 Het voorwerp van het opgegeven type dat het verst weg is van de positie.
Instance[] DetectCollisions (Instance instance, Type type, Type exclude=null, bool includeChildren=true)
 Haal een lijst op van alle voorwerpen van een bepaald type waar het opgegeven voorwerp nu mee botst.
bool DetectCollision (Instance instance, Instance other)
 Bostst het opgegeven voorwerp met een ander voorwerp?
Instance[] InstancesAtPlace (Vector3 rectangle_point1, Vector3 ractangle_point2, Type type, List< Instance > exceptions=null, bool includeChildren=true)
 Geef een lijst terug van alle voorwerpen die de opgegeven plek raken.
Instance[] InstancesAtPlace (Vector3 rectangle_point1, Vector3 ractangle_point2, List< Type > types, List< Instance > exceptions=null, bool includeChildren=true)
 Geef een lijst terug van alle voorwerpen die de opgegeven plek raken.
bool InstanceAtPlace (Vector3 rectangle_point1, Vector3 ractangle_point2, Instance instance)
 Geeft terug of er op de opgegeven positie een instance is.
Instance[] InstancesAtPlace (Vector3 sphere_position, float radius, Type type, List< Instance > exceptions=null, bool includeChildren=true)
 Geef een lijst terug van alle voorwerpen die de opgegeven plek raken.
Instance[] InstancesAtPlace (Vector3 sphere_position, float radius, List< Type > types, List< Instance > exceptions=null, bool includeChildren=true)
 Geef een lijst terug van alle voorwerpen die de opgegeven plek raken.
bool InstanceAtPlace (Vector3 sphere_position, float radius, Instance instance, bool includeChildren=true)
 Geeft terug of er op de opgegeven plek een instance is.
Dictionary< Instance, Vector3 > DetectRaycastIntersections (Vector3 position, Vector3 direction, Type type, Instance exclude=null, float maxDistance=10000, bool includeChildren=true)
 Schiet een lijn in een opgegeven richting, en geef een lijst terug met alle voorwerpen waar deze lijn doorheen gaat.
Instance DetectNearestRaycastIntersection (Vector3 position, Vector3 direction, Type type, Instance exclude=null, float maxDistance=10000, bool includeChildren=true)
 Schiet een lijn in een opgegeven richting, en geef het dichtstbijzijnde voorwerp terug waar de lijn doorheen gaat.
Instance DetectNearestRaycastIntersection (Vector3 position, Vector3 direction, Type type, out Vector3 intersection, Instance exclude=null, float maxDistance=10000, bool includeChildren=true)
 Schiet een lijn in een opgegeven richting, en geef het dichtstbijzijnde voorwerp terug waar de lijn doorheen gaat.
Dictionary< Instance, Vector3 > DetectRaycastIntersections_cursorToWorld (Type type, float maxDistance=10000, bool includeChildren=true)
 Schiet een lijn vanuit de camera in de richting van de muis op het scherm, en geef een lijst terug met alle voorwerpen waar deze lijn doorheen gaat.
Instance DetectNearestRaycastIntersection_cursorToWorld (Type type, out Vector3 intersection, float maxDistance=10000, bool includeChildren=true)
 Schiet een lijn vanuit de camera in de richting van de muis op het scherm, en geef een voorwerp terug die de lijn als eerste raakt.
Instance DetectNearestRaycastIntersection_cursorToWorld (Type type, float maxDistance=10000, bool includeChildren=true)
 Schiet een lijn vanuit de camera in de richting van de muis op het scherm, en geef een voorwerp terug die de lijn als eerste raakt.
Urho.Vector2 GetWorldTo2Dposition (Vector3 worldPosition)
 Deze functie kan je gebruiken om een 2d element bij een voorwerp in de 3d wereld te platsen.
void RemoveGrid ()
 Verwijder de default ondergrond.
bool GetKey (Key key)
 Is een bepaalde toets ingedrukt (blijvend)?
bool GetKeyPress (Key key)
 Wordt er een bepaalde toets ingedrukt?
void Restart ()
 Stel de room in op zijn beginwaarden.
Dictionary< Color, List< Instance > > CreateInstancesFromImage (Dictionary< Urho.Color, Type > instancesToCreate, string filename, out IntVector2 size, int pixelMultiplier=1, bool platformer=false)
 Maak een BMP waarin je met gekleurde pixels aangeeft waar een bepaald voorwerp moet worden gemaakt.
Dictionary< Color, List< Instance > > CreateInstancesFromImage (Dictionary< Urho.Color, Type > instancesToCreate, string filename, int pixelMultiplier=1, bool platformer=false)
 Maak een BMP waarin je met gekleurde pixels aangeeft waar een bepaald voorwerp moet worden gemaakt.
Image2d Image2dCreate (string name, string filename, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d afbeelding voor op het UI-systeem.
Text2d Text2dCreate (string name, string text, float x, float y, float fontsize=20, bool alignCenter=false, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d tekst voor op het UI-systeem.
Button2d Button2dCreate (string name, string filename, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d knop voor op het UI-systeem.
Button2d Button2dCreate (string name, string filename, float x, float y, float width, float height, Color color, string text, Color textColor, float fontSize, float textYoffset=0, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d knop voor op het UI-systeem.
Slider2d Slider2dCreate (string name, string filenameBackground, string filenameSlider, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d knop voor op het UI-systeem.
Rectangle2d Rectangle2dCreate (string name, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d rectangle voor op het UI-systeem.
TextInput2d TextInput2dCreate (string name, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een 2d text input voor op het UI-systeem.
Progressbar2d Progressbar2dCreate (string name, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth._7_Center)
 Maak een healthbar die automatisch verkleurt als je de Health ervan var aanpast.
void Element2dDestroy (string name)
 Vernietig een 2d element met de opgegeven systeemnaam.
gdf_Element2d[] GetElements2d ()
 Geef een lijst terug van alle 2d elementen in de room.
Image2d GetImage2d (string name)
 Haal een 2d afbeelding met de opgegeven systeemnaam op.
Text2d GetText2d (string name)
 Haal een 2d tekst met de opgegeven systeemnaam op.
Button2d GetButton2d (string name)
 Haal een 2d knop met de opgegeven systeemnaam op.
Slider2d GetSlider2d (string name)
 Haal een 2d slider met de opgegeven systeemnaam op.
Rectangle2d GetRectangle2d (string name)
 Haal een 2d rectangle met de opgegeven systeemnaam op.
TextInput2d GetTextInput2d (string name)
 Haal een 2d text input met de opgegeven systeemnaam op.
Progressbar2d GetProgressbar2d (string name)
 Haal een 2d healthbar met de opgegeven systeemnaam op.
bool Element2dExists (string name)
 Bestaat er een 2d element met de opgegeven naam in de huidige room?

Public Attributen

int MaxClients = 8
 Het maximaal aantal clients die deze host toelaat.
Public Attributen overgeërfd van GDF.Room
gdf_Timer[] Timers = new gdf_Timer[10]
 Haal een lijst van 10 timers op die je kan gebruiken om code over een opgegeven aantal frames uit te voeren.
Color BackgroundColor = Color.FromHex("87CEEB")
 Stel de kleur van de lucht in.
Vector3 Size = Vector3.One * 100
 Stel de grootte van de room in.
float Score = 0
 Gebruik deze variabele om de score bij te houden.
int Lives = 3
 Gebruik deze variabele om het aantal levens bij te houden.
int Level = 1
 Gebruik deze variabele om level bij te houden.
float Money = 100
 Gebruik deze variabele om de hoeveelheid geld bij te houden.
float Health = 100
 Gebruik deze variabele om de gezondheid bij te houden.
float UIWidth = 32
 Het UI-systeem (voor 2d afbeeldingen en teksten) is verdeeld in een aantal hokjes.
bool gdf_IsDeleted = false

Static Public Attributen

static bool AcceptNewClients = true
 Bepaalt of je momenteel nieuwe spelers toelaat in jouw host.

Protected Members

 RoomTCP ()
override void gdf_UpdateRoomMultiplay ()
override void gdf_ReceiveBroadcasts ()
Protected Members overgeërfd van GDF.RoomMultiplay
 RoomMultiplay ()
override void gdf_StepInstances ()
override void gdf_EndStepInstances ()
void gdf_sendRequestNetworkInstancesMessage ()
void gdf_ReceiveBroadcasts ()
void gdf_ProcessBroadcast (byte[] message)
void gdf_sendAllNetworkInstances (byte requestorNetworkId)
void gdf_sendGoodByeMessage ()
virtual void OnMessageReceived (byte fromNetworkId, byte messageId, object value)
 Geeft de berichten terug die zijn verstuurd met SendMessageToRoom(...).
void gdf_AddNetworkClient (ClientMultiplay client)
bool NetworkClientExists (ClientMultiplay client)
bool NetworkClientExists (byte networkId)
Protected Members overgeërfd van GDF.Room
 Room ()
virtual void gdf_UpdateInstances ()
void gdf_AddInstanceToLists (Instance instance)
void Start ()
 Alles wat moet gebeuren als de room wordt aangemaakt.
void Step ()
 Alles wat er elk frame moet gebeuren.

Properties

override byte LocalNetworkId [get]
 Het id dat jouw client heeft op het netwerk.
override bool Connected [get]
 Is jouw client nog verbonden met de host.
bool ConnectionRefused [get]
 Als je geen verbinding kon maken met de host geeft deze variabele aan of de verbinding is gewijgerd.
int Port [get]
 De poort waarop verbinding gemaakt wordt.
LobbyServer[] LobbyServers [get]
 Wanneer je de methode StartRefreshingLobbyServers aanroept wordt daarna deze lijst automatisch gevuld met beschikbare lobby servers.
bool IsServer [get]
 Returneert true als deze computer het spel gehost heeft met de methode InitNetworking_host(...).
Properties overgeërfd van GDF.RoomMultiplay
byte LocalNetworkId [get]
 Het id van deze client op het netwerk.
bool Connected [get]
 Heeft deze client verbinding met de host?
List< ClientMultiplay > GetNetworkClients [get]
 Een lijst van alle clients die ooit verbinding hebben gemaakt.
List< ClientMultiplay > GetActiveNetworkClients [get]
 Een lijst van clients die momenteel verbonden zijn.
Properties overgeërfd van GDF.Room
gdf_RoomCamera Camera [get]
 Bewerk de camera instellingen.
gdf_RoomLight Light [get]
 Bewerk de belichtingsinstellingen.
gdf_Element2d Cursor [get]
 Bewerk de cursor.
int FrameCount [get, set]
 Het aantal frames vanaf het moment dat de room is opgestart.
int FPS [get]
 De hoeveelheid frames per seconde.
bool IsInitialized [get]
 Is deze room gestart?
float UIHeight [get, set]
 Het UI-systeem (voor 2d afbeeldingen en teksten) is verdeeld in een aantal hokjes.

Additionele Overgeërfde Members

Protected Attributen overgeërfd van GDF.RoomMultiplay
Dictionary< uint, NetworkInstance > networkInstances = new Dictionary<uint, NetworkInstance>()
List< NetworkInstance > newNetworkInstances = new List<NetworkInstance>()
int updateInstancesTimer = 0
Protected Attributen overgeërfd van GDF.Room
bool RoomHasEnded = false
 Is true wanneer Game.GotoRoom(...) is aangeroepen.
Dictionary< uint, Instance > gdf_instancesById = new Dictionary<uint, Instance>()
Dictionary< Type, List< Instance > > gdf_instancesByType = new Dictionary<Type, List<Instance>>()
List< Instance > gdf_instancesToRemove = new List<Instance>()
Dictionary< string, gdf_Element2d > gdf_elements2D = new Dictionary<string, gdf_Element2d>()
Dictionary< uint, Instance > gdf_instancesToUpdate = new Dictionary<uint, Instance>()
List< Instance > gdf_newlyCreatedInstances = new List<Instance>()
Static Protected Attributen overgeërfd van GDF.RoomMultiplay
static Dictionary< byte, Type > gdf_AssemblyTypes = new Dictionary<byte, Type>()
Events overgeërfd van GDF.RoomMultiplay
MultiplayInstanceEvent OnNetworkInstanceAdded
MultiplayInstanceEvent OnNetworkInstanceDestroyed
MultiplayClientEvent OnNetworkClientConnected
MultiplayClientEvent OnNetworkClientLeft

Constructor & Destructor Documentatie

◆ RoomTCP()

GDF.RoomTCP.RoomTCP ( )
protected

Documentatie van functie members

◆ gdf_BroadcastMessage()

override void GDF.RoomTCP.gdf_BroadcastMessage ( byte[] message,
byte toNetworkId = 0 )

◆ gdf_ReceiveBroadcasts()

override void GDF.RoomTCP.gdf_ReceiveBroadcasts ( )
protected

◆ gdf_UpdateRoomMultiplay()

override void GDF.RoomTCP.gdf_UpdateRoomMultiplay ( )
protectedvirtual

Nieuwe implementatie van GDF.RoomMultiplay.

◆ GetLobbyServersDirect()

List< LobbyServer > GDF.RoomTCP.GetLobbyServersDirect ( string gameKey)

◆ InitNetworking_host()

bool GDF.RoomTCP.InitNetworking_host ( int port)

Creeer een tcpListener en tcpClient op de opgegeven poort.

Hiermee start je de mogelijkheid dat andere computer verbinding maken met deze host. Zij gebruiken daarvoor de methode InitNetworking_joing(...). Let op: om te hosten over internet is er portforwarding in jouw router nodig.

Parameters
port
Retourneert

◆ InitNetworking_join() [1/2]

bool GDF.RoomTCP.InitNetworking_join ( LobbyServer lobbyServer)

Maak een tcp netwerkverbinding met de opgegeven lobbyserver.

Gebruik de methode StartRefreshingLobbyServers en daarna de var LobbyServers voor een overziche.

Parameters
lobbyServer
Retourneert

◆ InitNetworking_join() [2/2]

bool GDF.RoomTCP.InitNetworking_join ( string ipAddress,
int port )

Maak een tcp netwerkverbinding met de host op het opgegeven ipadres en poort Gebruik als ipadres 'localhost' wanneer de host op dezelfde computer draait.

Parameters
ipAddress
port
Retourneert

◆ RegisterToLobbyServer()

bool GDF.RoomTCP.RegisterToLobbyServer ( string gameKey,
string serverName )

Creeer een lobbyserver entry op internet waarmee andere spelers jouw host kunnen zien.

Parameters
gameKeyDe unieke code voor jouw spel
serverName
Retourneert

◆ RemoveLobbyServer()

bool GDF.RoomTCP.RemoveLobbyServer ( )

Verwijder de lobbyserver uit het systeem die je gemaakt hebt met RegisterToLobbyServer(...).

Retourneert
true als de actie geslaagd is.

◆ RoomMultiplay_CloseNetworking()

override void GDF.RoomTCP.RoomMultiplay_CloseNetworking ( )

Verzend een bericht naar alle actieve netwerkspelers dat jij het spel verlaat, ,sluit de netwerkverbinding en verwijder eventueel de gemaakte lobbyserver.

◆ StartRefreshingLobbyServers()

void GDF.RoomTCP.StartRefreshingLobbyServers ( string gameKey)

Start een proces dat twee keer per seconde de lijst LobbyServers ververst.

Parameters
gameKey

Documentatie van data members

◆ AcceptNewClients

bool GDF.RoomTCP.AcceptNewClients = true
static

Bepaalt of je momenteel nieuwe spelers toelaat in jouw host.

◆ MaxClients

int GDF.RoomTCP.MaxClients = 8

Het maximaal aantal clients die deze host toelaat.

Property Documentatie

◆ Connected

override bool GDF.RoomTCP.Connected
get

Is jouw client nog verbonden met de host.

◆ ConnectionRefused

bool GDF.RoomTCP.ConnectionRefused
get

Als je geen verbinding kon maken met de host geeft deze variabele aan of de verbinding is gewijgerd.

Wanneer dit niet het geval is was er een verbindingsprobleem.

◆ IsServer

bool GDF.RoomTCP.IsServer
get

Returneert true als deze computer het spel gehost heeft met de methode InitNetworking_host(...).

Returneert false als deze computer het spel gejoined heeft met de methode InitNetworking_joing(...).

◆ LobbyServers

LobbyServer [] GDF.RoomTCP.LobbyServers
get

Wanneer je de methode StartRefreshingLobbyServers aanroept wordt daarna deze lijst automatisch gevuld met beschikbare lobby servers.

◆ LocalNetworkId

override byte GDF.RoomTCP.LocalNetworkId
get

Het id dat jouw client heeft op het netwerk.

◆ Port

int GDF.RoomTCP.Port
get

De poort waarop verbinding gemaakt wordt.


De documentatie voor deze klasse is gegenereerd op basis van het volgende bestand: