private Message AddMessage(Message message)
        {
            if (ActiveMessages.Count(x => x.Type == message.Type) >= 3)
            {
                HIT.HITVM.Get().PlaySoundEvent("ui_call_q_full");
                return(null);
            }

            var existing = (message.Type == MessageType.ReadLetter)?GetLetterByID(message.LetterID):GetMessageByUser(message.Type, message.User.Type, message.User.Id);

            if (existing != null)
            {
                return(existing);
            }

            var window = new UIMessageWindow();

            ControllerUtils.BindController <MessagingWindowController>(window).Init(message, this);
            Game.AddWindow(window);
            MessageWindows.Add(message, window);
            ActiveMessages.Add(message);

            Tray.SetItems(ActiveMessages);
            UpdateTray();

            return(message);
        }
Exemplo n.º 2
0
        private Message AddMessage(Message message)
        {
            if (ActiveMessages.Count >= 3)
            {
                //TODO: Play a sound
                return(null);
            }

            var existing = GetMessageByUser(message.User.Type, message.User.Id);

            if (existing != null)
            {
                return(existing);
            }

            var window = new UIMessageWindow();

            window.BindController <MessagingWindowController>().Init(message, this);
            Game.AddWindow(window);
            MessageWindows.Add(message, window);
            ActiveMessages.Add(message);

            Tray.SetItems(ActiveMessages);
            UpdateTray();

            return(message);
        }
Exemplo n.º 3
0
 public MessagingWindowController(UIMessageWindow view, Network.Network network, IClientDataService dataService)
 {
     this.View        = view;
     this.Network     = network;
     this.DataService = dataService;
 }
    private static void HandleUimessagewindowEvent(WidgetEvent ev)
    {
        UIWidget widget = (UIWidget)ev.Target;
        string   refid  = (string)ev.RefID;

        if (widget.Equals(null))
        {
            return;
        }
        UIWidget mylayout = (UIWidget)widget.FindWidget("pageuimessagewindow");

        if (ev.Type == UI_EVENT_TYPE.UI_EVENT_TYPE_CLICK)
        {
            if (widget.GetId() == "uimessagewindowcode")
            {
                AtomicMain.AppLog("UIMessageWindow support : " + widget.GetId() + " was pressed ");
                AtomicMain.ViewCode("Components/code_uimessagewindow.cs", widget.GetParent());
            }
            if (widget.GetId() == "uimessagewindowlayout")
            {
                AtomicMain.AppLog("UIMessageWindow support : " + widget.GetId() + " was pressed ");
                AtomicMain.ViewCode("Scenes/layout_uimessagewindow.ui.txt", widget.GetParent());
            }

            if (widget.GetId() == "msgnone")
            {
                AtomicMain.AppLog("UIMessageWindow support : " + widget.GetId() + " was pressed ");
                UIMessageWindow mess1 = new UIMessageWindow(mylayout, "mymess1");
                mess1.Show("MessageWindow - NONE", "this is a MessageWindow - None button", (UI_MESSAGEWINDOW_SETTINGS)0, false, 0, 0);
            }
            if (widget.GetId() == "msgok")
            {
                AtomicMain.AppLog("UIMessageWindow support : " + widget.GetId() + " was pressed ");
                UIMessageWindow mess2 = new UIMessageWindow(mylayout, "mymess2");
                mess2.SubscribeToEvent <WidgetEvent> (mess2, HandleUimessagewindowEvent);
                mess2.Show("MessageWindow - OK", "this is a MessageWindow - OK button", UI_MESSAGEWINDOW_SETTINGS.UI_MESSAGEWINDOW_SETTINGS_OK, false, 0, 0);
            }
            if (widget.GetId() == "msgkcancel")
            {
                AtomicMain.AppLog("UIMessageWindow support : " + widget.GetId() + " was pressed ");
                UIMessageWindow mess3 = new UIMessageWindow(mylayout, "mymess3");
                mess3.SubscribeToEvent <WidgetEvent> (mess3, HandleUimessagewindowEvent);
                mess3.Show("MessageWindow - OK CANCEL", "this is a MessageWindow - OK CANCEL buttons", UI_MESSAGEWINDOW_SETTINGS.UI_MESSAGEWINDOW_SETTINGS_OK_CANCEL, false, 0, 0);
            }
            if (widget.GetId() == "msgyesno")
            {
                AtomicMain.AppLog("UIMessageWindow support : " + widget.GetId() + " was pressed ");
                UIMessageWindow mess4 = new UIMessageWindow(mylayout, "mymess4");
                mess4.SubscribeToEvent <WidgetEvent> (mess4, HandleUimessagewindowEvent);
                mess4.Show("MessageWindow - YES NO", "this is a MessageWindow - YES NO buttons", UI_MESSAGEWINDOW_SETTINGS.UI_MESSAGEWINDOW_SETTINGS_YES_NO, false, 0, 0);
            }

            if (refid == "TBMessageWindow.ok")
            {
                AtomicMain.AppLog("UIMessageWindow event : " + refid + " closed the UIMessageWindow");
            }
            if (refid == "TBMessageWindow.cancel")
            {
                AtomicMain.AppLog("UIMessageWindow event : " + refid + " closed the UIMessageWindow");
            }
            if (refid == "TBMessageWindow.yes")
            {
                AtomicMain.AppLog("UIMessageWindow event : " + refid + " closed the UIMessageWindow");
            }
            if (refid == "TBMessageWindow.no")
            {
                AtomicMain.AppLog("UIMessageWindow event : " + refid + " closed the UIMessageWindow");
            }
        }
        else
        {
            AtomicMain.AppLog("UIMessageWindow event : " + widget.GetId() + " event type = " + AtomicMain.EventReport((int)ev.Type));
        }
    }