当前位置: 首页>>代码示例>>C#>>正文


C# IRoom类代码示例

本文整理汇总了C#中IRoom的典型用法代码示例。如果您正苦于以下问题:C# IRoom类的具体用法?C# IRoom怎么用?C# IRoom使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IRoom类属于命名空间,在下文中一共展示了IRoom类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: RequestAvailablePlayerAsync

        public Task<Option<IPlayer>> RequestAvailablePlayerAsync(IRoom room)
        {
            var player = players.Values.FirstOrDefault(p => !p.CurrentRoom.HasValue);
            player?.AssignToRoom(room);

            return Task.FromResult(Option.Create((IPlayer)player));
        }
开发者ID:jpmarr,项目名称:kookbox,代码行数:7,代码来源:MockMusicSource.cs

示例2: OOCMessage

        public static PostHandlerOutput[] OOCMessage(
            IDocumentSession documentSession,
            IMember sender,
            IRoom room,
            string source)
        {
            documentSession.Ensure("documentSession");
            sender.Ensure("sender");
            room.Ensure("room");
            source.Ensure("source");

            var match = oocMessageRegex.Match(source);
            if (!match.Success)
                return null;

            var message = match.Groups[1].Value;

            var text = string.Concat(
                "(( ",
                sender.Alias,
                ": ",
                message,
                " ))");

            documentSession.CreatePost(room.Id, sender.Id, sender.EmailAddress.GravatarUrl(), source, "ooc-message", text);

            return PostHandlerOutput.Empty;
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:28,代码来源:OOCMessage.cs

示例3: updateCurrentRoom

 public void updateCurrentRoom(IRoom model)
 {
     if (currentRoom)
         Destroy(currentRoom.gameObject);
     currentRoom = makeCurrent(model);
     currentRoom.roomeEnabled = true;
 }
开发者ID:Jacob-Geb,项目名称:Down,代码行数:7,代码来源:DungeonView.cs

示例4: IsRoomPlayer

        public static bool IsRoomPlayer(this IMember member, IRoom room)
        {
            room.Ensure("room");
            member.Ensure("member");

            return room.Players.Any(player => player.MemberId == member.Id);
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:7,代码来源:IsRoomPlayer.cs

示例5: HandlePost

        public static PostHandlerOutput[] HandlePost(
            IDocumentSession documentSession,
            IMember sender,
            IRoom room,
            string source)
        {
            documentSession.Ensure("documentSession");
            sender.Ensure("sender");
            room.Ensure("room");
            source.Ensure("source");

            if (_postHandlers == null)
                throw new InvalidOperationException("Post handlers haven't been set yet.");

            if (!CanPost(room, sender))
            {
                throw new InvalidOperationException(
                    String.Format(
                        CultureInfo.InvariantCulture,
                        "Member '{0}' cannot post to room '{1}'.",
                        sender.Id,
                        room.Id));
            }

            return _postHandlers
                .Select(slashCommand => slashCommand(
                    documentSession,
                    sender,
                    room,
                    source))
                .FirstOrDefault(result => result != null);
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:32,代码来源:PostHandlerFunctions.cs

示例6: NotifyRoom

        public static void NotifyRoom(IRoom room, IPost post, IMailSender mailSender)
        {
            var context = GlobalHost.ConnectionManager.GetHubContext<RoomHub>();

            context.Clients.Group(String.Concat("room-", post.RoomId))
                .post(post.Id, post.Type, post.AuthorAlias, post.AvatarUrl, post.Text, post.Timestamp.ToString("MMM dd yy @ hh:mm tt"));

            IEnumerable<string> emailAddresses;
            if (post.AuthorId == room.OwnerId)
                emailAddresses = room.Players.Select(x => x.MemberEmailAddress);
            else
                emailAddresses =
                    room.Players
                        .Where(x => x.MemberId != post.AuthorId)
                        .Select(x => x.MemberEmailAddress)
                        .Concat(new[] { room.OwnerEmailAddress });

            var subject = String.Concat("[", room.Slug, "] ", "New Post");
            const string bodyFormat = @"There's a new post to {0}:

            {1}

            Visit the room at {2}.";
            var body = String.Format(CultureInfo.CurrentUICulture, bodyFormat, room.Title, post.Text, MakeAbsoluteUri(Paths.Room(room.Slug)));

            emailAddresses.ForEach(x => SendMail(x, subject, body));
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:27,代码来源:NotifyRoom.cs

示例7: RollCommand

        public static PostHandlerOutput[] RollCommand(
            IDocumentSession documentSession,
            IMember sender,
            IRoom room,
            string source)
        {
            documentSession.Ensure("documentSession");
            sender.Ensure("sender");
            room.Ensure("room");
            source.Ensure("source");

            var match = rollCommandRegex.Match(source);
            if (!match.Success)
                return null;

            var number = int.Parse(match.Groups[1].Value);
            var sides = int.Parse(match.Groups[2].Value);

            var diceRolled = string.Join(
                ", ",
                fn.RollDice(number, sides).ToArray());

            var text = string.Format(
                CultureInfo.CurrentUICulture,
                "{0} rolled {1}d{2} with the result: {3}.",
                sender.Alias,
                number,
                sides,
                diceRolled);

            documentSession.CreatePost(room.Id, sender.Id, null, source, "roll-result", text);

            return PostHandlerOutput.Empty;
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:34,代码来源:RollCommand.cs

示例8: GMNarration

        public static PostHandlerOutput[] GMNarration(
            IDocumentSession documentSession,
            IMember sender,
            IRoom room,
            string source)
        {
            documentSession.Ensure("documentSession");
            sender.Ensure("sender");
            room.Ensure("room");
            source.Ensure("source");

            if (!sender.IsRoomOwner(room))
                return null;

            source = source.Trim();

            if (source.StartsWith("/", StringComparison.OrdinalIgnoreCase))
                return null;

            var text = string.Concat(
                "GM: ",
                source);

            documentSession.CreatePost(room.Id, sender.Id, null, source, "gm-narration", text);

            return PostHandlerOutput.Empty;
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:27,代码来源:GMNarration.cs

示例9: IsRoomOwner

        public static bool IsRoomOwner(this IMember member, IRoom room)
        {
            room.Ensure("room");
            member.Ensure("member");

            return room.OwnerId == member.Id;
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:7,代码来源:IsRoomOwner.cs

示例10: TranscriptViewModel

    public TranscriptViewModel(IRoom room, ISite site, string searchTerm, 
      DateTime searchDate, MessageViewModelFactory messageViewModelFactory, IEventAggregator eventAggregator)
    {
      this.room = room;
      this.site = site;

      this.SearchTerm = searchTerm;
      this.SearchDate = searchDate;

      this.dispatcher = Dispatcher.CurrentDispatcher;

      this.messageViewModelFactory = messageViewModelFactory;
      this.Messages = new ObservableCollection<ViewModelBase>();
      this.Rooms = new ObservableCollection<RoomViewModel>();

      if (!string.IsNullOrWhiteSpace(this.SearchTerm))
        SearchByString();
      else if (this.SearchDate != DateTime.MinValue)
        SearchByDate();

      if (SearchDate == DateTime.MinValue)
        SearchDate = DateTime.Today;

      this.SearchByStringCommand = new RelayCommand(SearchByString);
      this.SearchByDateCommand = new RelayCommand(SearchByDate);

      foreach (var r in this.site.Rooms)
        this.Rooms.Add(new RoomViewModel(site, null, r, eventAggregator));
    }
开发者ID:maxschmeling,项目名称:flamecage,代码行数:29,代码来源:TranscriptViewModel.cs

示例11: PCNarration

        public static PostHandlerOutput[] PCNarration(
            IDocumentSession documentSession,
            IMember sender,
            IRoom room,
            string source)
        {
            documentSession.Ensure("documentSession");
            sender.Ensure("sender");
            room.Ensure("room");
            source.Ensure("source");

            source = source.Trim();
            if (source.StartsWith("/", StringComparison.OrdinalIgnoreCase))
                return null;

            if (!sender.IsRoomPlayer(room))
                return null;

            var player = room.Players.SingleOrDefault(x => x.MemberId == sender.Id);
            if (player == null)
                return null;

            var text = string.Concat(
                player.CharacterName,
                ": ",
                source);

            documentSession.CreatePost(room.Id, sender.Id, null, source, "pc-narration", text);

            return PostHandlerOutput.Empty;
        }
开发者ID:half-ogre,项目名称:rpg-rooms,代码行数:31,代码来源:PCNarration.cs

示例12: Render

 public void Render(IRoom room)
 {
     for (int i = 0; i < room.Length; i++)
     {
         for(int j = 0; j < room.Length; j++)
             Console.WriteLine("a");
     }
 }
开发者ID:Viriatos,项目名称:TheDownloadProject,代码行数:8,代码来源:StdOutputRenderer.cs

示例13: JoinRoom

        /// <summary>
        /// Joins the room.
        /// </summary>
        /// <param name="session">The session.</param>
        /// <param name="room">The room.</param>
        /// <returns></returns>
        /// Permite a un usuario en sesión ingresar a una sala,
        /// si el usuario en sesión no está autentificado, se lanzará una
        /// excepción de seguridad
        /// *
        /// <remarks>TODO: Pruebas unitarias para este método.</remarks>
        public IOperationResult<IRoomUser> JoinRoom(IUserSession session, IRoom room)
        {
            RoomUser rUser = new RoomUser(session, room);
              this.roomsUserLists[room].Add(rUser);
              messaging.Publish(room, Tuple.Create(session, RoomAction.Join));

              return new OperationResult<IRoomUser>(ResultValue.Success, "", rUser);
        }
开发者ID:marcel-valdez,项目名称:dot_net_cop_example,代码行数:19,代码来源:RoomsManager.cs

示例14: UserManager

 public UserManager(IRoom room)
 {
     mRoom = (Room)room;
     mSocketHander = mRoom.SocketHander;
     mSocketHander.AddListener(this, ENUM_SOCKET_EVENT.EVENT_MESSAGE, OnUserEnterEvent, (ushort)MAIN_CMD.MDM_GR_USER, (ushort)USER_SUB_CMD.SUB_GR_USER_ENTER, typeof(tagUserInfo));
     mSocketHander.AddListener(this, ENUM_SOCKET_EVENT.EVENT_MESSAGE, OnUserStatusEvent, (ushort)MAIN_CMD.MDM_GR_USER, (ushort)USER_SUB_CMD.SUB_GR_USER_STATUS, typeof(CMD_GR_UserStatus));
     mSocketHander.AddListener(this, ENUM_SOCKET_EVENT.EVENT_MESSAGE, OnUserScoreEvent, (ushort)MAIN_CMD.MDM_GR_USER, (ushort)USER_SUB_CMD.SUB_GR_USER_SCORE, typeof(CMD_GR_UserScore));
 }
开发者ID:ideadreamDefy,项目名称:Defy,代码行数:8,代码来源:UserManager.cs

示例15: CreateDoor

        public async Task<IDoorway> CreateDoor(string doorwayName, IRoom departureRoom, ITravelDirection travelDirection)
        {
            var doorway = new MudDoor();
            await doorway.ConnectRoom(travelDirection, departureRoom);
            doorway.SetName(doorwayName);

            return doorway;
        }
开发者ID:danec020,项目名称:MudEngine,代码行数:8,代码来源:MudDoorFactory.cs


注:本文中的IRoom类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。