示例#1
0
        void Awake()
        {
            dfUnity     = DaggerfallUnity.Instance;
            audioSource = GetComponent <AudioSource>();
            audioSource.spatialBlend = 0;
            dfAudioSource            = GetComponent <DaggerfallAudioSource>();
            dfSongPlayer             = GetComponent <DaggerfallSongPlayer>();

            dfPauseOptionsWindow       = new DaggerfallPauseOptionsWindow(uiManager);
            dfCharacterSheetWindow     = new DaggerfallCharacterSheetWindow(uiManager);
            dfInventoryWindow          = new DaggerfallInventoryWindow(uiManager);
            dfControlsWindow           = new DaggerfallControlsWindow(uiManager);
            dfJoystickControlsWindow   = new DaggerfallJoystickControlsWindow(uiManager);
            dfUnityMouseControlsWindow = new DaggerfallUnityMouseControlsWindow(uiManager);
            dfTravelMapWindow          = new DaggerfallTravelMapWindow(uiManager);
            dfAutomapWindow            = new DaggerfallAutomapWindow(uiManager);
            dfBookReaderWindow         = new DaggerfallBookReaderWindow(uiManager);
            dfQuestJournalWindow       = new DaggerfallQuestJournalWindow(uiManager);
            dfTalkWindow       = new DaggerfallTalkWindow(uiManager);
            dfSpellBookWindow  = new DaggerfallSpellBookWindow(uiManager);
            dfSpellMakerWindow = new DaggerfallSpellMakerWindow(uiManager);
            dfCourtWindow      = new DaggerfallCourtWindow(uiManager);

            dfExteriorAutomapWindow = new DaggerfallExteriorAutomapWindow(uiManager);

            dfQuestInspector = new QuestMachineInspectorWindow(uiManager);

            Questing.Actions.GivePc.OnOfferPending += GivePc_OnOfferPending;

            SetupSingleton();
        }
        public void travelMapInterceptor(object sender, EventArgs e)
        {
            var manager = (UserInterfaceManager)sender;
            var window  = manager.TopWindow;

            Debug.Log("top window: " + window);
            if (window != null && !travelMap.IsShowing && window.GetType() == typeof(DaggerfallTravelMapWindow))
            {
                DaggerfallTravelMapWindow originalTravelMap = window as DaggerfallTravelMapWindow;
                // check if the travel map was brought up to check for a destination for teleportation and let it proceed if yes.
                var isTeleportation = originalTravelMap.GetType().GetField("teleportationTravel",
                                                                           System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                if ((bool)isTeleportation.GetValue(originalTravelMap))
                {
                    return;
                }

                // check if the travel map received a goto order from the journal link and replicate if yes
                var gotoLocation = (string)originalTravelMap.GetType().GetField("gotoLocation",
                                                                                System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(originalTravelMap);
                if (gotoLocation != null)
                {
                    var gotoRegion = (int)originalTravelMap.GetType().GetField("gotoRegion",
                                                                               System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(originalTravelMap);
                    travelMap.GotoLocation(gotoLocation, gotoRegion);
                }

                originalTravelMap.CloseWindow();

                // if a destination was picked, ask whether to resume or open map
                if (destinationName != null)
                {
                    DaggerfallMessageBox confirmTravelBox = new DaggerfallMessageBox(manager,
                                                                                     DaggerfallMessageBox.CommonMessageBoxButtons.YesNo,
                                                                                     "Resume travel to " + destinationName + "?",
                                                                                     manager.TopWindow);
                    confirmTravelBox.OnButtonClick += (_sender, button) =>
                    {
                        if (button == DaggerfallMessageBox.MessageBoxButtons.Yes)
                        {
                            _sender.CloseWindow();
                            StartFastTravel(destinationSummary);
                        }
                        else
                        {
                            manager.PopWindow();
                            manager.PushWindow(travelMap);
                        }
                    };
                    confirmTravelBox.Show();
                }
                else
                {
                    manager.PushWindow(travelMap);
                }
            }
        }
示例#3
0
        void Awake()
        {
            dfUnity     = DaggerfallUnity.Instance;
            audioSource = GetComponent <AudioSource>();
            audioSource.spatialBlend = 0;
            dfAudioSource            = GetComponent <DaggerfallAudioSource>();
            dfSongPlayer             = GetComponent <DaggerfallSongPlayer>();

            dfPauseOptionsWindow   = new DaggerfallPauseOptionsWindow(uiManager);
            dfCharacterSheetWindow = new DaggerfallCharacterSheetWindow(uiManager);
            dfInventoryWindow      = new DaggerfallInventoryWindow(uiManager);
            dfTravelMapWindow      = new DaggerfallTravelMapWindow(uiManager);
            dfAutomapWindow        = new DaggerfallAutomapWindow(uiManager);

            dfExteriorAutomapWindow = new DaggerfallExteriorAutomapWindow(uiManager);

            dfQuestInspector = new QuestMachineInspectorWindow(uiManager);

            SetupSingleton();
        }
        void Awake()
        {
            dfUnity     = DaggerfallUnity.Instance;
            audioSource = GetComponent <AudioSource>();
            audioSource.spatialBlend = 0;
            dfAudioSource            = GetComponent <DaggerfallAudioSource>();

            dfPauseOptionsWindow          = new DaggerfallPauseOptionsWindow(uiManager);
            dfPauseOptionsWindow.OnClose += PauseOptionsDialog_OnClose;

            dfCharacterSheetWindow          = new DaggerfallCharacterSheetWindow(uiManager);
            dfCharacterSheetWindow.OnClose += CharacterSheetWindow_OnClose;

            dfInventoryWindow          = new DaggerfallInventoryWindow(uiManager);
            dfInventoryWindow.OnClose += InventoryWindow_OnClose;

            dfTravelMapWindow = new DaggerfallTravelMapWindow(uiManager);

            SetupSingleton();
            PostMessage(startupMessage);
        }
示例#5
0
 public TravelOptionsPopUp(IUserInterfaceManager uiManager, IUserInterfaceWindow previousWindow = null, DaggerfallTravelMapWindow travelWindow = null)
     : base(uiManager, previousWindow, travelWindow)
 {
 }