protected override void SetSongObjectAndController() { chartEvent = new ChartEvent(0, "Default"); controller = GetComponent <ChartEventController>(); controller.chartEvent = chartEvent; }
protected override void Assign(SongObjectController sCon, SongObject songObject) { ChartEventController controller = sCon as ChartEventController; // Assign pooled objects controller.chartEvent = (ChartEvent)songObject; controller.gameObject.SetActive(true); }
SongObject[] ScanArea(Vector2 cornerA, Vector2 cornerB, uint minLimitInclusive, uint maxLimitNonInclusive) { Clipboard.SelectionArea area = new Clipboard.SelectionArea(cornerA, cornerB, minLimitInclusive, maxLimitNonInclusive); Rect areaRect = area.GetRect(editor.currentSong); List <SongObject> chartObjectsList = new List <SongObject>(); if (Globals.viewMode == Globals.ViewMode.Chart) { int index, length; SongObjectHelper.GetRange(editor.currentChart.chartObjects, minLimitInclusive, maxLimitNonInclusive, out index, out length); for (int i = index; i < index + length; ++i) { ChartObject chartObject = editor.currentChart.chartObjects[i]; float offset = 0; if ((SongObject.ID)chartObject.classID == SongObject.ID.ChartEvent) { offset = ChartEventController.GetOffset(editor, (ChartEvent)chartObject); } if (chartObject.tick < maxLimitNonInclusive && PrefabGlobals.HorizontalCollisionCheck(PrefabGlobals.GetCollisionRect(chartObject, 0, offset), areaRect)) { chartObjectsList.Add(chartObject); } } } else { // Gather synctrack, sections and events int index, length; SongObjectHelper.GetRange(editor.currentSong.syncTrack, minLimitInclusive, maxLimitNonInclusive, out index, out length); // Synctrack for (int i = index; i < index + length; ++i) { SongObject chartObject = editor.currentSong.syncTrack[i]; if (chartObject.tick < maxLimitNonInclusive && PrefabGlobals.HorizontalCollisionCheck(PrefabGlobals.GetCollisionRect(chartObject), areaRect)) { chartObjectsList.Add(chartObject); } } SongObjectHelper.GetRange(editor.currentSong.eventsAndSections, minLimitInclusive, maxLimitNonInclusive, out index, out length); // Events and sections for (int i = index; i < index + length; ++i) { SongObject chartObject = editor.currentSong.eventsAndSections[i]; float offset = 0; if ((SongObject.ID)chartObject.classID == SongObject.ID.Event) { offset = EventController.GetOffset(editor, (Event)chartObject); } if (chartObject.tick < maxLimitNonInclusive && PrefabGlobals.HorizontalCollisionCheck(PrefabGlobals.GetCollisionRect(chartObject, 0, offset), areaRect)) { chartObjectsList.Add(chartObject); } } } return(chartObjectsList.ToArray()); }