コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        tempTODtimer -= Time.unscaledDeltaTime;
        if (tempTODtimer < 0)
        {
            TODIndex      = (TODIndex + 1) % ((int)OrchestraModes.Night - 1);
            orchestraMode = (OrchestraModes)(TODIndex + 2);
            tempTODtimer  = TimeOfDayCycleTime;
        }

        switch (orchestraMode)
        {
        case OrchestraModes.Morning:
            newMode  = OctaveChange.Mode.Ionian;
            newTempo = 1.5f;
            break;

        case OrchestraModes.Afternoon:
            newMode  = OctaveChange.Mode.Dorian;
            newTempo = 1.75f;
            break;

        case OrchestraModes.Evening:
            newMode  = OctaveChange.Mode.Aeolian;
            newTempo = 2f;
            break;

        case OrchestraModes.Night:
            newMode  = OctaveChange.Mode.Mixolydian;
            newTempo = 2.25f;
            break;

        case OrchestraModes.Puzzle:
            newMode  = OctaveChange.Mode.Lydian;
            newTempo = 1.25f;
            break;

        case OrchestraModes.Combat:
            newMode  = OctaveChange.Mode.Phrygian;
            newTempo = 0.75f;
            break;
        }
        foreach (var i in instruments)
        {
            i.mode  = newMode;
            i.tempo = newTempo;
        }
    }
コード例 #2
0
 // Start is called before the first frame update
 void Start()
 {
     instruments   = gameObject.GetComponentsInChildren <OctaveChange>();
     orchestraMode = OrchestraModes.Morning;
     tempTODtimer  = TimeOfDayCycleTime;
 }