Beispiel #1
0
        public void moveBallComplete(itemBase it, ball b)
        {
            ESlide inSide = b.getInSide();

            if (inSide == ESlide.center && it.isFinishItem())
            {
                HtmlContext.window.alert("Success level.");
            }
            else
            {
                int x = it.getX();
                int y = it.getY();
                var side = ESlide.none;
                if (inSide == ESlide.top)
                {
                    y--;
                    side = ESlide.bottom;
                }
                else if (inSide == ESlide.bottom)
                {
                    y++;
                    side = ESlide.top;
                }
                else if (inSide == ESlide.left)
                {
                    x--;
                    side = ESlide.right;
                }
                else if (inSide == ESlide.right)
                {
                    x++;
                    side = ESlide.left;
                }

                itemBase newItem = map.inst().getItemByXY(x, y);
                if (newItem != null && newItem.hasSide(side))
                {
                    b.setInSide(side);
                    newItem.moveBall(b, js.bind(delegate { moveBallComplete(newItem, b); }, this));
                }
                else
                {
                    HtmlContext.window.alert("Failed level.");
                }
            }
        }
Beispiel #2
0
        public void _moveBallInternal(ball b, JsArray<point> points, JsAction callback)
        {
            itemBase self = this;

            point point = points.pop();
            if (point != null)
            {
                b.getDiv().style.left = point.x + "%";
                b.getDiv().style.top = point.y + "%";
                if (point.inSide != ESlide.none)
                {
                    b.setInSide(point.inSide);
                }
                HtmlContext.window.setTimeout(delegate { self._moveBallInternal(b, points, callback); }, 50);
            }
            else
            {
                callback();
            }
        }