Example #1
0
        private void InitUI()
        {
            Script     = this.RenderScript("paperchaseeod.uis");
            background = Script.Create <UIImage>("UIBackground");
            AddAt(0, background);

            PersonBG1         = Script.Create <UIImage>("playerPos1");
            PersonBG2         = Script.Create <UIImage>("playerPos2");
            PersonBG3         = Script.Create <UIImage>("playerPos3");
            PersonBG1.Texture = imagePlayer;
            PersonBG2.Texture = imagePlayer;
            PersonBG3.Texture = imagePlayer;
            Add(PersonBG1);
            Add(PersonBG2);
            Add(PersonBG3);

            labelStation1.Alignment = TextAlignment.Left;
            labelStation2.Alignment = TextAlignment.Left;
            labelStation3.Alignment = TextAlignment.Left;

            AButton.OnButtonClick += ChooseLetter;
            BButton.OnButtonClick += ChooseLetter;
            CButton.OnButtonClick += ChooseLetter;

            Lobby = new UIEODLobby(this, 3)
                    .WithPlayerUI(new UIEODLobbyPlayer(0, PersonBG1, labelStation1))
                    .WithPlayerUI(new UIEODLobbyPlayer(1, PersonBG2, labelStation2))
                    .WithPlayerUI(new UIEODLobbyPlayer(2, PersonBG3, labelStation3))
                    .WithCaptionProvider((player, avatar) => {
                if (avatar == null)
                {
                    return("");
                }

                switch (player.Slot + 1)
                {
                case (int)VMEODPaperChaseSlots.Body:
                    return(Script.GetString("strBody") + avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.BodySkill) / 100);

                case (int)VMEODPaperChaseSlots.Mechanical:
                    return(Script.GetString("strMech") + avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.MechanicalSkill) / 100);

                case (int)VMEODPaperChaseSlots.Logic:
                    return(Script.GetString("strLogic") + avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.LogicSkill) / 100);
                }

                return("");
            });
            Add(Lobby);
        }
Example #2
0
        }                                                 // sell out

        public UIBandEOD(UIEODController controller) : base(controller)
        {
            // render script
            Script = RenderScript("jobobjband.uis");
            SetTip(GameFacade.Strings["UIText", "253", "19"]);

            Remove(DOH);
            Remove(RE);
            Remove(MI);
            Remove(FA);
            Remove(SO);
            Remove(LA);
            Remove(TI);
            Remove(DOH2);
            Remove(BUZZ);
            Remove(CONTINUE);
            Remove(CASHOUT);

            SequenceNoteTimer          = new Timer(VMEODBandPlugin.MILLISECONDS_PER_NOTE_IN_SEQUENCE);
            SequenceNoteTimer.Elapsed += NextNoteHandler;
            SyncTimer          = new Timer(VMEODBandPlugin.MILLISECONDS_PER_NOTE_IN_SEQUENCE);
            SyncTimer.Elapsed += SyncTimerElapsedHandler;

            // get the buttons and put into array in order to recover their references when the client connects
            NoteButtonArray = new UIButton[] { BUZZ, DOH, RE, MI, FA, SO, LA, TI, DOH2 }; // matches order of VMEODBandPlugin.VMEODBandNoteTypes
            MiscButtonArray = new UIButton[] { CASHOUT, CONTINUE };

            // make the waiting for players images
            WaitPlayer1         = Script.Create <UIImage>("WaitPlayer1");
            WaitPlayer1.Texture = PlayerImage;
            Add(WaitPlayer1);
            WaitPlayer2         = Script.Create <UIImage>("WaitPlayer2");
            WaitPlayer2.Texture = PlayerImage;
            Add(WaitPlayer2);
            WaitPlayer3         = Script.Create <UIImage>("WaitPlayer3");
            WaitPlayer3.Texture = PlayerImage;
            Add(WaitPlayer3);
            WaitPlayer4         = Script.Create <UIImage>("WaitPlayer4");
            WaitPlayer4.Texture = PlayerImage;
            Add(WaitPlayer4);

            WaitPlayers = new UIImage[] { WaitPlayer1, WaitPlayer2, WaitPlayer3, WaitPlayer4 };

            Player1Wait.Alignment = TextAlignment.Left;
            Player2Wait.Alignment = TextAlignment.Left;
            Player3Wait.Alignment = TextAlignment.Left;
            Player4Wait.Alignment = TextAlignment.Left;

            // add lobby
            Lobby = new UIEODLobby(this, 4)
                    .WithPlayerUI(new UIEODLobbyPlayer(0, WaitPlayer1, Player1Wait))
                    .WithPlayerUI(new UIEODLobbyPlayer(1, WaitPlayer2, Player2Wait))
                    .WithPlayerUI(new UIEODLobbyPlayer(2, WaitPlayer3, Player3Wait))
                    .WithPlayerUI(new UIEODLobbyPlayer(3, WaitPlayer4, Player4Wait))
                    .WithCaptionProvider((player, avatar) => {
                switch (player.Slot)
                {
                case (int)VMEODBandInstrumentTypes.Trumpet:
                    {
                        if (avatar != null)
                        {
                            return(GameFacade.Strings["UIText", "253", "25"].Replace("%d.%02d",
                                                                                     avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.CharismaSkill) / 100m + ""));
                        }
                        else
                        {
                            return(GameFacade.Strings["UIText", "253", "21"]);
                        }
                    }

                case (int)VMEODBandInstrumentTypes.Drums:
                    {
                        if (avatar != null)
                        {
                            return(GameFacade.Strings["UIText", "253", "26"].Replace("%d.%02d",
                                                                                     avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.BodySkill) / 100m + ""));
                        }
                        else
                        {
                            return(GameFacade.Strings["UIText", "253", "22"]);
                        }
                    }

                case (int)VMEODBandInstrumentTypes.Keyboard:
                    {
                        if (avatar != null)
                        {
                            return(GameFacade.Strings["UIText", "253", "27"].Replace("%d.%02d",
                                                                                     avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.CreativitySkill) / 100m + ""));
                        }
                        else
                        {
                            return(GameFacade.Strings["UIText", "253", "23"]);
                        }
                    }

                case (int)VMEODBandInstrumentTypes.Guitar:
                    {
                        if (avatar != null)
                        {
                            return(GameFacade.Strings["UIText", "253", "28"].Replace("%d.%02d",
                                                                                     avatar.GetPersonData(SimAntics.Model.VMPersonDataVariable.CreativitySkill) / 100m + ""));
                        }
                        else
                        {
                            return(GameFacade.Strings["UIText", "253", "24"]);
                        }
                    }
                }
                return("");
            });
            Add(Lobby);

            // listeners
            BinaryHandlers["Band_Sequence"]                = SequenceHandler;
            BinaryHandlers["Band_UI_Init"]                 = UIInitHandler;
            BinaryHandlers["Band_Note_Sync"]               = NoteSyncHandler;
            PlaintextHandlers["Band_Buzz"]                 = BuzzNoteHandler;
            PlaintextHandlers["Band_Fail"]                 = NoteFailHandler;
            PlaintextHandlers["Band_Game_Reset"]           = ResetHandler;
            PlaintextHandlers["Band_Intermission"]         = IntermissionHandler;
            PlaintextHandlers["Band_Performance"]          = InitPerformanceHandler;
            PlaintextHandlers["Band_Continue_Performance"] = PerformanceHandler;
            PlaintextHandlers["Band_Players"]              = PlayerRosterHandler;
            PlaintextHandlers["Band_RockOn"]               = ForceRockOnHandler;
            PlaintextHandlers["Band_Show"]                 = ShowGameHandler;
            PlaintextHandlers["Band_Timer"]                = TimerHandler;
            PlaintextHandlers["Band_Timeout"]              = TimeoutHandler;
            PlaintextHandlers["Band_Win"] = DisplayWinHandler;
        }