コード例 #1
0
        private void Send(NonobaGameUser <VirtualPlayer> v, SharedClass1.Messages type, params object[] e)
        {
            var MessageType = ((int)type).ToString();


            v.Send(MessageType, e);
        }
コード例 #2
0
        /// <summary>This message is called whenever a player sends a message into the game.</summary>
        public override void GotMessage(NonobaGameUser <VirtualPlayer> player, Message m)
        {
            var e = /*(SharedClass1.Messages)*/ int.Parse(m.Type);


            if (player.Virtual.FromPlayerDispatch.DispatchInt32(e,
                                                                new SharedClass1.RemoteEvents.DispatchHelper
            {
                GetLength = i => (int)m.Count,
                GetInt32 = m.GetInt,
                GetDouble = m.GetDouble,
                GetString = m.GetString
            }
                                                                ))
            {
                return;
            }

            Console.WriteLine("Not on dispatch: " + m.Type);
        }
コード例 #3
0
        /// <summary>When a user enters this game instance</summary>
        public override void UserJoined(NonobaGameUser <VirtualPlayer> player)
        {
            var FromPlayer =
                new SharedClass1.RemoteEvents
            {
                BroadcastRouter = new SharedClass1.RemoteEvents.WithUserArgumentsRouter_Broadcast
                {
                    user = player.UserId,
                }
            };

            player.Virtual = new FlashTowerDefense.Shared.VirtualPlayer
            {
                ToOthers =
                    new SharedClass1.RemoteMessages
                {
                    Send = q => this.SendOthers(player.UserId, q.i, q.args)
                },
                ToPlayer =
                    new SharedClass1.RemoteMessages
                {
                    Send = e => this.Send(player, e.i, e.args)
                },
                FromPlayer         = FromPlayer,
                FromPlayerDispatch = FromPlayer,
                UserId             = player.UserId,
                Username           = player.Username,
                AddScore           = player.SubmitRankingDelta
            };

            FromPlayer.BroadcastRouter.Target = player.Virtual.ToOthers;

            Virtual.Users.Add(player.Virtual);

            Virtual.UserJoined(player.Virtual);
        }
コード例 #4
0
 /// <summary>When a user leaves the game instance</summary>
 public override void UserLeft(NonobaGameUser <VirtualPlayer> player)
 {
     this.Virtual.Users.Remove(player.Virtual);
     this.Virtual.UserLeft(player.Virtual);
     player.Virtual = null;
 }