public override BeatmapObjectContainer SpawnObject(BeatmapObject obj, out BeatmapObjectContainer conflicting, bool removeConflicting = true, bool refreshMap = true) { conflicting = null; if (removeConflicting) { conflicting = LoadedContainers.FirstOrDefault(x => x.objectData._time == obj._time && ((BeatmapNote)obj)._lineLayer == ((BeatmapNote)x.objectData)._lineLayer && ((BeatmapNote)obj)._lineIndex == ((BeatmapNote)x.objectData)._lineIndex && ((BeatmapNote)obj)._type == ((BeatmapNote)x.objectData)._type && ConflictingByTrackIDs(obj, x.objectData) ); if (conflicting != null) { DeleteObject(conflicting, true, $"Conflicted with a newer object at time {obj._time}"); } } BeatmapNoteContainer beatmapNote = BeatmapNoteContainer.SpawnBeatmapNote(obj as BeatmapNote, ref notePrefab, ref bombPrefab, ref noteAppearanceSO); beatmapNote.transform.SetParent(GridTransform); beatmapNote.UpdateGridPosition(); LoadedContainers.Add(beatmapNote); if (Settings.Instance.HighlightLastPlacedNotes) { beatmapNote.SetOutlineColor(Color.magenta); } if (refreshMap) { SelectionController.RefreshMap(); } return(beatmapNote); }
public override BeatmapObjectContainer SpawnObject(BeatmapObject obj) { BeatmapObjectContainer conflicting = LoadedContainers.FirstOrDefault(x => x.objectData._time == obj._time && (obj as BeatmapNote)._lineLayer == (x.objectData as BeatmapNote)._lineLayer && (obj as BeatmapNote)._lineIndex == (x.objectData as BeatmapNote)._lineIndex ); if (conflicting != null) { DeleteObject(conflicting); } BeatmapNoteContainer beatmapNote = BeatmapNoteContainer.SpawnBeatmapNote(obj as BeatmapNote, ref notePrefab, ref bombPrefab, ref noteAppearanceSO); beatmapNote.transform.SetParent(GridTransform); beatmapNote.UpdateGridPosition(); LoadedContainers.Add(beatmapNote); return(beatmapNote); }
public override BeatmapObjectContainer SpawnObject(BeatmapObject obj, out BeatmapObjectContainer conflicting, bool removeConflicting = true) { conflicting = LoadedContainers.FirstOrDefault(x => x.objectData._time == obj._time && (obj as BeatmapNote)._lineLayer == (x.objectData as BeatmapNote)._lineLayer && (obj as BeatmapNote)._lineIndex == (x.objectData as BeatmapNote)._lineIndex && (obj as BeatmapNote)._type == (x.objectData as BeatmapNote)._type && ConflictingByTrackIDs(obj, x.objectData) ); if (conflicting != null && removeConflicting) { DeleteObject(conflicting); } BeatmapNoteContainer beatmapNote = BeatmapNoteContainer.SpawnBeatmapNote(obj as BeatmapNote, ref notePrefab, ref bombPrefab, ref noteAppearanceSO); beatmapNote.transform.SetParent(GridTransform); beatmapNote.UpdateGridPosition(); LoadedContainers.Add(beatmapNote); SelectionController.RefreshMap(); return(beatmapNote); }
public override BeatmapObjectContainer CreateContainer() { BeatmapObjectContainer con = BeatmapNoteContainer.SpawnBeatmapNote(null, ref notePrefab); return(con); }