public virtual void CreateTailConnector() { if (TailCreated) { return; } if (NextNoteID > 0) { if (Mode.Equals(NoteInfo.LongNoteStart) || Mode.Equals(NoteInfo.SlideNoteStart) || (Mode.Equals(NoteInfo.SlideNoteCheckpoint) && (Game.Dispensor.Notes[NextNoteID].Mode.Equals(NoteInfo.SlideNoteCheckpoint) || Game.Dispensor.Notes[NextNoteID].Mode.Equals(NoteInfo.SlideNoteEnd)))) { GameObject MyTail = Instantiate(Game.BaseTail) as GameObject; MyTail.name = "t" + ID.ToString(); TailToNext = MyTail.GetComponent <ImprovedTail>(); TailToNext.Game = Game; if (Mode.Equals(NoteInfo.LongNoteStart)) { TailToNext.SetLines(StartPos.x, EndPos.x, Game.Dispensor.Notes[NextNoteID].StartPos.x, Game.Dispensor.Notes[NextNoteID].EndPos.x, true); } else if (Mode.Equals(NoteInfo.SlideNoteStart) || Mode.Equals(NoteInfo.SlideNoteCheckpoint)) { TailToNext.SetLines(StartPos.x, EndPos.x, Game.Dispensor.Notes[NextNoteID].StartPos.x, Game.Dispensor.Notes[NextNoteID].EndPos.x, false); LastSlideAppearFrame = AppearFrame; LastSlideReachFrame = ReachFrame; } TailToNext.OwnerID = ID; Game.Dispensor.Notes[NextNoteID].TailsFromPrevious.Add(TailToNext); Game.Dispensor.Notes[NextNoteID].PreviousTailID = ID; } } }