Exemple #1
0
        public void drawExplose(Pen pen, Vec pos, double size, double proc)
        {
            const int DIR = 24;

            for (int i = 0; i < DIR; i++)
            {
                Vec dir = Vec.getDir(i, DIR, size);
                Vec p1  = dir * (0.8f + proc * 2);
                Vec p2  = dir * (1.2f + proc * 2);
                drawLine(pen, pos + p1, pos + p2);
            }
        }
Exemple #2
0
        internal void calcPos(Counter <OrderedPair <Node> > pairCounter)
        {
            if (!isCycle())
            {
                mVecPair = mPair.map <Vec>(delegate(OrderedPair <Node> pair)
                {
                    Vec delta = pair.mSecond.mPos - pair.mFirst.mPos;
                    Vec vec   = delta.norm();

                    double shift = (mShift - (pairCounter.get(mPair.getOrderedPair()) - 1) * 0.5f) * W;
                    Vec pFirst   = pair.mFirst.mPos + vec.rotate() * shift + vec * Node.mSize / 2;
                    Vec pSecond  = pair.mSecond.mPos + vec.rotate() * shift - vec * Node.mSize / 2;
                    return(new OrderedPair <Vec>(pFirst, pSecond));
                });
            }
            else
            {
                Vec pos = mPair.mFirst.mPos + Vec.getDir(mShift, 3, W);
                mVecPair = new SwapPair <Vec>(pos, pos, false);
            }
        }