Beispiel #1
0
    private void Awake()
    {
        levelCreatorManager = FindObjectOfType <LevelCreatorManager>();
        buttonImage         = GetComponent <Image>();
        buttonImage.sprite  = defaultSprite;

        timelineIndicator = FindObjectOfType <TimelineIndicator>();
        levelDataPasser   = FindObjectOfType <LevelDataPasser>();
    }
Beispiel #2
0
    public void OnSaveDraftButtonClick()
    {
        LevelInformation thisLevel = LevelCreatorManager.SerializeLevelIntoScriptObj(GameManager.theTempLevel);

        _draftLevelInfo.tagList = thisLevel.tagList;
        _draftLevelInfo.tagGameObjectListJSON = thisLevel.tagGameObjectListJSON;
        _draftLevelInfo.switcherControlJSON   = thisLevel.switcherControlJSON;
        _draftLevelInfo.playerStartPosition   = thisLevel.playerStartPosition;

#if UNITY_EDITOR
        EditorUtility.SetDirty(_draftLevelInfo);
        AssetDatabase.SaveAssets();
#endif
    }
Beispiel #3
0
    // Save list by serialization
    public List <(float, float)> SaveRecordingToDat(string fileLoc, List <Transform> notesObjects)
    {
        fileLoc += ".dat";
        FileStream file;

        Directory.CreateDirectory(Application.dataPath + "/levels/");

        if (File.Exists(fileLoc))
        {
            file = File.OpenWrite(fileLoc);
        }
        else
        {
            file = File.Create(fileLoc);
        }

        BinaryFormatter bf = new BinaryFormatter();

        // Transform list from list of objects to list of tuples with only time attributes
        List <(float, float)> timelineNoteTuples = new List <(float, float)>();

        if (notesObjects.Count == 0)
        {
            Debug.Log("List is empty!");
            return(null);
        }

        // Add info about offset and bpm first
        LevelCreatorManager levelCreatorManager = FindObjectOfType <LevelCreatorManager>();

        timelineNoteTuples.Add((levelCreatorManager.BPMValue, levelCreatorManager.OffsetValue));

        // Pass notes data
        foreach (Transform noteObject in notesObjects)
        {
            NoteTimelineIndicator noteTimelineIndicator = noteObject.GetComponent <NoteTimelineIndicator>();
            timelineNoteTuples.Add((noteTimelineIndicator.Timestamp, noteTimelineIndicator.TimeHeld));
        }

        bf.Serialize(file, timelineNoteTuples);
        file.Close();

        for (int i = 0; i < timelineNoteTuples.Count; i++)
        {
            Debug.Log(timelineNoteTuples[i].Item1);
        }

        return(timelineNoteTuples);
    }
Beispiel #4
0
    public void SaveRecordingToTxt(string fileLoc, List <Transform> notesObjects)
    {
        fileLoc += ".txt";
        using (TextWriter tw = new StreamWriter(fileLoc))
        {
            // Add info about offset and bpm first
            LevelCreatorManager levelCreatorManager = FindObjectOfType <LevelCreatorManager>();
            tw.WriteLine(levelCreatorManager.BPMValue.ToString() + " /  " + levelCreatorManager.OffsetValue.ToString());

            foreach (Transform noteObject in notesObjects)
            {
                NoteTimelineIndicator noteTimelineIndicator = noteObject.GetComponent <NoteTimelineIndicator>();
                tw.WriteLine(noteTimelineIndicator.Timestamp.ToString() + " /  " + noteTimelineIndicator.TimeHeld.ToString());

                Debug.Log((noteTimelineIndicator.Timestamp, noteTimelineIndicator.TimeHeld));
            }
        }
    }
Beispiel #5
0
 public void SaveWorld()
 {
     GameManager.theTempLevel = LevelCreatorManager.SerializeLevelIntoScriptObj(GameManager.theTempLevel);
 }
 private void Awake()
 {
     levelCreatorManager = FindObjectOfType <LevelCreatorManager>();
 }