コード例 #1
0
 // Use this for initialization
 void Awake()
 {
     Instance = this;
     QuestRewardsContainer.transform.DestroyChildren();
     QuestDescription.text           = "";
     QuestRequirement.text           = "";
     QuestName.text                  = "";
     AdditionalQuestRewardsText.text = "";
 }
コード例 #2
0
        override public void AssignValues(List <ActionParameter> parameters)
        {
            questID       = AssignInteger(parameters, questParameterID, questID);
            invID         = AssignInvItemID(parameters, invParameterID, invID);
            npcToTalkTo   = AssignFile <NPC>(parameters, npcParameterID, npcID, npcToTalkTo);
            enemytoDefeat = AssignFile(parameters, enemyParamID, enemyID, enemytoDefeat);
            questManager  = AssignFile <EasyQuestManager>(parameters, managerParameterID, managerConstantID, questManager);

            logUI = AssignFile <QuestLogUI>(parameters, logUIParameterID, logUIID, logUI);
        }
コード例 #3
0
    private void Awake()
    {
        if (instance != null)
        {
            Debug.LogWarning("More than one instance of QuestLogUI found");
            return;
        }

        instance = this;
        questLog = QuestLog.instance;
        questLog.onQuestChangedCallback += UpdateUI;
        QuestEvents.OnQuestClicked      += QuestClicked;
    }
コード例 #4
0
 void Awake()
 {
     if (instance != null)
     {
         Destroy(gameObject);
     }
     else
     {
         instance            = this;
         activeQuestListKeys = new List <string>();
         playerStats         = player.GetComponent <Player>().PlayerStats;
         qlUI = new QuestLogUI(questLog, questEntry);
         DontDestroyOnLoad(gameObject);
     }
 }
コード例 #5
0
        override public void ShowGUI(List <ActionParameter> parameters)
        {
            //Set up the proper UI window
            logUIParameterID = Action.ChooseParameterGUI("Quest Log UI:", parameters, logUIParameterID, ParameterType.GameObject);

            if (logUIParameterID >= 0)
            {
                logUIID = 0;
                logUI   = null;
            }
            else
            {
                logUI   = (QuestLogUI)EditorGUILayout.ObjectField("Quest Log UI:", logUI, typeof(QuestLogUI), true);
                logUIID = FieldToID(logUI, logUIID);
                logUI   = IDToField(logUI, logUIID, false);
            }

            //First select the Quest Manager
            managerParameterID = Action.ChooseParameterGUI("Quest Manager:", parameters, managerParameterID, ParameterType.GameObject);

            if (managerParameterID >= 0)
            {
                managerConstantID = 0;
                questManager      = null;
            }
            else
            {
                questManager      = (EasyQuestManager)EditorGUILayout.ObjectField("Quest Manager:", questManager, typeof(EasyQuestManager), true);
                managerConstantID = FieldToID(questManager, managerConstantID);
                questManager      = IDToField(questManager, managerConstantID, false);
            }

            //Then show the quest options
            if (questManager != null)
            {
                ShowQuestGUI(parameters, questManager);
            }
            else
            {
                EditorGUILayout.HelpBox("A Quest Manager must be chosen for more options to show.", MessageType.Warning);
            }
        }
コード例 #6
0
        public void Update(GameTime gameTime)
        {
            // Switch statement needed for on the fly texture loading
            // OTF texture loading will only be done for game generated textures, they will not be loaded from files!
            // Things that are loaded from texture files are found in spriteDicitionary.
            // (one exception is Font files, this will be fixed later on)
            switch (Game1.state)
            {
            case GameState.Menu:
                //Controls.guiElements["mainMenu"].Update(gameTime);
                break;

            case GameState.Pause:
                //Controls.guiElements["pauseMenu"].Update(gameTime);
                break;

            // START FROM HERE

            case GameState.Inventory:
                InventoryMenu inventoryMenu = Controls.guiElements["inventoryMenu"] as InventoryMenu;
                if (!inventoryMenu.IsInventoryLoaded)
                {
                    inventoryMenu.Load(player.inventory);
                    //inventoryMenu.LoadVisuals(mainGame.Content, graphics);
                    //inventoryMenu.Update(gameTime);
                }

                //Controls.guiElements["inventoryMenu"].Update(gameTime);
                break;

            case GameState.FastTravel:
                break;

            case GameState.Game:
                // casting takes a lot of time, a way to check if user changed weapon??
                // UI (health, current wep, other stuff)
                //Controls.guiElements["livingEntityInfoUI"].Update(gameTime);

                // WHAT IF PLAYER CHANGES WORLD (?) -Fixed?(Sean)
                player = mainGame.worldManager.CurrentWorld.manager.GetPlayer();

                // VV Very Slow VV
                (Controls.guiElements["livingEntityInfoUI"] as LivingEntityInfoUI).LivingEntity = player;

                if (player.inventory.ActiveWeapon >= 0)
                {
                    (Controls.guiElements["weaponInfoUI"] as WeaponInfoUI).Item = player.inventory.EntityInventory[player.inventory.ActiveWeapon];
                    //Controls.guiElements["weaponInfoUI"].LoadVisuals(mainGame.Content, graphics);
                    Controls.guiElements["weaponInfoUI"].Update(gameTime);
                }
                else
                {
                    (Controls.guiElements["weaponInfoUI"] as WeaponInfoUI).Item = null;
                }


                // PARTICLES
                for (int i = 0; i < particles.Count; i++)
                {
                    if (particles[i].CurrentTime <= 0)     // possible problems (?)
                    {
                        particles.Remove(particles[i]);
                    }
                    else
                    {
                        particles[i].Update(gameTime);
                    }
                }


                //Controls.guiElements["weaponInfoUI"].Update(gameTime);
                //Controls.guiElements["livingEntityInfoUI"].Update(gameTime);
                break;

            case GameState.QuestLog:

                QuestLogUI questLogUI = Controls.guiElements["questLog"] as QuestLogUI;
                if (!questLogUI.IsQuestLogLoaded)
                {
                    questLogUI.Load(player.log);
                    //questLogUI.LoadVisuals(mainGame.Content, graphics);
                    //questLogUI.Update(gameTime);
                }
                //Controls.guiElements["questLog"]

                /*
                 * if(tempQuest == null)
                 * {
                 *  tempQuest = new QuestUI();
                 *  tempQuest.Load(player.log.GetByStatus(1)[0]);
                 *  tempQuest.LoadVisuals(mainGame.Content, graphics);
                 *  tempQuest.Update(gameTime);
                 * }
                 * */
                break;

            case GameState.Shop:
                break;

            case GameState.WeaponWheel:

                WeaponWheelUIV2 weaponWheelUI = Controls.guiElements["weaponWheel"] as WeaponWheelUIV2;
                if (!weaponWheelUI.IsInventoryLoaded)
                {
                    weaponWheelUI.Load(player.inventory);
                    //weaponWheelUI.LoadVisuals(mainGame.Content, graphics);
                    //weaponWheelUI.Update(gameTime);
                }
                //Controls.guiElements["weaponWheel"].Update(gameTime);
                //weapons come from holster
                break;
            }

            // DO THIS FOR SPRITES AND OTHER MOVING THINGS
            // if the GUI is not visible, dont update it.
            foreach (KeyValuePair <string, Control> c in Controls.guiElements)
            {
                if (c.Value.IsVisible) // or just loaded.
                {
                    c.Value.Update(gameTime);
                }
            }

            for (int i = 0; i < dialogs.Count; i++)
            {
                if (dialogs[i].EventsCompleted == true) // possible problems (?)
                {
                    dialogs.Remove(dialogs[i]);
                }
                else
                {
                    dialogs[i].Update(gameTime);
                }
            }
        }