本文整理汇总了C#中IRoom类的典型用法代码示例。如果您正苦于以下问题:C# IRoom类的具体用法?C# IRoom怎么用?C# IRoom使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IRoom类属于命名空间,在下文中一共展示了IRoom类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: JoinRoom
public IOperationResult<IRoomUser> JoinRoom(IUserSession session, IRoom room)
{
Contract.Requires(room != null, "room is null.");
Contract.Requires(session != null, "session is null.");
Contract.Ensures(Contract.Result<IOperationResult<IRoomUser>>() != null);
return default(IOperationResult<IRoomUser>);
}
开发者ID:marcel-valdez,项目名称:dot_net_cop_example,代码行数:8,代码来源:IRoomsManagerCodeContract.cs
示例17: RoomCrossFader
public RoomCrossFader(RoomMusicCrossFading crossFading, IRoom room)
{
_crossFading = crossFading;
Room = room;
room.Events.OnBeforeFadeOut.Subscribe(onBeforeFadeOut);
room.Events.OnBeforeFadeIn.Subscribe(onBeforeFadeIn);
}
开发者ID:tzachshabtay,项目名称:MonoAGS,代码行数:8,代码来源:RoomMusicCrossFading.cs
示例18: DisplayPlayersInRoom
//called from the LOOK command
private static string DisplayPlayersInRoom(IRoom room, ObjectId ignoreId) {
StringBuilder sb = new StringBuilder();
if (!room.IsDark) {
foreach (var id in room.GetObjectsInRoom(RoomObjects.Players)) {
if (!id.Equals(ignoreId)) {
IUser otherUser = Server.GetAUser(id);
if (otherUser != null && otherUser.CurrentState == UserState.TALKING) {
if (otherUser.Player.ActionState != CharacterActionState.Hiding && otherUser.Player.ActionState != CharacterActionState.Sneaking){ //(string.IsNullOrEmpty(PassesHideCheck(otherUser, ignoreId, out spot))) { //player should do a spot check this should not be a given
sb.AppendLine(otherUser.Player.FirstName + " is " + otherUser.Player.StanceState.ToString().ToLower() + " here.");
}
}
}
}
Dictionary<string, int> npcGroups = new Dictionary<string, int>();
foreach (var id in room.GetObjectsInRoom(RoomObjects.Npcs)) {
var npc = Character.NPCUtils.GetAnNPCByID(id);
if (!npcGroups.ContainsKey(npc.FirstName + "$" + npc.LastName + "$" + npc.StanceState)) {
npcGroups.Add(npc.FirstName + "$" + npc.LastName + "$" + npc.StanceState, 1);
}
else {
npcGroups[npc.FirstName + "$" + npc.LastName + "$" + npc.StanceState] += 1;
}
}
foreach (KeyValuePair<string, int> pair in npcGroups) {
string[] temp = pair.Key.Split('$');
sb.AppendLine(temp[0] + " is " + temp[2].Replace("_", " ").ToLower() + " here. " + (pair.Value > 1 ? ("[x" + pair.Value + "]") : ""));
}
}
else {
int count = 0;
foreach (var id in room.GetObjectsInRoom(RoomObjects.Players)) {
if (!id.Equals(ignoreId)) {
IUser otherUser = Server.GetAUser(id);
if (otherUser != null && otherUser.CurrentState == UserState.TALKING) {
if (otherUser.Player.ActionState != CharacterActionState.Hiding && otherUser.Player.ActionState != CharacterActionState.Sneaking) { //player should do a spot check this should not be a given
count++;
}
}
}
}
count += room.GetObjectsInRoom(RoomObjects.Npcs).Count;
if (count == 1) {
sb.AppendLine("A presence is here.");
}
else if (count > 1) {
sb.AppendLine("Several presences are here.");
}
}
return sb.ToString();
}
开发者ID:jandar78,项目名称:Novus,代码行数:57,代码来源:HelperMethods.cs
示例19: addWalls
private static void addWalls(GameObject room, IRoom model)
{
addCeiling(room, model.walls[0]);
addFloor(room, model.walls[2]);
if (model.walls[1])
addRightWall(room);
if (model.walls[3])
addLeftWall(room);
}
开发者ID:Jacob-Geb,项目名称:Down,代码行数:10,代码来源:RoomFactory.cs
示例20: TableManager
public TableManager(IRoom room)
{
mRoom = (Room)room;
mSocketHander = mRoom.SocketHander;
//桌子信息
mSocketHander.AddListener(this, ENUM_SOCKET_EVENT.EVENT_MESSAGE, OnTableStatusEvent, (ushort)MAIN_CMD.MDM_GR_STATUS, (ushort)STATUS_SUB_CMD.SUB_GR_TABLE_STATUS, typeof(CMD_GR_TableStatus));
mSocketHander.AddListener(this, ENUM_SOCKET_EVENT.EVENT_MESSAGE, OnTableInfoEvent, (ushort)MAIN_CMD.MDM_GR_STATUS, (ushort)STATUS_SUB_CMD.SUB_GR_TABLE_INFO, typeof(CMD_GR_TableInfo));
mSocketHander.AddListener(this, ENUM_SOCKET_EVENT.EVENT_MESSAGE, OnSystemMessageEvent, (ushort)MAIN_CMD.MDM_CM_SYSTEM, (ushort)SYSTEM_SUB_CMD.SUB_CM_SYSTEM_MESSAGE, typeof(CMD_CM_SystemMessage));
}
开发者ID:ideadreamDefy,项目名称:Defy,代码行数:10,代码来源:TableManager.cs
注:本文中的IRoom类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论