protected override void SetSongObjectAndController() { visuals = GetComponentInChildren <NoteVisualsManager>(); note = new Note(0, Note.GuitarFret.Green); controller = GetComponent <NoteController>(); controller.note = note; note.controller = controller; }
bool ObjectCanClap(SongObject songObject) { SongObject.ID id = (SongObject.ID)songObject.classID; GameSettings.ClapToggle toggleValue; // Must have some kind of visual representation on screen if (songObject.controller == null || !songObject.controller.isActiveAndEnabled) { return(false); } bool playClap = false; if (SongObjectHelper.songObjectIdToClapOption.TryGetValue(id, out toggleValue)) { if ((GameSettings.clapProperties & toggleValue) != 0) { playClap = true; } } else if (id == SongObject.ID.Note) { Note note = songObject as Note; Note.NoteType noteType = NoteVisualsManager.GetVisualNoteType(note); switch (noteType) { case Note.NoteType.Strum: case Note.NoteType.Cymbal: playClap = (GameSettings.clapProperties & GameSettings.ClapToggle.STRUM) != 0; break; case Note.NoteType.Hopo: playClap = (GameSettings.clapProperties & GameSettings.ClapToggle.HOPO) != 0; break; case Note.NoteType.Tap: playClap = (GameSettings.clapProperties & GameSettings.ClapToggle.TAP) != 0; break; default: break; } } return(playClap); }
bool CheckTextureInSkin() { Skin customSkin = SkinManager.Instance.currentSkin; Note note = nCon.note; Note.NoteType noteType = NoteVisualsManager.GetVisualNoteType(note); Note.SpecialType specialType = NoteVisualsManager.IsStarpower(note); int arrayPos = NoteVisuals2DManager.GetNoteArrayPos(note, ChartEditor.Instance.laneInfo); Note.NoteType visualNoteType = noteType; if (!Globals.ghLiveMode) { if (noteType == Note.NoteType.Hopo && Globals.drumMode) { visualNoteType = Note.NoteType.Strum; } } bool isInSkin; bool isGhl = Globals.ghLiveMode; int hash = NoteVisuals2DManager.GetSkinKeyHash(arrayPos, noteType, specialType, isGhl); if (textureInSkinCache.TryGetValue(hash, out isInSkin)) { return(isInSkin); } else { string noteKey = NoteVisuals2DManager.GetSkinKey(arrayPos, noteType, specialType, isGhl); Sprite[] sprites = SkinManager.Instance.currentSkin.GetSprites(noteKey); isInSkin = sprites != null && sprites.Length > 0; textureInSkinCache[hash] = isInSkin; return(isInSkin); } }