Example #1
0
 private void CEL_OnAnimEnd(FLCPlayer player)
 {
     player.BackgroundTexture = null;
     animPlaying = false;
     if (questionsAnswered == questionCount)
     {
         EndQuestions();
     }
     else
     {
         backgroundBitmap.Palette.Set(roguePaletteIndex, 0, 0, rogueBlue);
         backgroundBitmap.Palette.Set(magePaletteIndex, 0, 0, mageBlue);
         backgroundBitmap.Palette.Set(warriorPaletteIndex, 0, 0, warriorBlue);
         nativeTexture = new Texture2D(backgroundBitmap.Width, backgroundBitmap.Height, TextureFormat.ARGB32, false);
         if (!nativeTexture)
         {
             throw new Exception("CreateCharClassQuestions: Could not load native texture.");
         }
         nativeTexture.SetPixels32(backgroundImg.GetColor32(backgroundBitmap, 0));
         nativeTexture.Apply(false, true);
         nativeTexture.filterMode      = DaggerfallUI.Instance.GlobalFilterMode;
         NativePanel.BackgroundTexture = nativeTexture;
         DisplayQuestion(questionIndices[questionsAnswered]);
     }
 }
Example #2
0
        public IntroGameScreen(IntroFinished setIntroFinished, bool setUseVoiceOver = true)
        {
            useVoiceOver  = setUseVoiceOver;
            curTexture    = null;
            introFinished = setIntroFinished;

            MouseCursor.State = MouseCursorState.None;

            if (useVoiceOver)
            {
                storyboard = new IntroStoryboardWithVO();

                MainGame.SoundManager.LoadSound(546);
                MainGame.SoundManager.LoadSound(547);
                MainGame.SoundManager.LoadSound(548);
                MainGame.SoundManager.LoadSound(549);
                MainGame.SoundManager.LoadSound(550);
            }
            else
            {
                storyboard = new IntroStoryboardNoVO();
            }
            storyboard.OnStageSwitched      += storyboard_OnStageSwitched;
            storyboard.OnChangeMovieStatus  += storyboard_OnChangeMovieStatus;
            storyboard.OnAudioStageSwitched += Storyboard_OnAudioStageSwitched;

            player = new FLCPlayer(MainGame.Device);
            player.OnFrameUpdated     += player_OnFrameUpdated;
            player.OnPlaybackFinished += player_OnPlaybackFinished;
        }
Example #3
0
 protected override void Setup()
 {
     // Set panel width/height to whatever - by default the image will maintain aspect inside panel area
     playerPanel = new FLCPlayer();
     playerPanel.HorizontalAlignment = HorizontalAlignment.Center;
     playerPanel.VerticalAlignment   = VerticalAlignment.Middle;
     playerPanel.Size = new Vector2(320, 200);
     NativePanel.Components.Add(playerPanel);
     StartPlaying();
 }
Example #4
0
        private async void PlayMovie(Stream file)
        {
            curTexture = null;

            player = new FLCPlayer(MainGame.Device);
            player.OnFrameUpdated     += player_OnFrameUpdated;
            player.OnPlaybackFinished += player_OnPlaybackFinished;

            player.Open(file);
            player.ShouldLoop = false;
            player.Play();
        }
Example #5
0
        protected override void Setup()
        {
            if (IsSetup)
            {
                return;
            }

            // Initialise the video panel.
            playerPanel = new FLCPlayer()
            {
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment   = VerticalAlignment.Middle,
                Size         = new Vector2(320, 200),
                BottomMargin = 13
            };
            NativePanel.Components.Add(playerPanel);

            // Start video playing.
            playerPanel.Load(daedraSummoned.vidFile);
            if (playerPanel.FLCFile.ReadyToPlay)
            {
                playerPanel.Start();
            }

            // Add text message area.
            messageLabel = new MultiFormatTextLabel()
            {
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment   = VerticalAlignment.Bottom,
                ExtraLeading        = 3,
            };
            playerPanel.Components.Add(messageLabel);
            playerPanel.OnMouseClick += PlayerPanel_OnMouseClick;

            textCursor         = new TextCursor();
            textCursor.Enabled = false;
            playerPanel.Components.Add(textCursor);

            // Initialise message to display,
            if (daedraQuest != null)
            {   // with the quest offer message.
                Message message = daedraQuest.GetMessage((int)QuestMachine.QuestMessages.QuestorOffer);
                messageTokens = message.GetTextTokens();
            }
            else
            {   // with the textId message evaluated with mcp provided.
                messageTokens = DaggerfallUnity.Instance.TextProvider.GetRSCTokens(textId);
                MacroHelper.ExpandMacros(ref messageTokens, mcp);
            }
            idx = 0;
            DisplayNextTextChunk();
        }