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]); } }
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; }
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(); }
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(); }
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(); }