Esempio n. 1
0
 public override void SortObjects()
 {
     float[] bpmChangeTimes = new float[ShaderArrayMaxSize];
     float[] bpmChangeBPMS  = new float[ShaderArrayMaxSize];
     bpmChangeTimes[0] = 0;
     bpmChangeBPMS[0]  = BeatSaberSongContainer.Instance.song.beatsPerMinute;
     LoadedContainers  = LoadedContainers.OrderBy(x => x.objectData._time).ToList();
     for (int i = 0; i < LoadedContainers.Count; i++)
     {
         if (i >= ShaderArrayMaxSize - 1)
         {
             Debug.LogError($":hyperPepega: :mega: THE CAP FOR BPM CHANGES IS {ShaderArrayMaxSize - 1}, WHY TF DO YOU HAVE THIS MANY BPM CHANGES!?!?");
             break;
         }
         BeatmapBPMChangeContainer con = LoadedContainers[i] as BeatmapBPMChangeContainer;
         con.UpdateGridPosition();
         BeatmapBPMChange bpmChange = con.objectData as BeatmapBPMChange;
         bpmChangeTimes[i + 1] = bpmChange._time;
         bpmChangeBPMS[i + 1]  = bpmChange._BPM;
     }
     foreach (Renderer renderer in allGridRenderers)
     {
         renderer.material.SetFloatArray(Times, bpmChangeTimes);
         renderer.material.SetFloatArray(BPMs, bpmChangeBPMS);
         renderer.material.SetInt(BPMCount, LoadedContainers.Count + 1);
     }
     measureLinesController.RefreshMeasureLines();
 }
Esempio n. 2
0
    public override BeatmapObjectContainer SpawnObject(BeatmapObject obj)
    {
        BeatmapBPMChangeContainer beatmapBPMChange = BeatmapBPMChangeContainer.SpawnBPMChange(obj as BeatmapBPMChange, ref bpmPrefab);

        beatmapBPMChange.transform.SetParent(GridTransform);
        beatmapBPMChange.UpdateGridPosition();
        LoadedContainers.Add(beatmapBPMChange);
        return(beatmapBPMChange);
    }
Esempio n. 3
0
    public override BeatmapObjectContainer SpawnObject(BeatmapObject obj, out BeatmapObjectContainer conflicting, bool removeConflicting = true)
    {
        conflicting = null;
        BeatmapBPMChangeContainer beatmapBPMChange = BeatmapBPMChangeContainer.SpawnBPMChange(obj as BeatmapBPMChange, ref bpmPrefab);

        beatmapBPMChange.transform.SetParent(GridTransform);
        beatmapBPMChange.UpdateGridPosition();
        LoadedContainers.Add(beatmapBPMChange);
        SelectionController.RefreshMap();
        return(beatmapBPMChange);
    }
Esempio n. 4
0
    public override BeatmapObjectContainer SpawnObject(BeatmapObject obj, out BeatmapObjectContainer conflicting, bool removeConflicting = true, bool refreshMap = true)
    {
        if (LoadedContainers.Count >= ShaderArrayMaxSize)
        {
            Debug.LogError("Something's wrong, I can feel it!\nMore BPM Changes are present then what Unity shaders allow!");
        }
        conflicting = null;
        BeatmapBPMChangeContainer beatmapBPMChange = BeatmapBPMChangeContainer.SpawnBPMChange(obj as BeatmapBPMChange, ref bpmPrefab);

        beatmapBPMChange.transform.SetParent(GridTransform);
        beatmapBPMChange.UpdateGridPosition();
        LoadedContainers.Add(beatmapBPMChange);
        if (refreshMap)
        {
            SelectionController.RefreshMap();
        }
        return(beatmapBPMChange);
    }