- Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PlayerIO.GameLibrary;
namespace BingoServer
{
class LobbyPlayer : BasePlayer
{
}
[RoomType("Lobby1")]
class lobby : Game<LobbyPlayer>
{
public override void GameStarted()
{
PreloadPlayerObjects = true;
}
public override void GotMessage(LobbyPlayer pl, Message m)
{
if (m.Type == "init")
{
pl.Send("init");
PlayerIO.BigDB.LoadOrCreate("Config", "Game", delegate (DatabaseObject dataObj)
{
dataObj.Set("test", true);
dataObj.Save();
});
}
else
{
pl.Send("wm");
}
}
}
}
and this is the code for connecting to the server (in c#, my game is "multiplayer bingo" in windows forms application.)
- Code: Select all
void handlemsg(object sender, PlayerIOClient.Message m)
{
switch(m.Type)
{
case "init":
MessageBox.Show("Connected!");
break;
default:
MessageBox.Show("Received unknown msg");
break;
}
}
void connection()
{
try
{
client = PlayerIO.QuickConnect.SimpleConnect(gameId, Email, Pass, null);
client.Multiplayer.CreateJoinRoom("Lobby1", "Lobby1", true, null, null, delegate (Connection conn)
{
MessageBox.Show("reached 1");
con = conn;
conn.Send("init");
conn.OnMessage += new MessageReceivedEventHandler(handlemsg);
//conn.OnDisconnect += new DisconnectEventHandler(onDisconnect);
}, delegate (PlayerIOError error)
{
MessageBox.Show(error.Message);
});
}
catch(PlayerIOError r)
{
MessageBox.Show(r.ToString());
}
}
but when I connect to the game, It shows I am online, but it doesn't receive the "init" message.
anyone knows what to do?
Edit:
Problem solved. Apparently playerIO doesn't support .net framework 4.6.1?
Version 4.5.2 works fine.