Esempio n. 1
0
        public void AddGotchi(Bitmap image, GotchiState type)
        {
            Point pos;

            switch (type)
            {
            default:
            case GotchiState.Happy:
            case GotchiState.Dead:
            case GotchiState.Energetic:
            case GotchiState.Tired:
                pos = new Point(150, 140);
                break;

            case GotchiState.Sleeping:
                pos = new Point(250, 140);
                break;

            case GotchiState.Hungry:
            case GotchiState.Eating:
                pos = new Point(75, 140);
                break;
            }

            AddGotchi(pos.X, pos.Y, image, type);
        }
Esempio n. 2
0
        private void _drawEmote(Graphics gfx, GotchiState type, int x, int y, int gotchiW, int gotchiH)
        {
            string fname = string.Empty;

            switch (type)
            {
            case GotchiState.Happy:
                fname = "bubble_happy.png";
                break;

            case GotchiState.Hungry:
                fname = "bubble_hungry.png";
                break;

            case GotchiState.Dead:
                fname = "bubble_dead.png";
                break;

            case GotchiState.Eating:
                fname = "bubble_eating.png";
                break;

            case GotchiState.Sleeping:
                fname = "bubble_sleeping.png";
                break;

            case GotchiState.Energetic:
                fname = "bubble_energetic.png";
                break;

            case GotchiState.Tired:
                fname = "bubble_tired.png";
                break;

            case GotchiState.Evolved:
                fname = "bubble_evolved.png";
                break;
            }

            if (string.IsNullOrEmpty(fname))
            {
                return;
            }

            fname = System.IO.Path.Combine(Global.GotchiImagesDirectory, fname);

            if (!System.IO.File.Exists(fname))
            {
                return;
            }

            using (Bitmap emote = new Bitmap(fname))
                gfx.DrawImage(emote, x - (emote.Width / 2), y - emote.Height - 10 - gotchiH / 2);
        }
Esempio n. 3
0
        // Private methods

        private GotchiTransform[] _getAnimationTransforms(GotchiState type)
        {
            GotchiTransform[] transforms = new GotchiTransform[2];

            for (int i = 0; i < transforms.Count(); ++i)
            {
                transforms[i] = new GotchiTransform();
            }

            // The emote should bob up and down for all animations.
            transforms[0].EmoteOffset.Y = 0;
            transforms[1].EmoteOffset.Y = -2;

            switch (type)
            {
            default:
            case GotchiState.Hungry:
                transforms[0].Offset.Y = 0;
                transforms[1].Offset.Y = 2;
                break;

            case GotchiState.Eating:
            case GotchiState.Happy:
                transforms[0].Angle = 10;
                transforms[1].Angle = -10;
                break;

            case GotchiState.Sleeping:
                transforms[0].Angle = 90;
                transforms[1].Angle = 90;
                break;

            case GotchiState.Dead:
                transforms[0].Angle = 180;
                transforms[1].Angle = 180;
                break;

            case GotchiState.Tired:
                transforms[0].Offset.Y = 0;
                transforms[1].Offset.Y = 1;
                break;

            case GotchiState.Energetic:
                transforms[0].Angle    = 10;
                transforms[1].Angle    = -10;
                transforms[0].Offset.Y = 0;
                transforms[1].Offset.Y = -4;
                break;
            }

            return(transforms);
        }
Esempio n. 4
0
        // Public methods

        public void AddGotchi(int x, int y, Bitmap image, GotchiState type)
        {
            // Make the background color transparent (if it isn't already).

            if (!(image is null))
            {
                Color c = image.GetPixel(0, 0);

                if (c.A > 0)
                {
                    image.MakeTransparent(image.GetPixel(0, 0));
                }
            }

            GotchiParams p = new GotchiParams {
                Position = new Point(x, y),
                Image    = new PossibleOwnershipBitmap(image, false),
                Type     = type
            };

            _gotchi_params.Add(p);
        }