Beispiel #1
0
        static Pen SpriteToPen_Collision(CSData.CSSprite sprite)
        {
            if (SmokeRemove && sprite.SpriteType == 4)
            {
                return(new Pen(Color.Transparent));
            }
            switch (SpriteMode)
            {
            case 1:
                if ((sprite.DetailsFlag & (0x2000 | 0x0100)) > 0)
                {
                    return(new Pen(Color.MediumPurple));
                }
                else if (sprite.DamageToTouch > 0)
                {
                    return(new Pen(
                               (sprite.DetailsFlag & (0x0001 | 0x0040)) != 0 ? Color.Red : Color.Red,
                               (sprite.DetailsFlag & (0x0001 | 0x0040)) != 0 ? 3 : 1));;
                }
                else if ((sprite.DetailsFlag & (0x0001 | 0x0040)) != 0)
                {
                    return(new Pen(Color.Orange));
                }
                else
                {
                    return(new Pen(Color.Purple));
                }

            default:
                return(new Pen(Color.Red));
            }
        }
Beispiel #2
0
        static Pen SpriteToPen_View(CSData.CSSprite sprite)
        {
            if (SmokeRemove && sprite.SpriteType == 4)
            {
                return(new Pen(Color.Transparent));
            }
            switch (SpriteMode)
            {
            case 1:
                return(new Pen(Color.Transparent));

            default:
                return(new Pen(Color.Green));
            }
        }
Beispiel #3
0
 static void DrawOneSprite(Graphics g, CSData.CSSprite sp, int camx, int camy)
 {
     if (sp.Existence == 0)
     {
         return;
     }
     g.DrawRectangle(SpriteToPen_View(sp),
                     toScreen(sp.X - sp.ViewRect.left - camx),
                     toScreen(sp.Y - sp.ViewRect.top - camy),
                     toScreen(sp.ViewRect.left + sp.ViewRect.right),
                     toScreen(sp.ViewRect.top + sp.ViewRect.bottom));
     g.DrawRectangle(SpriteToPen_Collision(sp),
                     toScreen(sp.X - sp.CollisionRect.left - camx),
                     toScreen(sp.Y - sp.CollisionRect.top - camy),
                     toScreen(sp.CollisionRect.left + sp.CollisionRect.right),
                     toScreen(sp.CollisionRect.top + sp.CollisionRect.bottom));
 }