Paint() 공개 메소드

public Paint ( ) : void
리턴 void
예제 #1
0
 void AddCubeToArray(Cube c, int index)
 {
     if (index < 0 || index >= cubes.Length)
         return;
     RemoveCubeFromArray (c);
     if (cubes[index] != null)
         RemoveCubeFromArray (cubes[index]);
     c.FillScreen(Color.Black);
     c.Image("heart_"+heartChar+"_"+index, 0, 0, 0, 0, 128, 128, 1, 0);
     c.Paint();
     cubes[index] = c;
 }
예제 #2
0
        private void OnTilt(Cube cube, Cube.Side direction)
        {
            switch (direction)
            {
                case Cube.Side.TOP:
                    cube.FillRect(new Color(0, 200, 0), 54, 54, 20, 20); // increasingly dark green
                    break;

                case Cube.Side.BOTTOM:
                    cube.FillRect(new Color(0, 150, 0), 54, 54, 20, 20);
                    break;

                case Cube.Side.LEFT:
                    cube.FillRect(new Color(0, 100, 0), 54, 54, 20, 20);
                    break;

                case Cube.Side.RIGHT:
                    cube.FillRect(new Color(0, 50, 0), 54, 54, 20, 20);
                    break;
                default:
                    cube.FillRect(Color.White, 54, 54, 20, 20); // extremely light green
                    break;
            }

            cube.Paint();
        }
예제 #3
0
 private void OnShake(Cube cube)
 {
     Random rand = new Random();
     cube.FillRect(new Color(rand.Next(0, 256), rand.Next(0, 256), rand.Next(0, 256)), 54, 54, 20, 20);
     cube.Paint();
 }
예제 #4
0
 private void OnPress(Cube cube)
 {
     cube.FillScreen(new Color(255, 0, 0)); // red
     cube.Paint();
 }
예제 #5
0
 private void OnFlip(Cube cube, bool newOrientationIsUp)
 {
     cube.FillRect(new Color(0, 0, 255), 54, 54, 20, 20); // blue
     cube.Paint();
 }
예제 #6
0
 private void OffShake(Cube cube, int duration)
 {
     cube.FillScreen(Color.White);
     cube.Paint();
 }
예제 #7
0
 private static void DrawFace(Cube c, int X, int Y, int PicX, int PicY, int PicW, int PicH)
 {
     //               Log.Debug("drawing on " + c.UniqueId + " at " + X.ToString() + "." + Y.ToString() + ", " + PicW.ToString() + "x" + PicH.ToString()  + ", from " + PicX.ToString() + "." + PicY.ToString());
       c.Image("doomfaces", X, Y, PicX, PicY, PicW, PicH, 1, 0);
       c.Paint();
 }
예제 #8
0
 private void HighlightSuccessCube(Cube cube)
 {
     cube.FillRect(new Color(153, 255, 0), 0, 0, Cube.SCREEN_WIDTH, _cubeHighlightWidth); // top green
     cube.FillRect(new Color(153, 255, 0), 0, Cube.SCREEN_HEIGHT - _cubeHighlightWidth, Cube.SCREEN_WIDTH,
                   _cubeHighlightWidth); // bottom green
     cube.FillRect(new Color(153, 255, 0), 0, 0, _cubeHighlightWidth, Cube.SCREEN_HEIGHT); // left green
     cube.FillRect(new Color(153, 255, 0), Cube.SCREEN_WIDTH - _cubeHighlightWidth, 0, _cubeHighlightWidth,
                   Cube.SCREEN_HEIGHT); // right green
     cube.Paint();
 }
예제 #9
0
 /// <summary>
 /// Removes the Cube from the Array. Also clears Cube's screen.
 /// </summary>
 /// <returns>
 /// <c>true</c> iff the Cube was previously in the Array
 /// </returns>
 /// <param name='c'>
 /// The specific Cube object to remove from the Array
 /// </param>
 bool RemoveCubeFromArray(Cube c)
 {
     int index = IsCubeInArray (c);
     if (index >= 0){
         cubes[index] = null;
         c.FillScreen(Color.White);
         c.Paint();
         return true;
     }
     return false;
 }
예제 #10
0
        /// <summary>
        /// Draws to the supplied cube.
        /// </summary>
        /// <param name='cube'>
        /// The cube to which the room should be drawn.
        /// </param>
        public void DrawTo(Cube cube)
        {
            // draw the background
            cube.FillScreen(bgColor);

            // draw the center
            cube.FillRect(passageColor, segmentSize, segmentSize, segmentSize, segmentSize);

            // draw open passages
            for (int i=0; i<entryStates.Length; i++)
            {
                if (entryStates[i] == EntryState.Closed) continue;
                int x=segmentSize, y=segmentSize;
                switch ((Cube.Side)i)
                {
                case Cube.Side.BOTTOM:
                    y = 2*segmentSize;
                    break;
                case Cube.Side.LEFT:
                    x = 0;
                    break;
                case Cube.Side.RIGHT:
                    x = 2*segmentSize;
                    break;
                case Cube.Side.TOP:
                    y = 0;
                    break;
                }
                cube.FillRect(passageColor, x, y, segmentSize, segmentSize);
            }

            // paint the cube
            cube.Paint();
        }
예제 #11
0
        /// <summary>
        /// Draws to the supplied cube.
        /// </summary>
        /// <param name='cube'>
        /// The cube to which the room should be drawn.
        /// </param>
        public void DrawTo(Cube cube)
        {
            // determine row and column to use in the atlas
            GraphicRow row = GraphicRow.Neither;
            GraphicCol col = GraphicCol.Neither;
            if (entryStates[(int)Cube.Side.BOTTOM] == EntryState.Open &&
                entryStates[(int)Cube.Side.TOP] == EntryState.Open)
                row = GraphicRow.TopAndBottom;
            else if (entryStates[(int)Cube.Side.BOTTOM] == EntryState.Open)
                row = GraphicRow.Bottom;
            else if (entryStates[(int)Cube.Side.TOP] == EntryState.Open)
                row = GraphicRow.Top;
            if (entryStates[(int)Cube.Side.LEFT] == EntryState.Open &&
                entryStates[(int)Cube.Side.RIGHT] == EntryState.Open)
                col = GraphicCol.LeftAndRight;
            else if (entryStates[(int)Cube.Side.LEFT] == EntryState.Open)
                col = GraphicCol.Left;
            else if (entryStates[(int)Cube.Side.RIGHT] == EntryState.Open)
                col = GraphicCol.Right;

            // select the proper portion of the atlas
            cube.Image(graphic, 0, 0, (int)col*Cube.SCREEN_WIDTH, (int)row*Cube.SCREEN_HEIGHT);

            // paint the cube
            cube.Paint();
        }
예제 #12
0
 public void ShowImage(Cube cube, String name)
 {
     cube.FillScreen(Color.Black);
     cube.Image(name, 0, 0, 0, 0, 128, 128, 1, 0);
     cube.Paint();
 }
예제 #13
0
        private static void ChangeCubeImage(Cube cube, Color color)
        {
            cube.FillScreen(color);
            string cubeChar = ((CubeData) cube.userData).CubeChar;
            string imageSource;

            if ("" != cubeChar)
                imageSource = cubeChar + ".png";
            else
                imageSource = "wat.png";

            cube.Image(imageSource, x: _cubeX, y: _cubeY, sourceX: _sourceX, sourceY: _sourceY, w: _width, h: _height,
                       scale: _scale, rotation: _rotation);
            cube.Paint();
        }
예제 #14
0
        private void ChangeCubeImg(Cube cube, Fraction fraction, Color color)
        {
            cube.FillScreen(color);

            //            _imageSourceNum = fraction.GetNumerator() + ".png";
            //            _imageSourceDen = fraction.GetDenominator() + ".png";
            switch (fraction.GetNumerator())
            {
                case 1:
                    _imageSourceNum = "1.png";
                    break;
                case 2:
                    _imageSourceNum = "2.png";
                    break;
                case 3:
                    _imageSourceNum = "3.png";
                    break;
                case 4:
                    _imageSourceNum = "4.png";
                    break;
                case 5:
                    _imageSourceNum = "5.png";
                    break;
                case 6:
                    _imageSourceNum = "6.png";
                    break;
                case 7:
                    _imageSourceNum = "7.png";
                    break;
                case 8:
                    _imageSourceNum = "8.png";
                    break;
                case 9:
                    _imageSourceNum = "9.png";
                    break;
                case 10:
                    _imageSourceNum = "10.png";
                    break;
            }

            switch (fraction.GetDenominator())
            {
                case 1:
                    _imageSourceDen = "1.png";
                    break;
                case 2:
                    _imageSourceDen = "2.png";
                    break;
                case 3:
                    _imageSourceDen = "3.png";
                    break;
                case 4:
                    _imageSourceDen = "4.png";
                    break;
                case 5:
                    _imageSourceDen = "5.png";
                    break;
                case 6:
                    _imageSourceDen = "6.png";
                    break;
                case 7:
                    _imageSourceDen = "7.png";
                    break;
                case 8:
                    _imageSourceDen = "8.png";
                    break;
                case 9:
                    _imageSourceDen = "9.png";
                    break;
                case 10:
                    _imageSourceDen = "10.png";
                    break;
            }

            cube.Image(_imageSourceNum, _cubeX, _cubeYNum, _sourceX, _sourceY, _width, _height, _scale,
                       _rotation);
            cube.Image(_imageSourceDen, _cubeX, _cubeYDen, _sourceX, _sourceY, _width, _height, _scale,
                       _rotation);
            cube.FillRect(Color.Black, _cubeX, _cubeYDen - 10, 65, 10);
            cube.Paint();
        }
예제 #15
0
        private void HighlightCube(Cube cube)
        {
            Color highlight = Color.White;

            cube.FillRect(highlight, 0, 0, Cube.SCREEN_WIDTH, _cubeHighlightWidth); // top red
            cube.FillRect(highlight, 0, Cube.SCREEN_HEIGHT - _cubeHighlightWidth, Cube.SCREEN_WIDTH,
                          _cubeHighlightWidth); // bottom red
            cube.FillRect(highlight, 0, 0, _cubeHighlightWidth, Cube.SCREEN_HEIGHT); // left red
            cube.FillRect(highlight, Cube.SCREEN_WIDTH - _cubeHighlightWidth, 0, _cubeHighlightWidth,
                          Cube.SCREEN_HEIGHT); // right red
            cube.Paint();
        }
예제 #16
0
 private void HighlightFailCube(Cube cube)
 {
     cube.FillRect(new Color(204, 0, 0), 0, 0, Cube.SCREEN_WIDTH, _cubeHighlightWidth); // top red
     cube.FillRect(new Color(204, 0, 0), 0, Cube.SCREEN_HEIGHT - _cubeHighlightWidth, Cube.SCREEN_WIDTH,
                   _cubeHighlightWidth); // bottom red
     cube.FillRect(new Color(204, 0, 0), 0, 0, _cubeHighlightWidth, Cube.SCREEN_HEIGHT); // left red
     cube.FillRect(new Color(204, 0, 0), Cube.SCREEN_WIDTH - _cubeHighlightWidth, 0, _cubeHighlightWidth,
                   Cube.SCREEN_HEIGHT); // right red
     cube.Paint();
 }
예제 #17
0
 private void DrawCube(Cube c)
 {
     CubeDooms[c].Reset();
       Random r = new Random();
       int b = r.Next(2);
       if ( b == 0 && this.LastJob < Deployinator.Jenkins.Count() )
     {
       JenkinsJob j = Deployinator.Jenkins.Job(this.LastJob);
       j.Draw(c, CubeDooms[c]);
       this.LastJob = this.LastJob + 1;
       this.Displays[c] = j;
     }
       else if ( b == 1 && this.LastGroup < Deployinator.Zenoss.Count() )
     {
       ZenossGroup k = Deployinator.Zenoss.Group(this.LastGroup);
       k.Draw(c, CubeDooms[c]);
       this.LastGroup = this.LastGroup + 1;
       this.Displays[c] = k;
     }
       else
     {
       DrawBlankCube(c);
     }
       c.Paint();
 }
예제 #18
0
 private static void ChangeCubeImage(Cube cube, Color color)
 {
     cube.FillScreen(color);
     cube.Paint();
 }
예제 #19
0
 public void PaintCube(Cube cube)
 {
     //Paint this cube
     if (cube != null) {
         //cube.FillScreen (cubeBackground);
         cube.FillScreen (Color.Black);
         //cube.Image ("Spade_96x96-32", 0, 0, 0, 0, 96, 96, 1, 0);
         cube.Image ("buddy", 40, 24, 0, 48, 32, 48, 1, 0);
         cube.Paint ();
     } else {
         //Handle this exception
     }
 }