示例#1
0
 private void ApplySpecificGUI(MicrobeTutorialGUI gui)
 {
     foreach (var tutorial in Tutorials)
     {
         tutorial.ApplyGUIState(gui);
     }
 }
示例#2
0
    public void ResolveNodeReferences()
    {
        if (NodeReferencesResolved)
        {
            return;
        }

        world       = GetNode <Node>("World");
        HUD         = GetNode <MicrobeHUD>("MicrobeHUD");
        tutorialGUI = GetNode <MicrobeTutorialGUI>("TutorialGUI");
        rootOfDynamicallySpawned = GetNode <Node>("World/DynamicallySpawned");
        Camera       = world.GetNode <MicrobeCamera>("PrimaryCamera");
        Clouds       = world.GetNode <CompoundCloudSystem>("CompoundClouds");
        worldLight   = world.GetNode <DirectionalLight>("WorldLight");
        guidanceLine = GetNode <GuidanceLine>(GuidanceLinePath);
        pauseMenu    = GetNode <PauseMenu>(PauseMenuPath);

        // These need to be created here as well for child property save load to work
        TimedLifeSystem = new TimedLifeSystem(rootOfDynamicallySpawned);
        ProcessSystem   = new ProcessSystem(rootOfDynamicallySpawned);
        microbeAISystem = new MicrobeAISystem(rootOfDynamicallySpawned);
        FluidSystem     = new FluidSystem(rootOfDynamicallySpawned);
        spawner         = new SpawnSystem(rootOfDynamicallySpawned);

        NodeReferencesResolved = true;
    }
示例#3
0
        public override void ApplyGUIState(MicrobeTutorialGUI gui)
        {
            gui.MicrobeMovementRotation       = keyPromptRotation;
            gui.MicrobeMovementPromptsVisible = ShownCurrently;

            if (ShownCurrently)
            {
                gui.MicrobeMovementPromptForwardVisible = moveForwardTime <
                                                          Constants.MICROBE_MOVEMENT_TUTORIAL_REQUIRE_DIRECTION_PRESS_TIME;

                gui.MicrobeMovementPromptLeftVisible = moveLeftTime <
                                                       Constants.MICROBE_MOVEMENT_TUTORIAL_REQUIRE_DIRECTION_PRESS_TIME;

                gui.MicrobeMovementPromptRightVisible = moveRightTime <
                                                        Constants.MICROBE_MOVEMENT_TUTORIAL_REQUIRE_DIRECTION_PRESS_TIME;

                gui.MicrobeMovementPromptBackwardsVisible = moveBackwardsTime <
                                                            Constants.MICROBE_MOVEMENT_TUTORIAL_REQUIRE_DIRECTION_PRESS_TIME;
            }
        }
示例#4
0
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.StayingAliveVisible = ShownCurrently;
 }
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.UnbindTutorialVisible = ShownCurrently;
 }
示例#6
0
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.MicrobeWelcomeVisible = ShownCurrently;
 }
示例#7
0
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.CheckTheHelpMenuVisible = ShownCurrently;
 }
示例#8
0
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.ReproductionTutorialVisible = ShownCurrently;
 }
示例#9
0
    // GUI state applying functions, there is one per the type of tutorial GUI
    // By default when a tutorial receives the call to apply states for a GUI it doesn't handle, it will be hidden
    // if visible

    public virtual void ApplyGUIState(MicrobeTutorialGUI gui)
    {
        DefaultGUIStateHandle();
    }
示例#10
0
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.MicrobeMovementPopupVisible = ShownCurrently;
 }
示例#11
0
 public override void ApplyGUIState(MicrobeTutorialGUI gui)
 {
     gui.EditorButtonTutorialVisible = ShownCurrently;
 }