classref: Sync with current master branch (929333fe2)

This commit is contained in:
Rémi Verschelde
2023-02-07 17:52:34 +01:00
parent 471ee84a9f
commit fc314262d1
124 changed files with 3532 additions and 2028 deletions

View File

@@ -30,7 +30,8 @@ Below a small example of how it can be used:
.. code-tab:: gdscript
class_name Server
# server_node.gd
class_name ServerNode
extends Node
var server := UDPServer.new()
@@ -56,35 +57,35 @@ Below a small example of how it can be used:
.. code-tab:: csharp
// ServerNode.cs
using Godot;
using System;
using System.Collections.Generic;
public class Server : Node
public partial class ServerNode : Node
{
public UDPServer Server = new UDPServer();
public List<PacketPeerUDP> Peers = new List<PacketPeerUDP>();
private UdpServer _server = new UdpServer();
private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();
public override void _Ready()
{
Server.Listen(4242);
_server.Listen(4242);
}
public override void _Process(float delta)
public override void _Process(double delta)
{
Server.Poll(); // Important!
if (Server.IsConnectionAvailable())
_server.Poll(); // Important!
if (_server.IsConnectionAvailable())
{
PacketPeerUDP peer = Server.TakeConnection();
PacketPeerUdp peer = _server.TakeConnection();
byte[] packet = peer.GetPacket();
GD.Print($"Accepted Peer: {peer.GetPacketIp()}:{peer.GetPacketPort()}");
GD.Print($"Received Data: {packet.GetStringFromUTF8()}");
GD.Print($"Accepted Peer: {peer.GetPacketIP()}:{peer.GetPacketPort()}");
GD.Print($"Received Data: {packet.GetStringFromUtf8()}");
// Reply so it knows we received the message.
peer.PutPacket(packet);
// Keep a reference so we can keep contacting the remote peer.
Peers.Add(peer);
_peers.Add(peer);
}
foreach (var peer in Peers)
foreach (var peer in _peers)
{
// Do something with the peers.
}
@@ -98,7 +99,8 @@ Below a small example of how it can be used:
.. code-tab:: gdscript
class_name Client
# client_node.gd
class_name ClientNode
extends Node
var udp := PacketPeerUDP.new()
@@ -117,30 +119,30 @@ Below a small example of how it can be used:
.. code-tab:: csharp
// ClientNode.cs
using Godot;
using System;
public class Client : Node
public partial class ClientNode : Node
{
public PacketPeerUDP Udp = new PacketPeerUDP();
public bool Connected = false;
private PacketPeerUdp _udp = new PacketPeerUdp();
private bool _connected = false;
public override void _Ready()
{
Udp.ConnectToHost("127.0.0.1", 4242);
_udp.ConnectToHost("127.0.0.1", 4242);
}
public override void _Process(float delta)
public override void _Process(double delta)
{
if (!Connected)
if (!_connected)
{
// Try to contact server
Udp.PutPacket("The Answer Is..42!".ToUTF8());
_udp.PutPacket("The Answer Is..42!".ToUtf8());
}
if (Udp.GetAvailablePacketCount() > 0)
if (_udp.GetAvailablePacketCount() > 0)
{
GD.Print($"Connected: {Udp.GetPacket().GetStringFromUTF8()}");
Connected = true;
GD.Print($"Connected: {_udp.GetPacket().GetStringFromUtf8()}");
_connected = true;
}
}
}