// Use this for initialization
    void Start()
    {
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim       = new UVAnimation();
        var         firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var         cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));

        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 13, 15);
        anim.name       = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim       = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 13, 30);
        anim.name       = "Arm";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim       = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(256, 383));
        cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 8, 30);
        anim.name       = "Explode";
        anim.loopCycles = 1;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");
    }
Пример #2
0
    // Use this for initialization
    public override void Start()
    {
        base.Start();

        GetComponent <SimpleFollow>().enabled = false;
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim       = new UVAnimation();
        var         firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var         cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));

        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 14, 15);
        anim.name       = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim       = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 383));
        cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 16, 15);
        anim.name       = "Die";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");
    }
    // Use this for initialization
    void Start()
    {
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 511, 512, 512, false);

        // Create and setup anims
        UVAnimation anim = new UVAnimation();
        var firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 511));
        var cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(512, 512));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 16, 15);
        anim.name = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 1023));
        cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(512, 512));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 19, 15);
        anim.name = "Surprise";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");
    }
    // Use this for initialization
    void Start()
    {
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim = new UVAnimation();
        var firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 13, 15);
        anim.name = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 13, 30);
        anim.name = "Arm";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(256, 383));
        cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 8, 30);
        anim.name = "Explode";
        anim.loopCycles = 1;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");
    }
    public override void Start()
    {
        base.Start();

        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim       = new UVAnimation();
        var         firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var         cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));

        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 14, 15);
        anim.name       = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim       = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 383));
        cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 16, 15);
        anim.name       = "Die";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");

        dolphin = GameObject.Find("DolphinSprite");
        Util.Assert(dolphin != null);
    }
    // Use this for initialization
    void Start()
    {
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 511, 512, 512, false);

        // Create and setup anims
        UVAnimation anim       = new UVAnimation();
        var         firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 511));
        var         cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(512, 512));

        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 16, 15);
        anim.name       = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim       = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 1535));
        cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(512, 512));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 19, 15);
        anim.name       = "Surprise";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");
    }
    // Use this for initialization
    public override void Start()
    {
        base.Start();

        GetComponent<SimpleFollow>().enabled = false;
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim = new UVAnimation();
        var firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 14, 15);
        anim.name = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 383));
        cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 16, 15);
        anim.name = "Die";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");
    }
Пример #8
0
        private Sprite LoadSprite()
        {
            //
            var spritesheet = new Image("assets/p1_spritesheet.png");

            // Extract sprites from sheet
            var submap = new Dictionary <string, Image>();
            var data   = Files.ReadText("assets/p1_spritesheet.txt");

            foreach (var line in data.Split('\n'))
            {
                var idx = line.IndexOf('=');
                if (idx < 0)
                {
                    throw new InvalidOperationException("spritesheet metadata invalid.");
                }

                // Parse frame data
                var name   = line.Substring(0, idx).Trim();
                var values = line.Substring(idx + 1).Trim().Split(' ').Select(s => int.Parse(s)).ToArray();
                var rect   = new IntRectangle(values[0], values[1], values[2], values[3]);

                // Extract image from spritesheet
                var image = Extract(spritesheet, rect);
                submap[name] = image;

                // Set image origin to bottom center
                image.Origin = (image.Width / 2, image.Height);
            }

            const float FrameDelay = 1 / 10F;

            var sprite = new Sprite();

            sprite.AddAnimation(new SpriteAnimation("idle")
            {
                { submap["p1_front"], FrameDelay }
            });

            sprite.AddAnimation(new SpriteAnimation("jump")
            {
                { submap["p1_jump"], FrameDelay }
            });

            sprite.AddAnimation(new SpriteAnimation("walk")
            {
                { submap["p1_walk01"], FrameDelay },
                { submap["p1_walk02"], FrameDelay },
                { submap["p1_walk03"], FrameDelay },
                { submap["p1_walk04"], FrameDelay },
                { submap["p1_walk05"], FrameDelay },
                { submap["p1_walk06"], FrameDelay },
                { submap["p1_walk07"], FrameDelay }
            });

            return(sprite);
Пример #9
0
 private static void InitializeHeroSprite(SpriteController controller, Sprite sprite)
 {
     sprite = new Sprite(new Point(0, 128), controller,
                         Resources.Heroes, 32, 32, 250, 3);
     sprite.AddAnimation(new Point(0, 160), Resources.Heroes, 32, 32, 250, 3);
     sprite.AddAnimation(new Point(0, 192), Resources.Heroes, 32, 32, 250, 3);
     sprite.AddAnimation(new Point(0, 224), Resources.Heroes, 32, 32, 250, 3);
     sprite.SetSize(HeroSpriteSize);
     sprite.SetName($"{SpriteNames.Hero}");
 }
Пример #10
0
        public Main_Game(Player inheritPlayer)
        {
            InitializeComponent();
            MainPlayer           = inheritPlayer;
            UserInterface.Text   = MainPlayer.EntityName;
            intLabel.Text        = "Intelligence: " + MainPlayer.EntityStats.charInt.ToString();
            strLabel.Text        = "Strength: " + MainPlayer.EntityStats.charStr.ToString();
            wisLabel.Text        = "Wisdom: " + MainPlayer.EntityStats.charWis.ToString();
            conLabel.Text        = "Constitution: " + MainPlayer.EntityStats.charCon.ToString();
            dexLabel.Text        = "Dexterity: " + MainPlayer.EntityStats.charDex.ToString();
            chaLabel.Text        = "Charisma: " + MainPlayer.EntityStats.charChr.ToString();
            playerGoldLabel.Text = "Gold: " + MainPlayer.PlayerGold.ToString();
            playerHPLabel.Text   = "HP: " + MainPlayer.EntityStats.charHP.ToString();
            playerMPLabel.Text   = "MP: " + MainPlayer.EntityStats.charMP.ToString();
            ExpBar.Maximum       = MainPlayer.generateLevelRequirement();
            OkayBtn.Visible      = false;

            GameScreen.BackgroundImage       = new Bitmap(Properties.Resources.FFIV);
            GameScreen.BackgroundImageLayout = ImageLayout.Stretch;
            MySpriteController = new SpriteController(GameScreen);
            if (MainPlayer.PlayerGender == true)
            {
                Bitmap CloudAv = Properties.Resources.CloudPortrait;
                Image  oImage  = Properties.Resources.CloudIdle;
                avatarPicture.Image    = CloudAv;
                avatarPicture.SizeMode = PictureBoxSizeMode.StretchImage;
                MainPlayerSprite       = new Sprite(new Point(0, 0), MySpriteController, oImage, 106, 73, 200, 6);
                MainPlayerSprite.AddAnimation(new Point(0, 0), Properties.Resources.CloudAttack, 163, 125, 200, 12);
                MainPlayerSprite.AddAnimation(new Point(0, 0), Properties.Resources.CloudMagic, 97, 77, 200, 4);
                MainPlayerSprite.AddAnimation(Properties.Resources.CloudDead);
                MainPlayerSprite.SpriteAnimationComplete += AttackComplete;
                MainPlayerSprite.SetName("Cloud");
                MainPlayerSprite.PutBaseImageLocation(new Point(126, 217));
                MainPlayerSprite.SetSize(new Size(200, 250));
            }
            else
            {
                Bitmap TifaAv = Properties.Resources.TifaPortrait;
                Image  oImage = Properties.Resources.TifaIdle;
                avatarPicture.Image    = TifaAv;
                avatarPicture.SizeMode = PictureBoxSizeMode.StretchImage;
                MainPlayerSprite       = new Sprite(new Point(0, 0), MySpriteController, oImage, 71, 67, 200, 4);
                MainPlayerSprite.AddAnimation(new Point(0, 0), Properties.Resources.TifaAttack, 105, 98, 200, 12);
                MainPlayerSprite.AddAnimation(new Point(0, 0), Properties.Resources.TifaMagic, 63, 60, 200, 4);
                MainPlayerSprite.AddAnimation(Properties.Resources.TifaDead);
                MainPlayerSprite.SpriteAnimationComplete += AttackComplete;
                MainPlayerSprite.SetName("Tifa");
                MainPlayerSprite.PutBaseImageLocation(new Point(126, 217));
                MainPlayerSprite.SetSize(new Size(200, 250));
            }
        }
Пример #11
0
        //render egg image
        private void loadEggsImage()
        {
            int    startX = 0;
            int    startY = 0;
            Random rand   = new Random();

            startX = rand.Next(5, 320);
            startY = 5;

            spriteEggs = new Sprite(new Point(0, 0), spriteController, Properties.Resources.egg, 43, 50, 1000, 1);
            spriteEggs.SetSize(new Size(70, 120));
            spriteEggs.SetName(SpriteNames.egg.ToString());

            spriteEggs.AddAnimation(new Point(0, 200), Properties.Resources.egg, 41, 52, 150, 1);
            spriteEggs.PutPictureBoxLocation(new Point(startX, startY));

            spriteEggs.CannotMoveOutsideBox = true;

            spriteEggs.SetSpriteDirectionDegrees(270);
            spriteEggs.AutomaticallyMoves = true;
            spriteEggs.MovementSpeed      = eggsSpeed;

            spriteEggs.SpriteHitsPictureBox += eggsCollision;
            spriteEggs.SpriteHitsSprite     += eggHitBasket;
        }
Пример #12
0
    // Use this for initialization
    void Start()
    {
        agent      = gameObject.GetComponent <Seeker>();
        controller = gameObject.GetComponent <CharacterController>();


        spriteManager = gameObject.GetComponent <SpriteManager>() as SpriteManager;

        evilSprite = spriteManager.AddSprite(gameObject, 2.0f, 2.0f, spriteManager.PixelSpaceToUVSpace(256, 256), spriteManager.PixelSpaceToUVSpace(50, 50), false);
        evilSprite.SetAnimCompleteDelegate(OnAnimateComplete);

        Vector2 spriteSize = spriteManager.PixelSpaceToUVSpace(50, 50);

        //Idle animation
        UVAnimation idleAnimation  = new UVAnimation();
        Vector2     idleStartPosUV = spriteManager.PixelCoordToUVCoord(0, 50);

        idleAnimation.BuildUVAnim(idleStartPosUV, spriteSize, 3, 2, 6, 15);
        idleAnimation.loopCycles = -1;
        idleAnimation.name       = "idle";
        evilSprite.AddAnimation(idleAnimation);

        evilSprite.PlayAnim("idle");
        gameObject.transform.position = startPos;
    }
Пример #13
0
        private Sprite BuildSpaceshipDriveSprite()
        {
            var spaceshipDriveTexture     = contentManager.Load <Texture2D>(SpaceshipDriveTextureName);
            var spaceshipDriveSubtextures = Subtexture.subtexturesFromAtlas(spaceshipDriveTexture, 32, 32);

            var fireAnimationSprite = new Sprite <int>(spaceshipDriveSubtextures[0]);

            fireAnimationSprite.SetRenderLayer(500);
            fireAnimationSprite.SetLocalOffset(new Vector2(1f, 28f));

            var animation = new SpriteAnimation(new List <Subtexture>()
            {
                spaceshipDriveSubtextures[0],
                spaceshipDriveSubtextures[1],
                spaceshipDriveSubtextures[2],
                spaceshipDriveSubtextures[3]
            });

            animation.setOrigin(new Vector2(0, 0));

            fireAnimationSprite.AddAnimation(0, animation);

            fireAnimationSprite.Play(0);

            return(fireAnimationSprite);
        }
Пример #14
0
    private void createSprite()
    {
        enemySprite = spriteManager.AddSprite(gameObject, InGameSize.x, InGameSize.y, spriteManager.PixelSpaceToUVSpace((int)TextureSize.x, (int)TextureSize.y), spriteManager.PixelSpaceToUVSpace((int)FrameSize.x, (int)FrameSize.y), false);
        enemySprite.SetAnimCompleteDelegate(OnAnimateComplete);

        Vector2 spriteSize = spriteManager.PixelSpaceToUVSpace((int)FrameSize.x, (int)FrameSize.y);

        //Idle animation
        UVAnimation idleAnimation  = new UVAnimation();
        Vector2     idleStartPosUV = spriteManager.PixelCoordToUVCoord((int)idleStartPos.x, (int)idleStartPos.y);

        idleAnimation.BuildUVAnim(idleStartPosUV, spriteSize, (int)idleSpriteSheetPos.x, (int)idleSpriteSheetPos.y, (int)idleAnimLength, fps);
        idleAnimation.loopCycles = -1;
        idleAnimation.name       = "idle";
        enemySprite.AddAnimation(idleAnimation);

        //Walk animation
        UVAnimation walkAnimation  = new UVAnimation();
        Vector2     walkStartPosUV = spriteManager.PixelCoordToUVCoord((int)walkStartPos.x, (int)walkStartPos.y);

        walkAnimation.BuildUVAnim(walkStartPosUV, spriteSize, (int)walkSpriteSheetPos.x, (int)walkSpriteSheetPos.y, (int)walkAnimLength, fps);
        walkAnimation.loopCycles = -1;
        walkAnimation.name       = "walk";
        enemySprite.AddAnimation(walkAnimation);

        //Shoot animation
        UVAnimation shootAnimation  = new UVAnimation();
        Vector2     shootStartPosUV = spriteManager.PixelCoordToUVCoord((int)shootStartPos.x, (int)shootStartPos.y);

        shootAnimation.BuildUVAnim(shootStartPosUV, spriteSize, (int)shootSpriteSheetPos.x, (int)shootSpriteSheetPos.y, (int)shootAnimLength, fps);
        shootAnimation.loopCycles = 0;
        shootAnimation.name       = "shoot";
        enemySprite.AddAnimation(shootAnimation);

        //Die animation
        UVAnimation dieAnimation  = new UVAnimation();
        Vector2     dieStartPosUV = spriteManager.PixelCoordToUVCoord((int)dieStartPos.x, (int)dieStartPos.y);

        dieAnimation.BuildUVAnim(dieStartPosUV, spriteSize, (int)dieSpriteSheetPos.x, (int)dieSpriteSheetPos.y, (int)dieAnimLength, fps);
        dieAnimation.loopCycles = 0;
        dieAnimation.name       = "die";
        enemySprite.AddAnimation(dieAnimation);


        gameObject.transform.position = startPos;
    }
Пример #15
0
 // Use this for initialization
 void Start()
 {
     sprite = spriteManager.AddSprite(this.gameObject,2,2,new Vector2(.5f,.5f), new Vector2(.25f, .5f), new Vector3(0,0,0), true);
     stabbing = new UVAnimation();
     stabbing.name="stabbing";
     stabbing.SetAnim(stabbing.BuildUVAnim(new Vector2(.5f,.5f),new Vector2(.25f,.5f),2,2,3,2));
     stabbing.loopCycles=-1; // makes animation loop infinitely
     stabbing.loopReverse = true; // makes animation go in reverse after it's completed
     sprite.AddAnimation(stabbing);
     sprite.PlayAnim("stabbing");
 }
Пример #16
0
        //render basket image
        private void loadBasketImage()
        {
            spriteBasket = new Sprite(new Point(0, 0), spriteController, Properties.Resources.basket, 95, 50, 1000, 1);
            spriteBasket.SetSize(new Size(120, 100));
            spriteBasket.SetName(SpriteNames.basket.ToString());

            spriteBasket.AddAnimation(new Point(0, 200), Properties.Resources.basket, 95, 50, 150, 1);
            spriteBasket.PutPictureBoxLocation(spriteBasketPoint);

            spriteBasket.CannotMoveOutsideBox = true;
        }
Пример #17
0
        public Vetbol2()
        {
            Position = new Vector2(100, 100);
            img.LoadTexture(Controller.Content.Load <Texture2D>("images/slimeblob"), 48, 48);
            img.AddAnimation("IDLE", new int[1] {
                0
            }, 0);
            img.AddAnimation("CRAWLING", new int[1] {
                1
            }, 0);
            img.AddAnimation("JUMP", new int[1] {
                2
            }, 0);
            img.PlayAnimation("CRAWLING");
            Height       = 32;
            Width        = 32;
            img.Position = new Vector2(0, -10);
            AddChild(img);

            soundEffect = Controller.Content.Load <SoundEffect>("sounds/walking2");
        }
Пример #18
0
 private void AddAnimations()
 {
     foreach (SpriteAnimation animation in _spriteAnimations)
     {
         int   frameStart    = (animation.FrameStart > 0) ? animation.FrameStart : 1;
         int   frameEnd      = (animation.FrameEnd > 0) ? animation.FrameEnd : 1;
         int   frameTotal    = (frameEnd - frameStart);
         int   frameDuration = animation.FrameDuration;
         Point startLoc      = Utils.SpriteSheetFrameIndexToPoint(_spriteSheet, _spriteSize, frameStart);
         _sprite.AddAnimation(startLoc, _spriteSheet, _spriteSize.Width, _spriteSize.Height, frameDuration, frameTotal);
     }
 }
Пример #19
0
    // Use this for initialization
    void Start()
    {
        sm     = GameObject.Find("_SpriteManager").GetComponent <LinkedSpriteManager>();
        sprite = sm.AddSprite(this.gameObject, 1f, 1f, sm.PixelCoordToUVCoord(0, 9 * 96), sm.PixelSpaceToUVSpace(192, 192), Vector3.zero, false);
        sprite.SetDrawLayer(100);
        UVAnimation anim = new UVAnimation();

        anim.BuildUVAnim(sm.PixelCoordToUVCoord(0, 9 * 96), sm.PixelSpaceToUVSpace(192, 192), 5, 1, 5, 56f);
        anim.loopCycles = 0;
        sprite.AddAnimation(anim);
        sprite.PlayAnim(anim);
        Invoke("destroySelf", .125f);
    }
Пример #20
0
    public override void AddMoveAnimation()
    {
        moveAnimation = new UVAnimation();

        Vector2 startPosUV = sm.PixelCoordToUVCoord(0, 84);
        Vector2 spriteSize = sm.PixelSpaceToUVSpace(88, 84);

        moveAnimation.BuildUVAnim(startPosUV, spriteSize, 8, 2, 8, animationFps);

        moveAnimation.name       = MOVE;
        moveAnimation.loopCycles = -1;

        sprite.AddAnimation(moveAnimation);
    }
Пример #21
0
        private void LoadSprites()
        {
            var knightImage             = Resources.KnightSprite;
            var darkKnightImage         = Resources.DarkKnightSprite;
            var orcImage                = Resources.OrcSprite;
            var trollImage              = Resources.TrollSprite;
            var goldKnightImage         = Resources.GoldKnightSprite;
            var goblinImage             = Resources.GoblinSprite;
            var firstPlayerCastleImage  = Resources.Castle_1;
            var secondPlayerCastleImage = Resources.Castle_2;
            var battleBeginsImage       = Resources.BattleBegins;

            var knight = new Sprite(new Point(0, 0), spriteController, knightImage, 228, 181, 200, 3);

            knight.AddAnimation(new Point(0, 181), knightImage, 210, 210, 200, 3);
            knight.SetName("Knight");

            var darkKnight = new Sprite(new Point(0, 0), spriteController, darkKnightImage, 251, 181, 200, 3);

            darkKnight.AddAnimation(new Point(0, 181), darkKnightImage, 275, 181, 200, 3);
            darkKnight.SetName("DarkKnight");

            var orc = new Sprite(new Point(0, 0), spriteController, orcImage, 309, 188, 200, 3);

            orc.AddAnimation(new Point(0, 188), orcImage, 293, 303, 200, 3);
            orc.SetName("Orc");

            var troll = new Sprite(new Point(0, 0), spriteController, trollImage, 317, 193, 200, 3);

            troll.AddAnimation(new Point(0, 193), trollImage, 297, 302, 200, 3);
            troll.SetName("Troll");

            var goblin = new Sprite(new Point(0, 0), spriteController, goblinImage, 315, 193, 200, 3);

            goblin.AddAnimation(new Point(0, 193), goblinImage, 307, 293, 200, 3);
            goblin.SetName("Goblin");

            var goldKnight = new Sprite(new Point(0, 0), spriteController, goldKnightImage, 219, 176, 200, 3);

            goldKnight.AddAnimation(new Point(0, 176), goldKnightImage, 209, 176, 200, 3);
            goldKnight.SetName("GoldKnight");

            var firstPlayerCastle = new Sprite(spriteController, firstPlayerCastleImage, firstPlayerCastleImage.Width, firstPlayerCastleImage.Height);

            firstPlayerCastle.SetName("FirstPlayerCastle");

            var secondPlayerCastle = new Sprite(spriteController, secondPlayerCastleImage, secondPlayerCastleImage.Width, secondPlayerCastleImage.Height);

            secondPlayerCastle.SetName("SecondPlayerCastle");
        }
Пример #22
0
        public PlayerHUDStatus(Vector2 size, Vetbol player, TimeSpan timer)
        {
            this.size   = size;
            this.player = player;

            playerImage = new Sprite();
            playerFrame = new Sprite();

            playerFrame.Position.X = (size.X / 2) - ((96 / Controller.CurrentDrawCamera.zoom) / 2) + (float)player.index * size.X;
            playerFrame.Position.Y = this.Position.Y;
            playerFrame.Scale     /= Controller.CurrentDrawCamera.zoom;

            playerImage.Position.X = playerFrame.Position.X + ((96 - 20) / 2) - (playerImage.Width / 2);
            playerImage.Position.Y = this.Position.Y + ((96 - 65) / 2);
            playerImage.Scale     /= Controller.CurrentDrawCamera.zoom;

            playerFrame.LoadTexture(Controller.Content.Load <Texture2D>(@"Assets/peter4croisants"), 96, 96);
            playerFrame.AddAnimation("IDLE", new int[1] {
                0
            }, 0);
            playerFrame.AddAnimation("LOADING", new int[12] {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
            }, (float)timer.TotalSeconds / 12);


            this.playerImage.LoadTexture(Controller.Content.Load <Texture2D>(@"images/slimeblobOther"), 48, 48);

            this.playerImage.Color = player.image.Color;

            this.playerTickets          = new Label(player.score.ToString(), Controller.FontController.GetFont("DefaultFont"));
            this.playerTickets.Position = new Vector2(playerImage.Position.X + 10, this.Position.Y + 115);
            this.playerTickets.Scale   /= Controller.CurrentDrawCamera.zoom - 0.3f;

            this.AddChild(playerFrame);
            this.AddChild(playerImage);
            this.AddChild(playerTickets);
        }
    // Use this for initialization
    void Start()
    {
        width = collider.bounds.size.x * 2 + 0.15f;
        height = collider.bounds.size.y * 2 + 0.15f;

        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim = new UVAnimation();
        var firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 11, 15);
        anim.name = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);
        sprite.PlayAnim("Idle");
    }
Пример #24
0
    // Use this for initialization
    void Start()
    {
        width  = collider.bounds.size.x * 2 + 0.15f;
        height = collider.bounds.size.y * 2 + 0.15f;

        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim       = new UVAnimation();
        var         firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var         cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));

        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 11, 15);
        anim.name       = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);
        sprite.PlayAnim("Idle");
    }
Пример #25
0
        public override void LoadContent(ContentManager content)
        {
            _transform = AddComponent <Transform>(new Transform(new Vector2(0, 0), new Vector2(1, 1)));

            Texture2D fishTexture = content.Load <Texture2D>(_spriteAsset.FileName);

            _sprite = AddComponent <Sprite>(
                new Sprite(
                    fishTexture,
                    (int)_spriteAsset.FrameSize.X,
                    (int)_spriteAsset.FrameSize.Y,
                    _flipped ? SpriteEffects.FlipHorizontally : SpriteEffects.None
                    )
                );

            _sprite.AddAnimation(_spriteAsset.Animations["Swim"], "Swim");

            _sprite.Play("Swim");
        }
Пример #26
0
        public override void Initialize()
        {
            base.Initialize();

            var entity      = CreateEntity("game-won-screen");
            var texture     = ContentManager.Load <Texture2D>("game-won");
            var subtextures = Subtexture.subtexturesFromAtlas(texture, 640, 480);

            var animatedSprite = new Sprite <int>(subtextures[0]);

            animatedSprite.SetLocalOffset(new Vector2(320, 240));
            animatedSprite.AddAnimation(0, new SpriteAnimation(subtextures.GetRange(0, 3))
            {
                fps = 15
            });
            animatedSprite.Play(0);

            entity.addComponent(animatedSprite);
        }
Пример #27
0
        private Sprite BuildTitleScreenSprite()
        {
            var titleScreenTexture     = ContentManager.Load <Texture2D>("title-screen");
            var titleScreenSubtextures = Subtexture.subtexturesFromAtlas(titleScreenTexture, 640, 480);

            var titleScreenSprite = new Sprite <int>(titleScreenSubtextures[0]);

            titleScreenSprite.SetLocalOffset(new Vector2(320, 240));

            var animation = new SpriteAnimation(titleScreenSubtextures.GetRange(0, 2))
            {
                fps = 2f
            };

            titleScreenSprite.AddAnimation(0, animation);
            titleScreenSprite.Play(0);

            return(titleScreenSprite);
        }
Пример #28
0
    // Use this for initialization
    void Start()
    {
        spriteManager = gameObject.GetComponent <SpriteManager>() as SpriteManager;

        particleSprite = spriteManager.AddSprite(gameObject, 1.0f, 1.0f, spriteManager.PixelSpaceToUVSpace(128, 128), spriteManager.PixelSpaceToUVSpace(30, 30), false);
        particleSprite.SetAnimCompleteDelegate(OnAnimateComplete);

        Vector2 spriteSize = spriteManager.PixelSpaceToUVSpace(30, 30);

        //Idle animation
        UVAnimation idleAnimation  = new UVAnimation();
        Vector2     idleStartPosUV = spriteManager.PixelCoordToUVCoord(0, 30);

        idleAnimation.BuildUVAnim(idleStartPosUV, spriteSize, 3, 2, 5, 15);
        idleAnimation.loopCycles = 0;
        idleAnimation.name       = "idle";
        particleSprite.AddAnimation(idleAnimation);
        particleSprite.PlayAnim("idle");
        transform.position = new Vector3(startPos.x, startPos.y, startPos.z);
    }
    // Use this for initialization
    void Start()
    {
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim = new UVAnimation();
        var firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 10, 15);
        anim.name = "Idle";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);
        sprite.PlayAnim("Idle");

        sprite.SetAnimCompleteDelegate(delegate()
        {
            Destroy(transform.parent.gameObject);
        });
    }
Пример #30
0
    // Use this for initialization
    void Start()
    {
        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim       = new UVAnimation();
        var         firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var         cellSize   = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));

        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 10, 15);
        anim.name       = "Idle";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);
        sprite.PlayAnim("Idle");

        sprite.SetAnimCompleteDelegate(delegate()
        {
            Destroy(transform.parent.gameObject);
        });
    }
    void Start()
    {
        var transTest = new GameObject("MaterialTransform_"+ this.name);

        transTest.transform.position = transform.TransformPoint(transTest.transform.position);
        transTest.transform.position += new Vector3(0, 0, _depthLayer) * _depthScaleFactor;

        transTest.transform.localScale = new Vector3(_scaleX, _scaleY, 0.5f);

        _sprite = _spriteManager.AddSprite(transTest, _width, _height, 0, (int)_cellSize.x-1, (int)_cellSize.x, (int)_cellSize.x, false);

        for (var i = 0; i < _anims.Length; i++)
        {
            var anim = new UVAnimation();

            var firstFrameCoords = new Vector2(
                //_anims[i].firstFrame.x * _cellSize.x,
                0,
                _anims[i].firstFrame.y * _cellSize.y);

            var firstFrame = _spriteManager.PixelCoordToUVCoord(firstFrameCoords);
            var cellSize = _spriteManager.PixelSpaceToUVSpace(_cellSize);
            anim.BuildUVAnim(firstFrame, cellSize, _anims[i].columns, _anims[i].rows, _anims[i].totalCells, _anims[i].fps, (int)(_anims[i].firstFrame.x));
            anim.name = _anims[i].name;
            anim.loopCycles = _anims[i].loopCycles;
            _sprite.AddAnimation(anim);
        }

        _currentAnimation = _defaultAnimation;
        _sprite.PlayAnim(_defaultAnimation);
    }
Пример #32
0
    public void Initialize(DungeonEntity e, SpriteData sd, LinkedSpriteManager ls)
    {
        entity = e;
        spriteData = sd;
        lsManager = ls;
        Texture texture = lsManager.material.mainTexture;
        Vector2 textDim = new Vector2(texture.width, texture.height);
        uvDim = new Vector2(spriteData.spriteDim.x / textDim.x, spriteData.spriteDim.y / textDim.y);
        Vector2 uvCoord = Vector2.zero;
        uvCoord.x = uvDim.x * 7;
        uvCoord.y = 1 - (spriteData.spriteDim.y * (spriteData.spriteIndex + 1) / textDim.y);
        sprite = lsManager.AddSprite(gameObject, spriteData.dim.x, spriteData.dim.y, uvCoord, uvDim, Vector3.up * 0.5f, true);
        visible = true;

        transform.localPosition = Vector3.up * sd.dim.y/2;

        Vector2 pos;

        UVAnimation walking_s = new UVAnimation();
        pos = new Vector2(0, uvCoord.y);
        walking_s.BuildUVAnim(pos, uvDim, 3, 1, 3, 10);
        walking_s.name = "walking_s";
        walking_s.loopCycles = -1;

        UVAnimation walking_nw = new UVAnimation();
        pos = new Vector2(uvDim.x * 3, uvCoord.y);
        walking_nw.BuildUVAnim(pos, uvDim, 3, 1, 3, 10);
        walking_nw.name = "walking_nw";
        walking_nw.loopCycles = -1;

        UVAnimation walking_sw = new UVAnimation();
        pos = new Vector2(uvDim.x * 3, uvCoord.y);
        walking_sw.BuildUVAnim(pos, uvDim, 3, 1, 3, 10);
        walking_sw.name = "walking_sw";
        walking_sw.loopCycles = -1;

        UVAnimation walking_ne = new UVAnimation();
        pos = new Vector2(uvDim.x * 6, uvCoord.y);
        walking_ne.BuildUVAnim(pos, uvDim, 3, 1, 3, 10);
        walking_ne.name = "walking_ne";
        walking_ne.loopCycles = -1;

        UVAnimation walking_se = new UVAnimation();
        pos = new Vector2(uvDim.x * 6, uvCoord.y);
        walking_se.BuildUVAnim(pos, uvDim, 3, 1, 3, 10);
        walking_se.name = "walking_se";
        walking_se.loopCycles = -1;

        UVAnimation walking_n = new UVAnimation();
        pos = new Vector2(uvDim.x * 9, uvCoord.y);
        walking_n.BuildUVAnim(pos, uvDim, 3, 1, 3, 10);
        walking_n.name = "walking_n";
        walking_n.loopCycles = -1;

        sprite.AddAnimation(walking_n);
        sprite.AddAnimation(walking_ne);
        sprite.AddAnimation(walking_nw);
        sprite.AddAnimation(walking_s);
        sprite.AddAnimation(walking_se);
        sprite.AddAnimation(walking_sw);
    }
Пример #33
0
        public Form1(Model model)
        {
            this.model = model;
            InitializeComponent();

            //SoundPlayer simpleSound = new SoundPlayer(Properties.Resources.Ambiance);
            //simpleSound.Play();

            MainDrawingArea.BackgroundImageLayout = ImageLayout.Stretch;
            mySpriteController = new SpriteController(MainDrawingArea);

            waitersList            = new List <Sprite>();
            square1SupervisorsList = new List <Sprite>();
            square2SupervisorsList = new List <Sprite>();
            sectionChefsList       = new List <Sprite>();

            MH = Properties.Resources.perso6sprite;
            MC = Properties.Resources.perso1sprite;
            SS = Properties.Resources.SS1;
            W  = Properties.Resources.waiter1;
            SC = Properties.Resources.SC1;
            KP = Properties.Resources.perso7sprite;
            //C = Properties.Resources.perso9spriteVersion2;
            F1 = Properties.Resources.fire;
            F2 = Properties.Resources.fire1;

            glace  = Properties.Resources.Glace;
            pizza  = Properties.Resources.Pizza;
            menu   = Properties.Resources.Menu;
            salade = Properties.Resources.Salade;
            blank  = Properties.Resources.blank;

            for (int i = 0; i < ConstantGeneral.numberOfWaiter; i++)
            {
                waitersList.Insert(i, new Sprite(new Point(0, 0), mySpriteController,
                                                 W, 16, 32, 200, 4));
                waitersList[i].SetName("Serveur " + (i + 1).ToString());
                waitersList[i].AddAnimation(new Point(0, 64), W, 16, 32, 200, 4);
                waitersList[i].AddAnimation(new Point(0, 0), W, 16, 32, 200, 4);
                waitersList[i].AddAnimation(new Point(0, 96), W, 16, 32, 200, 4);
                waitersList[i].AddAnimation(new Point(0, 32), W, 16, 32, 200, 4);

                waitersList[i].CannotMoveOutsideBox = true;
                waitersList[i].SetSpriteDirectionDegrees(-90);
                waitersList[i].PutBaseImageLocation(ConstantPosition.initialWaiter);
                waitersList[i].SetSize(new Size(16, 32));
                waitersList[i].MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
                waitersList[i].Pause();
            }

            for (int i = 0; i < ConstantGeneral.numberOfSSPerSquare; i++)
            {
                square1SupervisorsList.Insert(i, new Sprite(new Point(0, 0), mySpriteController,
                                                            SS, 16, 32, 200, 4));
                square2SupervisorsList.Insert(i, new Sprite(new Point(0, 0), mySpriteController,
                                                            SS, 16, 32, 200, 4));
                square1SupervisorsList[i].SetName("Chef " + (i + 1).ToString() + " du rang 1");
                square2SupervisorsList[i].SetName("Chef " + (i + 1).ToString() + " du rang 2");

                square1SupervisorsList[i].AddAnimation(new Point(0, 64), SS, 16, 32, 200, 4);
                square1SupervisorsList[i].AddAnimation(new Point(0, 0), SS, 16, 32, 200, 4);
                square1SupervisorsList[i].AddAnimation(new Point(0, 96), SS, 16, 32, 200, 4);
                square1SupervisorsList[i].AddAnimation(new Point(0, 32), SS, 16, 32, 200, 4);

                square2SupervisorsList[i].AddAnimation(new Point(0, 64), SS, 16, 32, 200, 4);
                square2SupervisorsList[i].AddAnimation(new Point(0, 0), SS, 16, 32, 200, 4);
                square2SupervisorsList[i].AddAnimation(new Point(0, 96), SS, 16, 32, 200, 4);
                square2SupervisorsList[i].AddAnimation(new Point(0, 32), SS, 16, 32, 200, 4);

                square1SupervisorsList[i].CannotMoveOutsideBox = true;
                square1SupervisorsList[i].SetSpriteDirectionDegrees(-90);
                square1SupervisorsList[i].PutBaseImageLocation(ConstantPosition.initialSquare1Supervisor);
                square1SupervisorsList[i].SetSize(new Size(16, 32));
                square1SupervisorsList[i].MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
                square1SupervisorsList[i].Pause();

                square2SupervisorsList[i].CannotMoveOutsideBox = true;
                square2SupervisorsList[i].SetSpriteDirectionDegrees(-90);
                square2SupervisorsList[i].PutBaseImageLocation(ConstantPosition.initialSquare1Supervisor);
                square2SupervisorsList[i].SetSize(new Size(16, 32));
                square2SupervisorsList[i].MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
                square2SupervisorsList[i].Pause();
            }

            for (int i = 0; i < ConstantGeneral.numberOfSC; i++)
            {
                sectionChefsList.Insert(i, new Sprite(new Point(0, 0), mySpriteController,
                                                      SC, 16, 32, 200, 4));
                sectionChefsList[i].SetName("Chef de section " + (i + 1).ToString());
                sectionChefsList[i].AddAnimation(new Point(0, 64), SC, 16, 32, 200, 4);
                sectionChefsList[i].AddAnimation(new Point(0, 0), SC, 16, 32, 200, 4);
                sectionChefsList[i].AddAnimation(new Point(0, 96), SC, 16, 32, 200, 4);
                sectionChefsList[i].AddAnimation(new Point(0, 32), SC, 16, 32, 200, 4);

                sectionChefsList[i].CannotMoveOutsideBox = true;
                sectionChefsList[i].SetSpriteDirectionDegrees(-90);
                sectionChefsList[i].PutBaseImageLocation(ConstantPosition.sectionChef);
                sectionChefsList[i].SetSize(new Size(16, 32));
                sectionChefsList[i].MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
                sectionChefsList[i].Pause();
            }

            // Maitre d'hôtel
            maitreHotelSprite = new Sprite(new Point(0, 0), mySpriteController, MH, 16, 32, 200, 4);
            maitreHotelSprite.SetName("Maître d'hôtel");
            maitreHotelSprite.AddAnimation(new Point(0, 64), MH, 16, 32, 200, 4);
            maitreHotelSprite.AddAnimation(new Point(0, 0), MH, 16, 32, 200, 4);
            maitreHotelSprite.AddAnimation(new Point(0, 96), MH, 16, 32, 200, 4);
            maitreHotelSprite.AddAnimation(new Point(0, 32), MH, 16, 32, 200, 4);
            maitreHotelSprite.CannotMoveOutsideBox = true;
            maitreHotelSprite.SetSpriteDirectionDegrees(180);
            maitreHotelSprite.PutBaseImageLocation(ConstantPosition.maitreHotel);
            maitreHotelSprite.SetSize(new Size(16, 32));
            maitreHotelSprite.MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
            maitreHotelSprite.Pause();

            //Chef de la cuisine
            masterChefSprite = new Sprite(new Point(0, 0), mySpriteController, MC, 16, 32, 200, 4);
            masterChefSprite.SetName("Chef de cuisine");
            masterChefSprite.AddAnimation(new Point(0, 64), MC, 16, 32, 200, 4);
            masterChefSprite.AddAnimation(new Point(0, 0), MC, 16, 32, 200, 4);
            masterChefSprite.AddAnimation(new Point(0, 96), MC, 16, 32, 200, 4);
            masterChefSprite.AddAnimation(new Point(0, 32), MC, 16, 32, 200, 4);
            masterChefSprite.CannotMoveOutsideBox = true;
            masterChefSprite.SetSpriteDirectionDegrees(-90);
            masterChefSprite.PutBaseImageLocation(ConstantPosition.masterChef);
            masterChefSprite.MoveTo(ConstantPosition.masterChef);
            masterChefSprite.SetSize(new Size(16, 32));
            masterChefSprite.MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
            masterChefSprite.Pause();

            //Plogneur
            kitchenPorterSprite = new Sprite(new Point(0, 0), mySpriteController,
                                             KP, 16, 32, 200, 1);
            kitchenPorterSprite.SetName("Plongeur");
            kitchenPorterSprite.AddAnimation(new Point(0, 64), KP, 16, 32, 200, 4);
            kitchenPorterSprite.AddAnimation(new Point(0, 0), KP, 16, 32, 200, 4);
            kitchenPorterSprite.AddAnimation(new Point(0, 96), KP, 16, 32, 200, 4);
            kitchenPorterSprite.AddAnimation(new Point(0, 32), KP, 16, 32, 200, 4);
            kitchenPorterSprite.CannotMoveOutsideBox = true;
            kitchenPorterSprite.SetSpriteDirectionDegrees(-90);
            kitchenPorterSprite.PutBaseImageLocation(ConstantPosition.kitchenPorter);
            kitchenPorterSprite.MoveTo(ConstantPosition.kitchenPorter);
            kitchenPorterSprite.SetSize(new Size(16, 32));
            kitchenPorterSprite.MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
            kitchenPorterSprite.Pause();

            // Feux
            fireSprite1 = new Sprite(ConstantPosition.fire1, mySpriteController,
                                     F1, 128, 128, 200, 64);
            fireSprite1.SetName("Feu 1");
            fireSprite1.CannotMoveOutsideBox = true;
            fireSprite1.SetSpriteDirectionDegrees(-90);
            fireSprite1.PutBaseImageLocation(ConstantPosition.fire1);
            fireSprite1.MoveTo(ConstantPosition.fire1);
            fireSprite1.SetSize(new Size(24, 24));
            fireSprite1.MovementSpeed = ConstantGeneral.globalSpeedOfSprite;

            fireSprite2 = new Sprite(ConstantPosition.fire2, mySpriteController,
                                     F2, 128, 128, 200, 64);
            fireSprite2.SetName("Feu 2");
            fireSprite2.CannotMoveOutsideBox = true;
            fireSprite2.SetSpriteDirectionDegrees(-90);
            fireSprite2.PutBaseImageLocation(ConstantPosition.fire2);
            fireSprite2.MoveTo(ConstantPosition.fire2);
            fireSprite2.SetSize(new Size(24, 24));
            fireSprite2.MovementSpeed = ConstantGeneral.globalSpeedOfSprite;
        }
Пример #34
0
        private Entity BuildEntity(EntityDescriptor entityDescriptor)
        {
            var entity = new Entity(entityDescriptor.EntityName);

            if (entityDescriptor.ShooterDescriptor.Active)
            {
                entity.addComponent(new BulletControllerComponent()
                {
                    BulletCooldown = TimeSpan.FromSeconds(entityDescriptor.ShooterDescriptor.BulletCooldownInSeconds),
                    Direction      = entityDescriptor.ShooterDescriptor.Direction,
                    Offset         = entityDescriptor.ShooterDescriptor.Offset,
                    Speed          = entityDescriptor.ShooterDescriptor.Speed
                });

                entity.addComponent(new ShooterComponent());
            }

            if (entityDescriptor.HiddenLifeDescriptor.Active)
            {
                entity.addComponent(new HiddenLifeComponent()
                {
                    Lifes = entityDescriptor.HiddenLifeDescriptor.ExtraLifes
                });
                entity.addComponent(new CollisionCheckComponent());
            }

            if (entityDescriptor.DoorDescriptor.Active)
            {
                entity.addComponent(new DoorComponent()
                {
                    TargetEntityName = entityDescriptor.DoorDescriptor.TargetEntityName
                });
            }

            if (entityDescriptor.PeriodicVisibilityToggleDescriptor.Active)
            {
                entity.addComponent(new PeriodicVisibilityToggleComponent()
                {
                    SoundEffectName = entityDescriptor.PeriodicVisibilityToggleDescriptor.SoundEffectName,
                    TimeInvisible   = entityDescriptor.PeriodicVisibilityToggleDescriptor.TimeInvisible
                });
            }

            if (entityDescriptor.AnimationDescriptor.Active)
            {
                var texture     = contentManager.Load <Texture2D>(entityDescriptor.TextureName);
                var subtextures = Subtexture.subtexturesFromAtlas(texture, entityDescriptor.AnimationDescriptor.SubtextureWidth, entityDescriptor.AnimationDescriptor.SubtextureHeight);

                var animatedSprite = new Sprite <int>(subtextures[0]);
                animatedSprite.SetRenderLayer(200);

                foreach (var animationFrameSet in entityDescriptor.AnimationDescriptor.AnimationFrameSets)
                {
                    var animationFrames = new List <Subtexture>();

                    foreach (var frameIndex in animationFrameSet.Frames)
                    {
                        animationFrames.Add(subtextures.ElementAt(frameIndex));
                    }

                    var animation = new SpriteAnimation(animationFrames)
                    {
                        fps  = entityDescriptor.AnimationDescriptor.AnimationFramesPerSecond,
                        loop = false
                    };

                    animation.setOrigin(new Vector2(0, 0));

                    if (entityDescriptor.AnimationLoopDescriptor.Active && entityDescriptor.AnimationLoopDescriptor.Key == animationFrameSet.Key)
                    {
                        animation.loop = true;
                    }

                    animatedSprite.AddAnimation(animationFrameSet.Key, animation);
                }

                if (entityDescriptor.IsCollidable)
                {
                    entity.addComponent(new BitPixelFieldComponent(new AnimatedSpriteWrapperFactory().Create(animatedSprite)));
                }

                if (entityDescriptor.AnimationLoopDescriptor.Active)
                {
                    animatedSprite.Play(entityDescriptor.AnimationLoopDescriptor.Key);
                }

                entity.addComponent(animatedSprite);
            }
            else if (!string.IsNullOrEmpty(entityDescriptor.TextureName))
            {
                var sprite = new Sprite(contentManager.Load <Texture2D>(entityDescriptor.TextureName));
                sprite.SetRenderLayer(200);
                sprite.SetOrigin(new Vector2(0, 0));

                if (entityDescriptor.IsCollidable)
                {
                    entity.addComponent(new BitPixelFieldComponent(new AnimatedSpriteWrapperFactory().Create(sprite)));
                }

                entity.addComponent(sprite);
            }

            if (entityDescriptor.MovementDescriptor.Active)
            {
                entity.addComponent(new ScriptedMovementComponent()
                {
                    SpeedInPixelsPerSecond = entityDescriptor.MovementDescriptor.Speed,
                    Paths = entityDescriptor.MovementDescriptor.Positions
                });
            }

            entity.transform.setPosition(entityDescriptor.Position);

            return(entity);
        }
Пример #35
0
    void InitSM()
    {
        S = LSM.AddSprite(this.gameObject, 5, 5, LSM.PixelCoordToUVCoord(0, 0), LSM.PixelSpaceToUVSpace(512, 512), -transform.forward * .4f, false);
        anim_run = new UVAnimation();
        anim_run.SetAnim(
            new Vector2[]{
                LSM.PixelCoordToUVCoord(3072, 0),
                LSM.PixelCoordToUVCoord(3072+512, 0),
                LSM.PixelCoordToUVCoord(0, 512),
                LSM.PixelCoordToUVCoord(512, 512),
                LSM.PixelCoordToUVCoord(1024, 512),
                LSM.PixelCoordToUVCoord(1024+512, 512),
                LSM.PixelCoordToUVCoord(2048, 512),
                LSM.PixelCoordToUVCoord(2048+512, 512)
            });
        //anim_run.BuildUVAnim(LSM.PixelCoordToUVCoord(3072, 512), LSM.PixelSpaceToUVSpace(512, 512), 16, 2, 16, 2f);
        anim_run.loopCycles = -1;
        //anim_run.PlayInReverse();
        anim_run.name = "Run";
        S.AddAnimation(anim_run);

        anim_idle = new UVAnimation();
        anim_idle.BuildUVAnim(LSM.PixelCoordToUVCoord(0, 512), LSM.PixelCoordToUVCoord(512, 512), 8, 2, 1, 12f);
        anim_idle.loopCycles = -1;
        S.AddAnimation(anim_idle);
        anim_idle.name = "Idle";

        anim_runstart = new UVAnimation();
        anim_runstart.BuildUVAnim(LSM.PixelCoordToUVCoord(0, 512), LSM.PixelCoordToUVCoord(512, 512), 8, 2, 1, 12f);
        anim_runstart.loopCycles = -1;
        S.AddAnimation(anim_runstart);
        anim_runstart.name = "RunStart";

        anim_current = "Run";
        S.PlayAnim(anim_run);
        LSM.ScheduleBoundsUpdate(0.5f);
    }
    public override void Start()
    {
        base.Start();

        sprite = spriteManager.AddSprite(gameObject, width, height, 0, 127, 128, 128, false);

        // Create and setup anims
        UVAnimation anim = new UVAnimation();
        var firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 127));
        var cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 14, 15);
        anim.name = "Idle";
        anim.loopCycles = -1;

        sprite.AddAnimation(anim);

        anim = new UVAnimation();
        firstFrame = spriteManager.PixelCoordToUVCoord(new Vector2(0, 383));
        cellSize = spriteManager.PixelSpaceToUVSpace(new Vector2(128, 128));
        anim.BuildUVAnim(firstFrame, cellSize, 8, 8, 16, 15);
        anim.name = "Die";
        anim.loopCycles = 0;

        sprite.AddAnimation(anim);

        sprite.PlayAnim("Idle");

        dolphin = GameObject.Find("DolphinSprite");
        Util.Assert(dolphin != null);
    }
Пример #37
0
        public Vetbol(PlayerIndex playerIndex)
        {
            this.Collidable   = true;
            index             = playerIndex;
            this.IsFlickering = true;
            this.flickerTime  = flickeringTime;
            this.ColorTimer   = changeColorTime;
            Position          = new Vector2(100, 100);

            this.captureParticles = new ParticleEngine(Controller.Content.Load <ParticleEffect>("captureParticle"));
            this.AddChild(this.captureParticles);

            this.dirtyParticles = new ParticleEngine(Controller.Content.Load <ParticleEffect>("dirtyParticle"));
            this.AddChild(this.dirtyParticles);

            this.deadParticles = new ParticleEngine(Controller.Content.Load <ParticleEffect>("deadParticles"));
            state.AddChild(this.deadParticles);

            image.LoadTexture(Controller.Content.Load <Texture2D>("images/slimeblobOther"), 48, 48);
            image.AddAnimation("IDLE", new int[1] {
                0
            }, 0);
            image.AddAnimation("CRAWLING", new int[2] {
                1, 2
            }, 0.5f);
            image.AddAnimation("JUMP", new int[1] {
                3
            }, 0);
            image.AddAnimation("ONWALL", new int[1] {
                4
            }, 0);
            image.AddAnimation("CAPTURING", new int[1] {
                5
            }, 0);
            image.AddAnimation("STUNNED", new int[3] {
                6, 7, 8
            }, 0.1f);

            image.Position = new Vector2(24, 14);
            if (index == PlayerIndex.One)
            {
                image.Color = Color.Yellow;//yellow
            }
            else if (index == PlayerIndex.Two)
            {
                image.Color = Color.CornflowerBlue;
            }
            else if (index == PlayerIndex.Three)
            {
                image.Color = Color.Lime;
            }
            else if (index == PlayerIndex.Four)
            {
                image.Color = Color.HotPink;
            }
            Width        = 32;
            Height       = 32;
            image.Origin = new Vector2(24, 24);
            AddChild(image);

            soundEffectWalk = Controller.Content.Load <SoundEffect>("sounds/walking");
            soundEffectLand = Controller.Content.Load <SoundEffect>("sounds/landing");
            soundEffectJump = Controller.Content.Load <SoundEffect>("sounds/jump");

            this.AddCollisionGroup("player");

            ParticleEffect effect = Controller.Content.Load <ParticleEffect>("spawnParticle");

            effect.EmitterData[0].ReleaseColor = this.image.Color;
            this.spawnParticle = new ParticleEngine(effect);
            state.AddChild(this.spawnParticle);

            /*Sprite bb = new Sprite();
             * bb = Sprite.CreateRectangle(new Vector2(Width, Height), Color.Aqua);
             * bb.Alpha = 0.5f;
             * AddChild(bb);*/
        }
Пример #38
0
        private void button1_Click(object sender, EventArgs e)
        {
            Test.Play();
            int BattleType = random.Next(1, 3);
            int Choice     = random.Next(1, 4);

            Console.WriteLine(Choice);
            if (Choice == 1)
            {
                MaxHP     = MainPlayer.EntityStats.charHP;
                EnemyType = false;
                TurnStartButton.Visible = true;
                SkillButton.Visible     = true;
                if (BattleType == 1)
                {
                    EnemyBandit = new Bandit();
                    EnemyBandit.GenerateName();
                    GameOuputLabel.Text = "You have encountered the bandit " + EnemyBandit.EntityName;
                    EnemyBandit.GenerateSkills();
                    EnemyBandit.GenerateStats();
                    EnemyBandit.GenerateArmor();
                    EnemyBandit.GenerateWeapon();
                    EnemyBandit.EntityLevel = MainPlayer.EntityLevel;
                    if (EnemyBandit.EntityStats.charDex == MainPlayer.EntityStats.charDex)
                    {
                        EnemyBandit.EntityStats.charDex += -1;
                    }
                    Image oImage = Properties.Resources.BanditIdle;
                    EnemySprite = new Sprite(new Point(0, 0), MySpriteController, oImage, 75, 70, 300, 4);
                    EnemySprite.AddAnimation(new Point(0, 0), Properties.Resources.BanditAttack, 161, 116, 300, 9);
                    EnemySprite.AddAnimation(Properties.Resources.BanditDead);
                    EnemySprite.SpriteAnimationComplete += AttackComplete;
                    EnemySprite.SetName("Bandit");
                    EnemySprite.PutBaseImageLocation(new Point(575, 217));
                    EnemySprite.SetSize(new Size(200, 250));
                }
                if (BattleType == 2)
                {
                    EnemyType  = true;
                    EnemySlime = new Slime();
                    EnemySlime.GenerateName();
                    GameOuputLabel.Text = "You have encountered the slime " + EnemySlime.EntityName;
                    EnemySlime.GenerateSkills();
                    EnemySlime.GenerateStats();
                    EnemySlime.GenerateArmor();
                    EnemySlime.GenerateWeapon();
                    EnemySlime.EntityLevel = MainPlayer.EntityLevel;
                    if (EnemySlime.EntityStats.charDex == MainPlayer.EntityStats.charDex)
                    {
                        EnemySlime.EntityStats.charDex += -1;
                    }
                    Image oImage = Properties.Resources.SlimeIdle;
                    EnemySprite = new Sprite(new Point(0, 0), MySpriteController, oImage, 74, 51, 300, 4);
                    EnemySprite.AddAnimation(new Point(0, 0), Properties.Resources.SlimeAttack, 148, 82, 300, 16);
                    EnemySprite.AddAnimation(new Point(0, 0), Properties.Resources.SlimeMagic, 80, 59, 300, 4);
                    EnemySprite.AddAnimation(Properties.Resources.SlimeDead);
                    EnemySprite.SpriteAnimationComplete += AttackComplete;
                    EnemySprite.SetName("Slime");
                    EnemySprite.PutBaseImageLocation(new Point(575, 217));
                    EnemySprite.SetSize(new Size(200, 250));
                }
            }
            if (Choice == 2)
            {
                EventMerchant = new Merchant();
                EventMerchant.GenerateSaleList();
                EventMerchant.NamePimper();
                GameOuputLabel.Text = "You have encountered a merchant! Here is what they have for sale!";
                MerchantInventory Shops = new MerchantInventory(EventMerchant.WeaponInventory, EventMerchant.ArmorInventory, MainPlayer);

                Shops.ShowDialog();
                if (Shops.TruePurchasedWeapon != null)
                {
                    MainPlayer.WeaponInventory.Add(Shops.TruePurchasedWeapon);
                }
                if (Shops.TruePurchasedArmor != null)
                {
                    MainPlayer.ArmorInventory.Add(Shops.TruePurchasedArmor);
                }
                if (Shops.ErrorMessage != null)
                {
                    GameOuputLabel.Text = Shops.ErrorMessage;
                }
                MainPlayer.PlayerGold = Shops.MainPlayer.PlayerGold;
                RefreshAllLabels();
            }

            if (Choice == 3)
            {
                GameOuputLabel.Text = "You wandered for hours and found nothing!";
            }
        }