Exemplo n.º 1
0
 public static void Message(string text, MessageTypeDef type)
 {
     if (Messages.AcceptsMessage(text, TargetInfo.Invalid))
     {
         LiveMessage msg = new LiveMessage(text);
         Messages.Message(msg, type);
     }
 }
Exemplo n.º 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            LiveMessage liveMessage = db.LiveMessages.Find(id);

            db.LiveMessages.Remove(liveMessage);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
 public static void Message(string text, GlobalTargetInfo lookTarget, MessageTypeDef type)
 {
     if (Messages.AcceptsMessage(text, lookTarget))
     {
         LiveMessage msg = new LiveMessage(text, lookTarget);
         Messages.Message(msg, type);
     }
 }
Exemplo n.º 4
0
        public void Enqueue(LiveMessage newLiveMessage)
        {
            lock (this)
            {
#if DEBUG
#else
#endif
                messageQueue.Enqueue(newLiveMessage);
            }
        }
Exemplo n.º 5
0
 private static void Message(LiveMessage msg, MessageTypeDef type)
 {
     Messages.liveMessages.Add(msg);
     while (Messages.liveMessages.Count > 12)
     {
         Messages.liveMessages.RemoveAt(0);
     }
     if (type.sound != null)
     {
         type.sound.PlayOneShotOnCamera(null);
     }
 }
Exemplo n.º 6
0
 public ActionResult Edit([Bind(Include = "id,SenderUserId,ReceiverUserId,DateTime,IP,Message,SeenTime")] LiveMessage liveMessage)
 {
     if (ModelState.IsValid)
     {
         db.Entry(liveMessage).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ReceiverUserId = new SelectList(db.Users, "id", "Name", liveMessage.ReceiverUserId);
     ViewBag.SenderUserId   = new SelectList(db.Users, "id", "Name", liveMessage.SenderUserId);
     return(View(liveMessage));
 }
Exemplo n.º 7
0
        // Update is called once per frame
        void Update()
        {
            if (syncClient != null)
            {
                if (syncClient.Running)
                {
                    while (syncClient.SyncQueue.GetCount() > 0)
                    {
                        byte[] messageBytes = syncClient.SyncQueue.Dequeue();

                        // 处理消息
                        LiveMessage msg = LiveMessageManager.ParseMessage(messageBytes);
                        //Debug.Log("msg type=" + msg.type);
                        switch (msg.type)
                        {
                        case LiveMessageConstant.BEV_MESSAGE_TYPE_START:
                            synchronizing = true;
                            break;

                        case LiveMessageConstant.BEV_MESSAGE_TYPE_STOP:
                            synchronizing = false;
                            break;

                        case LiveMessageConstant.BEV_MESSAGE_TYPE_SET_ANCHOR:
                            LiveMessageSetAnchor msgSetAnchor = msg as LiveMessageSetAnchor;
                            // 这里也不能再同步了
                            synchronizing = false;
                            SetAnchors(msgSetAnchor);

                            // 重置同步消息序号
                            syncIndex = 0;

                            break;

                        case LiveMessageConstant.BEV_MESSAGE_TYPE_SAVE_ANCHOR:
                            LiveMessageSaveAnchor msgSaveAnchor = msg as LiveMessageSaveAnchor;
                            // 这里也不能再同步了
                            synchronizing = false;
                            SaveAnchors(msgSaveAnchor);
                            break;

                        case LiveMessageConstant.BEV_MESSAGE_TYPE_DOWNLOAD_ANCHOR:
                            DownloadAnchor();
                            break;

                        case LiveMessageConstant.BEV_MESSAGE_TYPE_REQUEST_SPATIAL_MAPPING:
                            SendSpatialMapping();
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
    private void MessageEvent(string strJson)
    {
        LiveMessage lm = JsonUtility.FromJson <LiveMessage>(strJson);

        UserObjectList.UserObject uo = GetUserObject(lm.userid);
        if (uo == null)
        {
            uo = Add(lm.userid);
        }

        SetUserName(uo, lm.username);

        switch (lm.action)
        {
        case "penlight":
        {
            Color col = Color.white;
            switch (lm.message)
            {
            case "red":
                col = Color.red;
                break;

            case "magenta":
                col = Color.magenta;
                break;

            case "yellow":
                col = Color.yellow;
                break;

            case "blue":
                col = Color.blue;
                break;

            case "cyan":
                col = Color.cyan;
                break;

            case "green":
                col = Color.green;
                break;
            }
            SetColor(uo, col);
        }
            StartVolumetricLine(uo);
            break;

        case "call":
            CreatePopup(uo, lm.message);
            break;
        }
    }
 private void DanmakuMessageHandler(object sender, LiveMessage message)
 {
     try
     {
         // Dispatch live message with event bus.
         EventBus.Default.Post(message);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
Exemplo n.º 10
0
        // GET: LiveMessage/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LiveMessage liveMessage = db.LiveMessages.Find(id);

            if (liveMessage == null)
            {
                return(HttpNotFound());
            }
            return(View(liveMessage));
        }
Exemplo n.º 11
0
        // GET: LiveMessage/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LiveMessage liveMessage = db.LiveMessages.Find(id);

            if (liveMessage == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ReceiverUserId = new SelectList(db.Users, "id", "Name", liveMessage.ReceiverUserId);
            ViewBag.SenderUserId   = new SelectList(db.Users, "id", "Name", liveMessage.SenderUserId);
            return(View(liveMessage));
        }
Exemplo n.º 12
0
        public ActionResult Create([Bind(Include = "id,SenderUserId,ReceiverUserId,DateTime,IP,Message,SeenTime")] LiveMessage liveMessage)
        {
            liveMessage.DateTime     = DateTime.Now;
            liveMessage.IP           = Request.UserHostAddress;
            liveMessage.SeenTime     = null;
            liveMessage.SenderUserId = (int)Session["id"];

            if (ModelState.IsValid)
            {
                db.LiveMessages.Add(liveMessage);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ReceiverUserId = new SelectList(db.Users, "id", "Name", liveMessage.ReceiverUserId);
            return(View(liveMessage));
        }
Exemplo n.º 13
0
        public static bool CollidesWithAnyMessage(Rect rect, out float messageAlpha)
        {
            bool  result = false;
            float num    = 0f;

            for (int i = 0; i < Messages.liveMessages.Count; i++)
            {
                LiveMessage liveMessage = Messages.liveMessages[i];
                if (rect.Overlaps(liveMessage.lastDrawRect))
                {
                    result = true;
                    num    = Mathf.Max(num, liveMessage.Alpha);
                }
            }
            messageAlpha = num;
            return(result);
        }
Exemplo n.º 14
0
        public static LiveMessage Parse(DanmakuModel model)
        {
            var json = model.RawDataJToken;
            var cmd  = json["cmd"].ToString();
            var type = (LiveMessage.Type)EnumUtils.FromDescription(typeof(LiveMessage.Type), cmd);

            LiveMessage liveMessage = null;

            switch (type)
            {
//                case LiveMessage.Type.Danmaku: liveMessage = json.ToObject<DanmakuMessage>(); break;
            case LiveMessage.Type.Gift: liveMessage = json["data"].ToObject <GiftMessage>(); break;

            default: break;
            }

            return(liveMessage);
        }
Exemplo n.º 15
0
    void Update()
    {
        if (Input.GetKeyUp("s"))
        {
            LiveMessage lm = new LiveMessage()
            {
                userid   = "unity",
                username = "******",
                action   = "keypress",
                message  = "s"
            };

            string json = JsonUtility.ToJson(lm);

            m_ws.Send(json);
        }

        if (m_uol != null)
        {
            m_uol.Update();
        }
    }
Exemplo n.º 16
0
        private void CheckMessage()
        {
            float realTime = Time.realtimeSinceStartup;

            if (server != null)
            {
                //Debug.Log("Server Listening? " + server.IsListening);
                if (hololensConnected && !hololensHasInit && !waiting)
                {
                    // 如果连上了,就开始初始化
                    SetHololensSynchronize(false);
                    SetAnchorToHololens(true);

                    // 这时需要把传输序列号清空,避免新接入的Hololens的同步消息被忽略
                    lastSyncIndex = int.MinValue;
                }

                while (SyncServer.SyncQueue.GetCount() > 0)
                {
                    byte[] messageBytes = SyncServer.SyncQueue.Dequeue();
                    //Debug.Log("receive [" + messageBytes.Length + "] type=" + messageBytes[0]);

                    // 处理消息
                    LiveMessage msg = LiveMessageManager.ParseMessage(messageBytes);

                    switch (msg.type)
                    {
                    case LiveMessageConstant.BEV_MESSAGE_TYPE_SYNCHRONIZE_ALL:
                        LiveMessageSynchronizeAll syncMsg = msg as LiveMessageSynchronizeAll;

                        DealSyncMessage(syncMsg);

                        break;

                    case LiveMessageConstant.BEV_MESSAGE_TYPE_DOWNLOAD_ANCHOR_FINISH:
                        LiveMessageDownloadFinish downloadFinishMsg = msg as LiveMessageDownloadFinish;
                        waiting = false;
                        if (downloadFinishMsg.result.success)
                        {
                            waitingString = "Download Anchors Success! ";
                        }
                        else
                        {
                            waitingString = downloadFinishMsg.result.errorString;
                        }
                        break;

                    case LiveMessageConstant.BEV_MESSAGE_TYPE_SET_ANCHOR_FINISH:
                        LiveMessageSetAnchorFinish anchorFinishMsg = msg as LiveMessageSetAnchorFinish;
                        spectatorViewVersion = anchorFinishMsg.version;
                        if (spectatorViewVersion < LiveHololens.version)
                        {
                            // SpectatorView版本太低!
                            liveUI.ShowInfoDialog("Spectator View's verion is too old!");
                            hololensConnected = false;
                            StopHololesServer();
                        }

                        waiting         = false;
                        waitingString   = "init OK!";
                        hololensHasInit = true;

                        // 初始化完成,就先开启位置传输
                        SetHololensSynchronize(true);
                        break;

                    case LiveMessageConstant.BEV_MESSAGE_TYPE_SAVE_ANCHOR_FINISH:
                        LiveMessageSaveAnchorFinish savehMsg = msg as LiveMessageSaveAnchorFinish;

                        waiting = false;
                        if (savehMsg.result.success)
                        {
                            waitingString = "Save Anchor OK!";

                            // 初始化完成,就先开启位置传输
                            // 此功能先取消,因为产生了许多误解
                            //SetHololensSynchronize(true);
                        }
                        else
                        {
                            waitingString = savehMsg.result.errorString;
                        }
                        break;

                    case LiveMessageConstant.BEV_MESSAGE_TYPE_RESPONSE_SPATIAL_MAPPING:
                        LiveMessageResponseSpatialMapping spatialMsg = msg as LiveMessageResponseSpatialMapping;
                        SetSpatialMapping(spatialMsg);
                        break;
                    }
                }

                // 判断是否已经不传输了
                if (lastSyncTime >= 0)
                {
                    if (Time.time - lastSyncTime > syncTimeoutInterval)
                    {
                        hololensStartSynchronize = false;
                    }
                }
            }

            if (useUDP && udpListener != null)
            {
                while (udpListener.UdpReceiveQueue.GetCount() > 0)
                {
                    byte[] messageBytes = udpListener.UdpReceiveQueue.Dequeue();
                    //Debug.Log(messageBytes.Length + "---" + messageBytes[0]);
                    LiveMessage msg = LiveMessageManager.ParseMessage(messageBytes);

                    if (msg == null)
                    {
                        continue;
                    }

                    switch (msg.type)
                    {
                    case LiveMessageConstant.BEV_MESSAGE_TYPE_SYNCHRONIZE_ALL:
                        LiveMessageSynchronizeAll syncMsg = msg as LiveMessageSynchronizeAll;
                        //Debug.Log("-->"+syncMsg.seq);
                        DealSyncMessage(syncMsg);

                        break;
                    }
                }
            }
        }
Exemplo n.º 17
0
    public static LiveMessage ParseMessage(byte[] bytes)
    {
        LiveMessage msg = null;

        if (bytes.Length == 0)
        {
            Debug.LogError("Error: Message length=0!");
            return(msg);
        }

        switch (bytes[0])
        {
        case LiveMessageConstant.BEV_MESSAGE_TYPE_START:
            msg = new LiveMessageStart();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_STOP:
            msg = new LiveMessageStop();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_DOWNLOAD_ANCHOR:
            msg = new LiveMessageDownload();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_SET_ANCHOR:
            msg = new LiveMessageSetAnchor();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_SYNCHRONIZE_ALL:
            msg = new LiveMessageSynchronizeAll();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_DOWNLOAD_ANCHOR_FINISH:
            msg = new LiveMessageDownloadFinish();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_SET_ANCHOR_FINISH:
            msg = new LiveMessageSetAnchorFinish();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_SAVE_ANCHOR:
            msg = new LiveMessageSaveAnchor();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_SAVE_ANCHOR_FINISH:
            msg = new LiveMessageSaveAnchorFinish();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_REQUEST_SPATIAL_MAPPING:
            msg = new LiveMessageRequestSpatialMapping();
            break;

        case LiveMessageConstant.BEV_MESSAGE_TYPE_RESPONSE_SPATIAL_MAPPING:
            msg = new LiveMessageResponseSpatialMapping();
            break;

        default:
            Debug.LogError("No such type message!");
            return(msg);
        }

        try
        {
            msg.Deserialize(bytes);
        }
        catch (Exception e)
        {
            msg = null;
            Debug.LogError("Parse Message Error! " + e);
        }

        return(msg);
    }
        public IFacebookApi Initialize(IFacebookSession session)
        {
            AuthToken = string.Empty;

            #if !SILVERLIGHT
            InstalledCulture = CultureInfo.InstalledUICulture;
            #else
            InstalledCulture = CultureInfo.CurrentUICulture;
            #endif

            Session = session;

            Auth = new Auth(Session);
            Video = new Video(Session);
            Marketplace = new Marketplace(Session);
            Admin = new Admin(Session);
            Photos = new Photos(Session);
            Users = new Users(Session);
            Friends = new Friends(Users, Session);
            Events = new Events(Session);
            Groups = new Groups(Session);
            Notifications = new Notifications(Session);
            Profile = new Profile(Session);
            Fbml = new Fbml(Session);
            Feed = new Feed(Session);
            Fql = new Fql(Session);
            LiveMessage = new LiveMessage(Session);
            Message = new Message(Session);
            Batch = new Batch(Session);
            Pages = new Pages(Session);
            Application = new Application(Session);
            Data = new Data(Session);
            Permissions = new Permissions(Session);
            Connect = new Connect(Session);
            Comments = new Comments(Session);
            Stream = new Stream(Session);
            Status = new Status(Session);
            Links = new Links(Session);
            Notes = new Notes(Session);
            Intl = new Intl(Session);

            Batch.Batch = Batch;
            Permissions.Permissions = Permissions;
            Batch.Permissions = Permissions;
            Permissions.Batch = Batch;

            foreach (IRestBase restBase in new IRestBase[] {Auth, Video, Marketplace, Admin, Photos, Users, Friends, Events,
                Groups, Notifications, Profile, Fbml, Feed, Fql, LiveMessage, Message, Pages, Application, Data, Connect, Comments,
                Stream, Status, Links, Notes})
            {
                restBase.Batch = Batch;
                restBase.Permissions = Permissions;
            }

            return this;
        }