public override void Initialize(CreateMarkFunc createMark, GetScriptAllowedButtonsFunc getScriptAllowedButtons) { base.Initialize(createMark, getScriptAllowedButtons); exMarks = new GameComponent[ExCount]; colorExMarkInfos = new SlideColorMarkInfo[ExCount]; int diff = IsRight ? ExMarkPosDiff : -ExMarkPosDiff; int currentDiff = IsRight ? ExMarkPosDiffStart : -ExMarkPosDiffStart; for (int i = 0; i < exMarks.Length; i++) { createMark(this, out GameComponent mark, out GameComponent colorMark, out GameComponent axis, out GameComponent slide, out GameComponent slideColor, out PictureObject trace); exMarks[i] = slide ?? new PictureObject(device, resourceManager, filenames.GetMarkImagePath(GetButtonType() + 2), true); exMarks[i].Position = new Vector2(currentDiff, 0); colorExMarkInfos[i] = new SlideColorMarkInfo( device, this, slideColor ?? new PictureObject(device, resourceManager, filenames.GetMarkColorImagePath(GetButtonType() + 2), true), exMarks[i].Position, trace ?? this.trace, Time + ExFrameSec / slideScale * (i + 1)) { PostDrawManager = postDrawManager }; colorExMarkInfos[i].ColorMark.PostDrawManager = postDrawManager; currentDiff += diff; } var markIndex = this.IndexOf(mark); for (var i = 0; i < exMarks.Length; i++) { this.InsertChild(exMarks[i], i + markIndex); } for (var i = 0; i < exMarks.Length; i++) { this.InsertChild(colorExMarkInfos[i].ColorMark, i + 1); } for (var i = 0; i < exMarks.Length; i++) { this.AddChild(colorExMarkInfos[i]); } }
public SlideMarkInfo(SlideExMark mark, SlideColorMarkInfo slideColorMarkInfo) { this.mark = mark; this.slideColorMarkInfo = slideColorMarkInfo; }