GDF  20.04
Game Development Framework
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Properties | List of all members
GDF.RoomTCP Class Reference
Inheritance diagram for GDF.RoomTCP:
GDF.RoomMultiplay GDF.Room

Public Member Functions

override void gdf_BroadcastMessage (byte[] message, byte toNetworkId=0)
 
bool 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. More...
 
bool InitNetworking_join (LobbyServer lobbyServer)
 Maak een tcp netwerkverbinding met de opgegeven lobbyserver. Gebruik de methode StartRefreshingLobbyServers en daarna de var LobbyServers voor een overziche. More...
 
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 More...
 
override void CloseNetworking ()
 Verzend een bericht naar alle actieve netwerkspelers dat jij het spel verlaat, ,sluit de netwerkverbinding en verwijder eventueel de gemaakte lobbyserver. More...
 
bool RegisterToLobbyServer (string gameKey, string serverName)
 Creeer een lobbyserver entry op internet waarmee andere spelers jouw host kunnen zien. More...
 
bool RemoveLobbyServer ()
 Verwijder de lobbyserver uit het systeem die je gemaakt hebt met RegisterToLobbyServer(...) More...
 
List< LobbyServerGetLobbyServersDirect (string gameKey)
 
void StartRefreshingLobbyServers (string gameKey)
 Start een proces dat twee keer per seconde de lijst LobbyServers ververst More...
 
- Public Member Functions inherited from GDF.RoomMultiplay
ClientMultiplay GetClient (byte networkId)
 Haal een client op aan de hand van het networkId More...
 
NetworkInstance GetNetworkInstance (uint id)
 Haal een NetworkInstance op uit de lijst van huidige networkInstances More...
 
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. Als er al een voorwerp met dit Id bestaat wordt deze verwijderd. More...
 
override void InstanceDestroy (Instance instance, bool callOnDestroy=true)
 Vernietig een voorwerp uit de room, en verzend een destroymessage over het netwerk More...
 
override void gdf_UpdateInstances ()
 
override void gdf_Update ()
 
override void RoomEnd ()
 Wat er moet gebeuren als deze room wordt verwijderd More...
 
void SendMasterToSlaveUpdate (Instance master, Enums.NetworkMessageTime messageTime)
 Verzend direct een update van de master naar de slave. More...
 
void SendMessageToMasterNetworkInstance (uint toInstanceId, byte messageId, object messageValue)
 Stuur een bericht naar de client die dit voorwerp heeft aangemaakt. Het bericht kan worden opgevanen met OnMessageReceived(...) in NetworkInstance More...
 
void SendMessageToRoom (byte messageId, object messageValue)
 Stuur een bericht naar de room van alle andere verbonden netwerkclienten. Deze berichten kunnen worden gelezen door in de room gebruik te maken van de override OnMessageReceived(...). More...
 
void SendMessageToRoom (byte toNetworkId, byte messageId, object messageValue)
 Stuur een bericht naar de room van het opgegeven netwerkId. Deze berichten kunnen worden gelezen door in de room gebruik te maken van de override OnMessageReceived(...). More...
 
void gdf_ReportDeactivatedClient (ClientMultiplay client)
 
List< InstanceGetNetworkInstances (byte networkId)
 Haal een lijst op van alle networkInstances van een client More...
 
- Public Member Functions inherited from GDF.Room
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 More...
 
Instance InstanceCreate (Vector3 position, Type type)
 Maak een nieuw voorwerp van een bepaald type. More...
 
Instance InstanceCreate (float x, float y, float z, Type type)
 Maak een nieuw voorwerp van een bepaald type. More...
 
void InstancesDestroy (Type type, bool includeChildren=true, bool callOnDestroy=true)
 Vernietig een type voorwerp uit de room More...
 
Instance[] GetInstancesByType (Type type, bool includeChildren=true)
 Vraag alle voorwerpen op van een bepaald type. More...
 
Instance GetInstanceByType (Type type, bool includeChildren=false)
 Geeft het eerst gevonden voorwerp terug van het opgegeven type More...
 
Instance GetInstance (uint id)
 Vraag een voorwerp op More...
 
Instance GetInstance (Type type)
 Vraag het eerst gevonden voorwerp van het opgegeven type op. More...
 
bool InstanceExists (uint id)
 Bestaat er in deze room een voorwerp met het opgegeven id? More...
 
bool InstanceExists (Instance instance)
 Bestaat er in deze room een voorwerp met het opgegeven id? More...
 
bool InstanceExists (Type type, bool includeChildren=true)
 Bestaat er in deze room een voorwerp van een bepaald type? More...
 
int InstanceCount (Type type, bool includeChildren=true)
 Hoeveel voorwerpen van het opgegeven type bestaan er momenteel in de room? More...
 
int InstanceCount ()
 Hoeveel voorwerpen bestaan er momenteel in de room? More...
 
Instance[] GetInstances ()
 Vraag alle voorwerpen in deze room op. More...
 
Instance InstanceNearest (Vector3 position, Type type, Instance exclude=null, bool includeChildren=true)
 Het dichtstbijzijnde voorwerp van het opgegeven type More...
 
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. More...
 
Instance[] DetectCollisions (Instance instance, Type type, bool includeChildren=true)
 Haal een lijst op van alle voorwerpen van een bepaald type waar het opgegeven voorwerp nu mee botst. More...
 
bool DetectCollision (Instance instance, Instance other)
 Bostst het opgegeven voorwerp met een ander voorwerp? More...
 
Instance[] InstancesAtPlace (Vector3 rectangle_point1, Vector3 ractangle_point2, Type type, bool includeChildren=true)
 Geef een lijst terug van alle voorwrepen die de opgegeven plek raken. More...
 
Instance[] InstancesAtPlace (Vector3 sphere_position, float radius, Type type, bool includeChildren=true)
 Geef een lijst terug van alle voorwerpen die de opgegeven plek raken. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
Urho.Vector2 GetWorldTo2Dposition (Vector3 worldPosition)
 Deze functie kan je gebruiken om een 2d element bij een voorwerp in de 3d wereld te platsen More...
 
void RemoveGrid ()
 Verwijder de default ondergrond More...
 
bool GetKey (Key key)
 Is een bepaalde toets ingedrukt (blijvend)? More...
 
bool GetKeyPress (Key key)
 Wordt er een bepaalde toets ingedrukt? More...
 
void Restart ()
 Stel de room in op zijn beginwaarden. More...
 
Dictionary< Color, List< Instance > > CreateInstancesFromImage (Dictionary< Urho.Color, Type > instancesToCreate, string filename, out IntVector2 size, int pixelMultiplier=1)
 Maak een BMP waarin je met gekleurde pixels aangeeft waar een bepaald voorwerp moet worden gemaakt. Teken bijvoorbeeld een blauwe pixel, en koppel de kleur blauw aan een type voorwerp. Vervolgens maakt deze functie instances aan op de opgegeven plekken in de BMP. More...
 
Dictionary< Color, List< Instance > > CreateInstancesFromImage (Dictionary< Urho.Color, Type > instancesToCreate, string filename, int pixelMultiplier=1)
 Maak een BMP waarin je met gekleurde pixels aangeeft waar een bepaald voorwerp moet worden gemaakt. Teken bijvoorbeeld een blauwe pixel, en koppel de kleur blauw aan een type voorwerp. Vervolgens maakt deze functie instances aan op de opgegeven plekken in de BMP. More...
 
Image2d Image2dCreate (string name, string filename, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth.Center)
 Maak een 2d afbeelding voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
Text2d Text2dCreate (string name, string text, float x, float y, float fontsize=20, bool alignCenter=false, Enums.Depth depth=Enums.Depth.Center)
 Maak een 2d tekst voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
Button2d Button2dCreate (string name, string filename, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth.Center)
 Maak een 2d knop voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
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.Center)
 Maak een 2d knop voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
Slider2d Slider2dCreate (string name, string filenameBackground, string filenameSlider, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth.Center)
 Maak een 2d knop voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
Rectangle2d Rectangle2dCreate (string name, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth.Center)
 Maak een 2d rectangle voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
TextInput2d TextInput2dCreate (string name, float x, float y, float width, float height, Enums.Depth depth=Enums.Depth.Center)
 Maak een 2d text input voor op het UI-systeem. Standaard is het UI-systeem 32 hokjes breed. More...
 
void Element2dDestroy (string name)
 Vernietig een 2d element met de opgegeven systeemnaam. More...
 
gdf_Element2d[] GetElements2d ()
 Geef een lijst terug van alle 2d elementen in de room. More...
 
Image2d GetImage2d (string name)
 Haal een 2d afbeelding met de opgegeven systeemnaam op. More...
 
Text2d GetText2d (string name)
 Haal een 2d tekst met de opgegeven systeemnaam op. More...
 
Button2d GetButton2d (string name)
 Haal een 2d knop met de opgegeven systeemnaam op. More...
 
Slider2d GetSlider2d (string name)
 Haal een 2d slider met de opgegeven systeemnaam op. More...
 
Rectangle2d GetRectangle2d (string name)
 Haal een 2d rectangle met de opgegeven systeemnaam op. More...
 
TextInput2d GetTextInput2d (string name)
 Haal een 2d text input met de opgegeven systeemnaam op. More...
 
bool Element2dExists (string name)
 Bestaat er een 2d element met de opgegeven naam in de huidige room? More...
 

Public Attributes

LobbyServer[] LobbyServers => lobbyServers.ToArray()
 Wanneer je de methode StartRefreshingLobbyServers aanroept wordt daarna deze lijst automatisch gevuld met beschikbare lobby servers More...
 
int MaxClients = 8
 Het maximaal aantal clients die deze host toelaat. More...
 
- Public Attributes inherited from 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 More...
 
Color BackgroundColor = Color.FromHex("87CEEB")
 Stel de kleur van de lucht in More...
 
Vector3 Size = Vector3.One * 100
 Stel de grootte van de room in. X is horizontaal, en Z is verticaal. More...
 
float Score = 0
 Gebruik deze variabele om de score bij te houden. More...
 
int Lives = 3
 Gebruik deze variabele om het aantal levens bij te houden. Standaard 3. More...
 
int Level = 1
 Gebruik deze variabele om level bij te houden. Standaard 1. More...
 
float Money = 100
 Gebruik deze variabele om de hoeveelheid geld bij te houden. Standaard 100. More...
 
float Health = 100
 Gebruik deze variabele om de gezondheid bij te houden. Standaard 100 More...
 
float UIWidth = 32
 Het UI-systeem (voor 2d afbeeldingen en teksten) is verdeeld in een aantal hokjes. Standaard 32 hokjes breed. Met een resolutie van 1920 x 1080 is een hokje daarmee 1920/32=60 pixels groot. More...
 
bool gdf_IsDeleted = false
 

Static Public Attributes

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

Protected Member Functions

override void gdf_UpdateRoomMultiplay ()
 
override void gdf_ReceiveBroadcasts ()
 
- Protected Member Functions inherited from GDF.RoomMultiplay
override void gdf_StepInstances ()
 
void gdf_sendRequestNetworkInstancesMessage ()
 
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(...). More...
 
void gdf_AddNetworkClient (ClientMultiplay client)
 
bool NetworkClientExists (ClientMultiplay client)
 
bool NetworkClientExists (byte networkId)
 
- Protected Member Functions inherited from GDF.Room
void gdf_AddInstanceToLists (Instance instance)
 
abstract void Start ()
 Alles wat moet gebeuren als de room wordt aangemaakt. More...
 
abstract void Step ()
 Alles wat er elk frame moet gebeuren. More...
 

Properties

override byte LocalNetworkId [get]
 Het id dat jouw client heeft op het netwerk. More...
 
override bool Connected [get]
 Is jouw client nog verbonden met de host. More...
 
bool 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. More...
 
int Port [get]
 De poort waarop verbinding gemaakt wordt. More...
 
bool 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(...). More...
 
- Properties inherited from GDF.RoomMultiplay
abstract byte LocalNetworkId [get]
 Het id van deze client op het netwerk More...
 
abstract bool Connected [get]
 Heeft deze client verbinding met de host? More...
 
List< ClientMultiplayGetNetworkClients [get]
 Een lijst van alle clients die ooit verbinding hebben gemaakt More...
 
List< ClientMultiplayGetActiveNetworkClients [get]
 Een lijst van clients die momenteel verbonden zijn More...
 
- Properties inherited from GDF.Room
gdf_RoomCamera Camera [get]
 Bewerk de camera instellingen More...
 
gdf_RoomLight Light [get]
 Bewerk de belichtingsinstellingen More...
 
gdf_Element2d Cursor [get]
 Bewerk de cursor More...
 
int FrameCount [get]
 Het aantal frames vanaf het moment dat de room is opgestart. More...
 
int FPS [get]
 De hoeveelheid frames per seconde More...
 
bool IsInitialized [get]
 Is deze room gestart? More...
 
float UIHeight [get, set]
 Het UI-systeem (voor 2d afbeeldingen en teksten) is verdeeld in een aantal hokjes. Standaard 32 hokjes breed. Met een resolutie van 1920 x 1080 is een hokje daarmee 1920/32=60 pixels groot. De hoogte wordt berekend door de UIWidth te delen door de aspect ratio. More...
 

Additional Inherited Members

- Protected Attributes inherited from GDF.RoomMultiplay
Dictionary< uint, NetworkInstancenetworkInstances = new Dictionary<uint, NetworkInstance>()
 
List< NetworkInstancenewNetworkInstances = new List<NetworkInstance>()
 
int updateInstancesTimer = 0
 
- Protected Attributes inherited from GDF.Room
bool RoomHasEnded = false
 Is true wanneer Game.GotoRoom(...) is aangeroepen. More...
 
Dictionary< uint, Instancegdf_instancesById = new Dictionary<uint, Instance>()
 
Dictionary< Type, List< Instance > > gdf_instancesByType = new Dictionary<Type, List<Instance>>()
 
List< Instancegdf_instancesToRemove = new List<Instance>()
 
Dictionary< string, gdf_Element2dgdf_elements2D = new Dictionary<string, gdf_Element2d>()
 
Dictionary< uint, Instancegdf_instancesToUpdate = new Dictionary<uint, Instance>()
 
List< Instancegdf_newlyCreatedInstances = new List<Instance>()
 
- Static Protected Attributes inherited from GDF.RoomMultiplay
static Dictionary< byte, Type > gdf_AssemblyTypes = new Dictionary<byte, Type>()
 
- Events inherited from GDF.RoomMultiplay
MultiplayInstanceEvent OnNetworkInstanceAdded
 
MultiplayInstanceEvent OnNetworkInstanceDestroyed
 
MultiplayClientEvent OnNetworkClientConnected
 
MultiplayClientEvent OnNetworkClientLeft
 

Member Function Documentation

◆ CloseNetworking()

override void GDF.RoomTCP.CloseNetworking ( )
virtual

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

Implements GDF.RoomMultiplay.

◆ 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
Returns

◆ 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
Returns

◆ 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
Returns

◆ 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
Returns

◆ RemoveLobbyServer()

bool GDF.RoomTCP.RemoveLobbyServer ( )

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

Returns
true als de actie geslaagd is.

◆ StartRefreshingLobbyServers()

void GDF.RoomTCP.StartRefreshingLobbyServers ( string  gameKey)

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

Parameters
gameKey

Member Data Documentation

◆ AcceptNewClients

bool GDF.RoomTCP.AcceptNewClients = true
static

Bepaalt of je momenteel nieuwe spelers toelaat in jouw host.

◆ LobbyServers

LobbyServer [] GDF.RoomTCP.LobbyServers => lobbyServers.ToArray()

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

◆ MaxClients

int GDF.RoomTCP.MaxClients = 8

Het maximaal aantal clients die deze host toelaat.

Property Documentation

◆ 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(...).

◆ 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.


The documentation for this class was generated from the following file: