Beispiel #1
0
        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]);
            }
        }
Beispiel #2
0
 public SlideMarkInfo(SlideExMark mark, SlideColorMarkInfo slideColorMarkInfo)
 {
     this.mark = mark;
     this.slideColorMarkInfo = slideColorMarkInfo;
 }