Skip to content

nasa03/EzClient.Unity

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EzClient.Unity

GSF.Ez implementation for Unity.
works badge

Connect to Server

// 클라이언트 식별값
//    닉네임을 사용해도 무관
var uniqId = "pjc0247";

client = EzClient.Connect(
    "ws://localhost:9916",
    uniqId,
    new Dictionary<string, object>() {
        {"class", "oven-breaker"}
    }),

Players

GetAllPlayers

foreach(var player in client.players) {
    var playerId = player.PlayerId;
    var level = (int)player.Property["level"];
}

Join/Leave Events

client.onJoinPlayer += (JoinPlayer packet) => {
    var player = packet.Player;

    var playerId = player.PlayerId;
    var level = (int)player.Property[level];
};

client.onLeavePlayer += (LeavePlayer packet) => {
    var player = packet.Player;
    
    var playerId = player.PlayerId;
    var level = (int)player.Property[level];
};

Communication

Declaring Packet

public class PacketType {
    public static readonly int Chat = 1;
}

Broadcasting

client.SendPacket(
    PacketType.Chat,
    new Dictionary<string, object>()
    {
        {"message", clientData.chatMessage}
    });

Subscribing

client.onCustomPacket += (BroadcastPacket packet) =>
{            
    if (packet.Type == PacketType.Chat)
        log += "[" + packet.Sender.PlayerId + "] " + packet.Data["message"] + "\r\n";
};

Player Property

client.SetPlayerProperty(new Dictionary<string, object>() {
    {"level", 10}
});
  • 지정한 KEY는 VALUE로 덮어쓰기 됩니다.
  • 지정하지 않은 KEY는 변동 사항이 없습니다.

World Property

월드 데이터는 서버 인스턴스 전체에 공유되는 데이터입니다.

GetWorldProperty

var mapId = (int)client.worldProperty["map_id"];

SetWorldProperty

client.SetWorldProperty(new Dictionary<string, object>() {
    {"map_id", 11}
});
  • 지정한 KEY는 VALUE로 덮어쓰기 됩니다.
  • 지정하지 않은 KEY는 변동 사항이 없습니다.

RPC

About

One-click multiplayer server, UnitySDK

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%