FreeMoney.FreeMoneyModule.SendInstantMessage C# (CSharp) Method

SendInstantMessage() private method

private SendInstantMessage ( UUID dest, string message ) : void
dest UUID
message string
return void
        private void SendInstantMessage(UUID dest, string message)
        {
            IClientAPI user = null;

            // Find the user's controlling client.
            lock (m_scenes) {
                foreach (Scene sc in m_scenes) {
                    ScenePresence av = sc.GetScenePresence (dest);

                    if ((av != null) && (av.IsChildAgent == false)) {
                        // Found the client,
                        // and their root scene.
                        user = av.ControllingClient;
                    }
                }
            }

            if (user == null)
                return;

            UUID transaction = UUID.Random ();

            GridInstantMessage msg = new GridInstantMessage ();
            msg.fromAgentID = new Guid (UUID.Zero.ToString ());
            // From server
            msg.toAgentID = new Guid (dest.ToString ());
            msg.imSessionID = new Guid (transaction.ToString ());
            msg.timestamp = (uint)Util.UnixTimeSinceEpoch ();
            msg.fromAgentName = "FreeMoney";
            msg.dialog = (byte)19;
            // Object msg
            msg.fromGroup = false;
            msg.offline = (byte)0;
            msg.ParentEstateID = (uint)0;
            msg.Position = Vector3.Zero;
            msg.RegionID = new Guid (UUID.Zero.ToString ());
            msg.binaryBucket = new byte[0];
            msg.message = message;

            user.SendInstantMessage (msg);
        }