internal static IntermediateMessage ClientNotice(MappedIdentity sender, string payload) { var msg = new IntermediateMessage(sender, MessageType.ClientNotice); msg.Payload = payload; return(msg); }
public void SendMessageDownstream(IntermediateMessage msg) { if (this.ReceiveMessage != null) { ReceiveMessage(this, msg); } }
private void OnSimConnecting(object sender, SimConnectingEventArgs e) { var msg = new IntermediateMessage(mapper.Grid, MessageType.ClientNotice); msg.Payload = "Connecting to simulator"; if (ReceiveMessage != null) { ReceiveMessage(null, msg); } }
public void SendMessageDownstream(IntermediateMessage msg) { if (msg.Sender.AvatarID == client.Self.AgentID && msg.Type != MessageType.ClientNotice && msg.Type != MessageType.ClientError) { return; } if (ReceiveMessage != null) { ReceiveMessage(this, msg); } }
private void OnSimDisconnected(object sender, SimDisconnectedEventArgs e) { var msg = new IntermediateMessage(mapper.Grid, MessageType.ClientNotice); msg.Payload = "Disconnected from " + e.Simulator.Name; if (ReceiveMessage != null) { ReceiveMessage(null, msg); } }
public void SendMessageTo(MappedIdentity destination, IntermediateMessage msg) { UUID session; if (!oneOnOnesessions.TryGetValue(destination.AvatarID, out session)) { oneOnOnesessions[destination.AvatarID] = client.Self.AgentID ^ destination.AvatarID; } client.Self.InstantMessage(client.Self.Name, destination.AvatarID, msg.Payload, session, InstantMessageDialog.MessageFromAgent, InstantMessageOnline.Online, client.Self.SimPosition, client.Network.CurrentSim.ID, null); }
public void SendMessage(IntermediateMessage msg) { if (!client.Self.GroupChatSessions.ContainsKey(group.ID)) { bool success = JoinGroupchat(); if (!success) { return; } } client.Self.InstantMessageGroup(msg.Sender.SlName, group.ID, msg.Payload); }
public void SendMessage(IntermediateMessage msg) { if (canTalk || msg.Payload.StartsWith("/") || msg.Payload.StartsWith("((")) { client.Self.Chat(msg.Payload, chatChannel, ChatType.Normal); } else { var retort = new IntermediateMessage(mapper.Grid, MessageType.ClientNotice); retort.Payload = "You are mute"; SendMessageDownstream(retort); client.Self.Chat("...", chatChannel, ChatType.Normal); } }
private void OnMessageFromObject(InstantMessageEventArgs e) { var msg = new IntermediateMessage(); msg.Sender = mapper.MapObject(e.IM.FromAgentID, e.IM.FromAgentName); msg.Timestamp = e.IM.Timestamp; msg.Type = MessageType.ObjectIM; if (e.IM.Dialog == InstantMessageDialog.BusyAutoResponse) { msg.Type = MessageType.AwayMessage; } msg.Payload = e.IM.Message; localChannel.SendMessageDownstream(msg); }
private void OnScriptDialog(object sender, ScriptDialogEventArgs e) { var mlines = e.Message.Split('\n').Select(i => "[DIALOG] " + i).ToList(); mlines.Insert(0, "[DIALOG] ------------------------------------------"); mlines.Insert(1, string.Format("[DIALOG] {0} {1}'s \"{2}\" ({3})", e.FirstName, e.LastName, e.ObjectName, e.Channel)); mlines.AddRange(e.ButtonLabels.ChunkTrivialBetter(3).Select(i => "[DIALOG] " + string.Join(" ", i.Select(j => string.Format("[{0,-24}]", j)))).Reverse()); mlines.Add("[DIALOG] ------------------------------------------"); foreach (var i in mlines) { var msg = new IntermediateMessage(); msg.Sender = mapper.Grid; msg.Timestamp = DateTime.UtcNow; msg.Type = MessageType.ObjectIM; msg.Payload = i; localChannel.SendMessageDownstream(msg); } }
private void OnLoginProgress(object sender, LoginProgressEventArgs e) { IntermediateMessage msg; if (e.Status != LoginStatus.Failed) { msg = new IntermediateMessage(mapper.Grid, MessageType.ClientNotice); msg.Payload = e.Status.ToString() + (String.IsNullOrEmpty(e.Message) ? ": " + e.Message : ""); } else { msg = new IntermediateMessage(mapper.Grid, MessageType.ClientError); msg.Payload = e.Status.ToString() + (String.IsNullOrEmpty(e.Message) ? ": " + e.Message : ""); msg.Payload += " (" + e.FailReason + ")"; } if (ReceiveMessage != null) { ReceiveMessage(null, msg); } }
public async Task <bool> Join() { lock (syncRoot) { if (joinTask == null) { oldState = state; state = ChannelState.Joining; joinTask = client.Self.JoinGroupChatAsync(group.ID); } } var result = await joinTask; lock (syncRoot) { state = result ? ChannelState.Connected : ChannelState.Failed; if (!result && oldState == ChannelState.Unconnected) { SendMessageDownstream(IntermediateMessage.ClientNotice(mapper.Client, "Could not join group " + SlName)); } } return(result); }
private void OnMessageFromAgent(InstantMessageEventArgs e) { var msg = new IntermediateMessage(); msg.Sender = mapper.MapUser(e.IM.FromAgentID, e.IM.FromAgentName); msg.Timestamp = e.IM.Timestamp; msg.Type = MessageType.IM; msg.Payload = e.IM.Message; UUID sid = e.IM.IMSessionID; if (groups.ContainsKey(sid)) { channels[sid].SendMessageDownstream(msg); return; } oneOnOnesessions[e.IM.FromAgentID] = sid; if (this.ReceiveMessage != null) { ReceiveMessage(null, msg); } }
public void OnLocalChat(object sender, OpenMetaverse.ChatEventArgs e) { if (e.Type == ChatType.StartTyping || e.Type == ChatType.StopTyping || e.Type == ChatType.Debug) { return; } if (e.SourceID == client.Self.AgentID) { return; } System.Diagnostics.Debug.WriteLine("Local chat: <{1}> {0}", e.Message, e.FromName); var msg = new IntermediateMessage(); msg.Payload = e.Message; if (e.SourceType == OpenMetaverse.ChatSourceType.Object) { msg.Sender = mapper.MapObject(e.SourceID, e.FromName); } else if (e.SourceType == OpenMetaverse.ChatSourceType.Agent) { msg.Sender = mapper.MapUser(e.SourceID, e.FromName); } else { msg.Sender = mapper.Grid; } msg.Timestamp = DateTime.UtcNow; if (e.SourceType == ChatSourceType.System) { msg.Type = MessageType.System; msg.Sender = mapper.Grid; } if (e.Type == OpenMetaverse.ChatType.Shout) { msg.Type = MessageType.Shout; } else if (e.Type == ChatType.Whisper) { msg.Type = MessageType.Whisper; } else if (e.Type == ChatType.RegionSay) { msg.Type = MessageType.RegionSay; } else if (e.Type == ChatType.OwnerSay) { msg.Type = MessageType.OwnerSay; if (Rlv(msg.Payload)) { return; } } SendMessageDownstream(msg); }
public void SendMessage(IntermediateMessage msg) { if(!client.Self.GroupChatSessions.ContainsKey(group.ID)) { bool success = JoinGroupchat(); if(!success) return; } client.Self.InstantMessageGroup(msg.Sender.SlName, group.ID, msg.Payload); }
internal static IntermediateMessage ClientNotice(MappedIdentity sender, string payload) { var msg = new IntermediateMessage(sender, MessageType.ClientNotice); msg.Payload = payload; return msg; }
public void SendMessageDownstream(IntermediateMessage msg) { if (this.ReceiveMessage != null) { ReceiveMessage(this, msg); } }
public void SendMessage(IntermediateMessage msg) { if (canTalk || msg.Payload.StartsWith("/") || msg.Payload.StartsWith("((")) { client.Self.Chat(msg.Payload, chatChannel, ChatType.Normal); } else { var retort = new IntermediateMessage(mapper.Grid, MessageType.ClientNotice); retort.Payload = "You are mute"; SendMessageDownstream(retort); client.Self.Chat("...", chatChannel, ChatType.Normal); } }
public void OnLocalChat(object sender, OpenMetaverse.ChatEventArgs e) { if (e.Type == ChatType.StartTyping || e.Type == ChatType.StopTyping || e.Type == ChatType.Debug) { return; } if (e.SourceID == client.Self.AgentID) { return; } System.Diagnostics.Debug.WriteLine("Local chat: <{1}> {0}", e.Message, e.FromName); var msg = new IntermediateMessage(); msg.Payload = e.Message; if(e.SourceType == OpenMetaverse.ChatSourceType.Object) { msg.Sender = mapper.MapObject(e.SourceID, e.FromName); } else if(e.SourceType == OpenMetaverse.ChatSourceType.Agent) { msg.Sender = mapper.MapUser(e.SourceID, e.FromName); } else { msg.Sender = mapper.Grid; } msg.Timestamp = DateTime.UtcNow; if (e.SourceType == ChatSourceType.System) { msg.Type = MessageType.System; msg.Sender = mapper.Grid; } if(e.Type == OpenMetaverse.ChatType.Shout) { msg.Type = MessageType.Shout; } else if(e.Type == ChatType.Whisper) { msg.Type = MessageType.Whisper; } else if (e.Type == ChatType.RegionSay) { msg.Type = MessageType.RegionSay; } else if (e.Type == ChatType.OwnerSay) { msg.Type = MessageType.OwnerSay; if(Rlv(msg.Payload)) { return; } } SendMessageDownstream(msg); }
public void SendMessageDownstream(IntermediateMessage msg) { if(msg.Sender.AvatarID == client.Self.AgentID && msg.Type != MessageType.ClientNotice && msg.Type != MessageType.ClientError) { return; } if(ReceiveMessage != null) { ReceiveMessage(this, msg); } }