コード例 #1
0
    public static void AddressingLevelCompleted(uint levelNum, Transform measure, AddressingController lm)
    {
        //measure.parent = Instance.gameObject.transform;
        //measure.position = new Vector3(measure.position.x, measure.position.y, -6f);

        HttpWriter.Flush();
        Logger.Instance.LogAction("LevelSelection", "Level Completed", (LevelsCompleted + 1).ToString());

        LevelHasStarted = false;
        bool needsNewAudio = MeasureIsLocked(levelNum - 1);
        bool isBonusLevel  = (levelNum % 3) == 0 || Instance.DebugBonus;

        LevelsCompleted = levelNum;

        UpdateHeader(levelNum);
        UpdateHeader(levelNum + 1);

        if (needsNewAudio)
        {
            Instance.StartCoroutine(LoadNewAudio(levelNum - 1));
        }

        Instance.StartCoroutine(DropLevelSelectionGrid(measure, lm, null));
        Instance.StartCoroutine(ReplaceMeasure(measure, isBonusLevel));
    }
コード例 #2
0
    /** @brief Play music on the level selection screen */
    private static IEnumerator PlayMusic()
    {
        uint  startLevel, endLevel, level;
        float waitTime;

        if (LevelsCompleted % Instance.LevelsPerLine == 0)
        {
            startLevel = 0;
            endLevel   = (uint)Instance.LevelList.Length - 1;
        }
        else
        {
            startLevel = (LevelsCompleted / Instance.LevelsPerLine) * Instance.LevelsPerLine;
            endLevel   = startLevel + Instance.LevelsPerLine - 1;
        }

        Logger.Instance.LogAction("LevelSelection",
                                  string.Format("Playing music from {0} to {1}", startLevel, endLevel), (LevelsCompleted + 1).ToString());

        //ShowPlayButton();

        for (level = startLevel; level <= endLevel && !LevelHasStarted; level++)
        {
            AudioPlayer player = Objects[level].audioPlayer;
            if (MeasureIsLocked(level))
            {
                waitTime = 1.1f;
            }
            else
            {
                waitTime = 2.0f;
            }

            Instance.StartCoroutine(PopoutTile(level, waitTime));
            Instance.StartCoroutine(player.PlayBlocking());
            yield return(new WaitForSeconds(waitTime));

            if (level == LevelsCompleted)
            {
                ShowPlayButton();
                if (IsAutoplaying())
                {
                    Instance.PlayNextLevel();
                }
            }
        }

        Logger.Instance.LogAction("LevelSelection", "Done Playing Music", (LevelsCompleted + 1).ToString());

        if (LevelsCompleted == Instance.LevelList.Length)
        {
            // Application.LoadLevel("OutroCutscene1");
            HttpWriter.Flush();
            Logger.Instance.LogAction("Transitioning to Outro", "", "");
            SceneManager.LoadScene("OutroCutscene1");
            Destroy(Instance.gameObject);
        }
    }
コード例 #3
0
 public void Methods_Deny_Unrestricted()
 {
     writer.Write(Char.MinValue);
     writer.Write(this);
     writer.Write(String.Empty);
     writer.Write(new char [1], 0, 1);
     writer.WriteLine();
     writer.WriteString("mono", 0, 4);
     writer.WriteBytes(new byte[1], 0, 1);
     writer.Flush();
     writer.Close();
 }
コード例 #4
0
    /// <summary>
    /// Logs the end of the session and disposes of the session and user ids.
    /// Resets session state
    /// </summary>
    public void SessionEnd()
    {
        if (!this.Enabled || !this.InSession)
        {
            return;
        }

        HttpWriter.Flush();
        this.write("System", "Session_End", this.SessionID);

        this.SessionID       = string.Empty;
        this.UserID          = string.Empty;
        this.InSession       = false;
        this.LoggedLevelName = "";
    }
コード例 #5
0
    // Update is called once per frame
    void Update()
    {
        string oldPress = press;

        if (Input.GetKeyDown(KeyCode.Return))
        {
            press = "";
        }

        if (Input.GetKeyDown(KeyCode.A))
        {
            press += "a";
        }
        if (Input.GetKeyDown(KeyCode.C))
        {
            press += "c";
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            press += "d";
        }
        if (Input.GetKeyDown(KeyCode.E))
        {
            press += "e";
        }
        if (Input.GetKeyDown(KeyCode.I))
        {
            press += "i";
        }
        if (Input.GetKeyDown(KeyCode.L))
        {
            press += "l";
        }
        if (Input.GetKeyDown(KeyCode.N))
        {
            press += "n";
        }
        if (Input.GetKeyDown(KeyCode.O))
        {
            press += "o";
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            press += "p";
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            press += "s";
        }
        if (Input.GetKeyDown(KeyCode.T))
        {
            press += "t";
        }
        if (Input.GetKeyDown(KeyCode.U))
        {
            press += "u";
        }
        if (Input.GetKeyDown(KeyCode.Y))
        {
            press += "y";
        }

        if (press != oldPress)
        {
            Debug.Log(press);
        }

        string message;

        switch (press)
        {
        case "auto":
            if (AutoplayReady)
            {
                message = "Autoplay Beginning at " + System.DateTime.Now.ToUniversalTime();
                Logger.Instance.LogAction("Command", message, "");
                Debug.Log(message);
                LevelSelection.BeginAutoplay();
                press = "";
            }
            break;

        case "stop":
            message = "Autoplay Ending at " + System.DateTime.Now.ToUniversalTime();
            Logger.Instance.LogAction("Command", message, "");
            LevelSelection.EndAutoplay();
            Debug.Log(message);
            press = "";
            break;

        case "sel":
            if (LevelSelection.Instance != null)
            {
                Destroy(LevelSelection.Instance);
            }
            SceneManager.LoadScene("LevelSelection");
            press = "";
            break;

        case "inc":
            Logger.Instance.LogAction("Session", "Level Incremented by Researcher", "");
            LevelSelection.UpOneLevel();
            press = "";
            break;

        case "dec":
            Logger.Instance.LogAction("Session", "Level Decremented by Researcher", "");
            LevelSelection.DownOneLevel();
            press = "";
            break;

        case "load":
            Logger.Instance.LogAction("Session", "Scene reloaded by researcher", SceneManager.GetActiveScene().name);
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
            press = "";
            break;

        case "done":
            Logger.Instance.LogAction("Session", "Terminated by researcher", "");
            HttpWriter.Flush();
            Logger.Instance.SessionEnd();
            Logger.Instance.SessionStart();
            SceneManager.LoadScene("OutroCutscene3");
            press = "";
            break;

        case "play":
            Logger.Instance.LogAction("Session", "Play level triggered by researcher", "");
            LevelSelection.Instance.PlayNextLevel();
            press = "";
            break;

        default:
            break;
        }
    }