Ejemplo n.º 1
0
    void Awake()
    {
        instance = this;

        string sceneName = gameObject.scene.name;

        if (sceneName.Equals("Template"))
        {
            sceneName = "_Template1";
        }
        traits = MicrogameTraits.findMicrogameTraits(sceneName.Substring(0, sceneName.Length - 1), int.Parse(sceneName.Substring(sceneName.Length - 1, 1)));

        if (StageController.instance == null)
        {
            //Debug Mode Awake (scene open by itself)

            if (MicrogameDebugObjects.instance == null)
            {
                SceneManager.LoadScene("Microgame Debug", LoadSceneMode.Additive);
            }
            else
            {
                MicrogameDebugObjects.instance.Reset();
            }

            if (preserveDebugSpeed > -1)
            {
                Debug.Log("Debugging at speed " + preserveDebugSpeed);
                debugSettings.speed = preserveDebugSpeed;
                preserveDebugSpeed  = -1;
            }

            StageController.beatLength = 60f / 130f;
            Time.timeScale             = StageController.getSpeedMult(debugSettings.speed);

            victory           = traits.defaultVictory;
            victoryDetermined = false;

            traits.onAccessInStage(sceneName.Substring(0, sceneName.Length - 1));
        }
        else if (!isBeingDiscarded())
        {
            //Normal Awake

            StageController.instance.stageCamera.tag           = "Camera";
            Camera.main.GetComponent <AudioListener>().enabled = false;

            StageController.instance.microgameMusicSource.clip = traits.musicClip;

            if (traits.hideCursor)
            {
                Cursor.visible = false;
            }

            commandDisplay = StageController.instance.transform.root.FindChild("UI").FindChild("Command").GetComponent <CommandDisplay>();

            StageController.instance.resetVictory();
            StageController.instance.onMicrogameAwake();
        }
    }
Ejemplo n.º 2
0
 MicrogameTraits[] getDifficultyTraits(string microgameId, bool skipFInishedFolder)
 {
     MicrogameTraits[] traits = new MicrogameTraits[3];
     for (int i = 0; i < 3; i++)
     {
         traits[i] = MicrogameTraits.findMicrogameTraits(microgameId, i + 1, skipFInishedFolder);
     }
     return(traits);
 }
Ejemplo n.º 3
0
 MicrogameTraits[] getDifficultyTraits(string microgameId)
 {
     MicrogameTraits[] traits = new MicrogameTraits[3];
     for (int i = 0; i < 3; i++)
     {
         traits[i] = MicrogameTraits.findMicrogameTraits(microgameId, i + 1);
     }
     return(traits);
 }
Ejemplo n.º 4
0
    void updateMicrogameTraits()
    {
        if (microgameQueue.Count <= 0)
        {
            return;
        }

        MicrogameInstance instance = getCurrentMicrogameInstance();

        microgameTraits = instance.microgame.difficultyTraits[instance.difficulty - 1];
        microgameTraits.onAccessInStage(instance.microgame.microgameId, instance.difficulty);
    }
Ejemplo n.º 5
0
    static MicrogameTraits findMicrogameTraitsInFolder(string microgameFolder, int difficulty)
    {
        string fileName  = "Traits";
        string extension = ".asset";

        //Look in Traits.asset
        MicrogameTraits traits = AssetDatabase.LoadAssetAtPath <MicrogameTraits>($"{microgameFolder}/{fileName}{extension}");

        if (traits != null)
        {
            return(traits);
        }
        //Look in Traits[diff].asset
        traits = AssetDatabase.LoadAssetAtPath <MicrogameTraits>($"{microgameFolder}/{fileName}{difficulty.ToString()}{extension}");
        if (traits != null)
        {
            return(traits);
        }

        return(null);
    }
Ejemplo n.º 6
0
    void Awake()
    {
        instance = this;

        //Find traits
        string microgameID = gameObject.scene.name;
        int    difficulty  = int.Parse(microgameID.Substring(microgameID.Length - 1, 1));

        if (microgameID.Equals("Template"))
        {
            microgameID = "_Template1";
        }
        microgameID = microgameID.Substring(0, microgameID.Length - 1);

        //Get traits from collection if available
        if (GameController.instance != null)
        {
            var collectionMicrogame = MicrogameHelper.getMicrogames(includeBosses: true).FirstOrDefault(a => a.microgameId.Equals(microgameID));
            if (collectionMicrogame != null)
            {
                traits = collectionMicrogame.difficultyTraits[difficulty - 1];
            }
        }

        //Get traits from project file if necessary
        if (traits == null)
        {
            traits = MicrogameTraits.findMicrogameTraits(microgameID, difficulty);
        }

        debugMode = GameController.instance == null || GameController.instance.getStartScene() == "Microgame Debug";

        if (debugMode)
        {
            //Debug Mode Awake (scene open by itself)

            if (MicrogameDebugObjects.instance == null)
            {
                SceneManager.LoadScene("Microgame Debug", LoadSceneMode.Additive);
            }
            else
            {
                MicrogameDebugObjects.instance.Reset();
            }

            if (preserveDebugSpeed > -1)
            {
                Debug.Log("Debugging at speed " + preserveDebugSpeed);
                debugSettings.speed = preserveDebugSpeed;
                preserveDebugSpeed  = -1;
            }

            StageController.beatLength = 60f / 130f;
            Time.timeScale             = StageController.getSpeedMult(debugSettings.speed);

            victory           = traits.defaultVictory;
            victoryDetermined = false;

            traits.onAccessInStage(microgameID, difficulty);
        }
        else if (!isBeingDiscarded())
        {
            //Normal Awake

            StageController.instance.stageCamera.tag = "Camera";
            //Camera.main.GetComponent<AudioListener>().enabled = false;

            StageController.instance.microgameMusicSource.clip = traits.musicClip;

            if (traits.hideCursor)
            {
                Cursor.visible = false;
            }

            commandDisplay = StageController.instance.transform.root.Find("UI").Find("Command").GetComponent <CommandDisplay>();

            StageController.instance.resetVictory();
            StageController.instance.onMicrogameAwake();
        }
    }