コード例 #1
0
ファイル: Player.cs プロジェクト: ElliotSeger/Caro-s-Quest
 public Player()
 {
     texture   = TextureLibrary.GetTexture("Player");
     speed     = 600;
     rectangle = texture.Bounds;
     inventory = new Inventory();
 }
コード例 #2
0
        public MapBorder()
        {
            m_actionManager = new SingleActionManager();

            m_sprite             = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("score_background"), m_transform);
            m_transform.Position = new Vector2(168, 72);

            pixelPlayer                 = new Sprite(Program.TheGame, TextureLibrary.PixelSpriteSheet, new Transform(m_transform, true));
            pixelPlayer.Colour          = new Vector4((float)255 / (float)255, (float)251 / (float)255, (float)240 / (float)255, 1);
            pixelPlayer.Transform.PosX  = -4;
            pixelPlayer.Transform.Scale = new Vector2(2, 2);

            pixelTotem                 = new Sprite(Program.TheGame, TextureLibrary.PixelSpriteSheet, new Transform(m_transform, true));
            pixelTotem.Colour          = new Vector4((float)255 / (float)255, (float)251 / (float)255, (float)240 / (float)255, 1);
            pixelTotem.Origin          = new Vector2(0.5f, 1);
            pixelTotem.Transform.PosY  = m_mapFloor;
            pixelTotem.Transform.Scale = new Vector2(2, m_mapCeiling);

            m_slideToScreen = new MoveToStaticAction(Program.TheGame, m_transform, positionOnScreen, 1);
            m_slideToScreen.Interpolator   = new PSmoothstepInterpolation();
            m_slideToScreen.Timer.Interval = durationSlide;

            m_slideOutOfScreen = new MoveToStaticAction(Program.TheGame, m_transform, positionOutOfScreen, 1);
            m_slideOutOfScreen.Interpolator   = new PSmoothstepInterpolation();
            m_slideOutOfScreen.StartPosition  = positionOnScreen;
            m_slideOutOfScreen.Timer.Interval = durationSlide;
        }
コード例 #3
0
 public PowerUp(int index, bool isToLeft)
 {
     indexTotemToPlacePowerUp = index;
     m_sprite      = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("power_up"), m_transform);
     isPickedUp    = false;
     this.isToLeft = isToLeft;
 }
コード例 #4
0
ファイル: Soul.cs プロジェクト: TastyWithPasta/GameboyJam2013
        // TODO NOTE
        // Si besoin de créer des particules, il faut un générateur de particules ( ParticleGenerator<ClasseDeParticle> )

        /*
         * "J'ai un système de particules statique deans Game1, Il te faut un générateur de particules pour créer des particules"
         */

        public Soul(Vector2 initialPosition, Player player)
        {
            //m_transform.ParentTransform = player.Transform;
            m_playerInstance = player;
            m_sprite         = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("soul"), m_transform);
            Vector2 explodePosition;

            if (player.IsToLeft)
            {
                explodePosition.X = player.Transform.PosX + Program.Random.Next(-72, -20);
            }
            else
            {
                explodePosition.X = player.Transform.PosX + Program.Random.Next(20, 73);
            }
            explodePosition.Y = Program.Random.Next((int)player.Transform.PosY + 50, (int)(player.Transform.PosY + 50 + ExplosionBreadth * m_playerInstance.SpeedMultiplier));

            MoveToStaticAction moveToExplosionPoint = new MoveToStaticAction(Program.TheGame, m_transform, explodePosition, 1);

            moveToExplosionPoint.StartPosition  = initialPosition;
            moveToExplosionPoint.Timer.Interval = BaseExplosionDuration / player.SpeedMultiplier;
            moveToExplosionPoint.Interpolator   = new PSmoothstepInterpolation();
            m_moveToPlayer = new MoveToStaticAction(Program.TheGame, m_transform, explodePosition, 1);
            m_moveToPlayer.StartPosition  = explodePosition;
            m_moveToPlayer.Interpolator   = new PSquareInterpolation(1);
            m_moveToPlayer.Timer.Interval = MoveToPlayerTime;


            m_animation = new Sequence(1);
            m_animation.AddAction(moveToExplosionPoint);
            m_animation.AddAction(new DelayAction(Program.TheGame, (float)(Program.Random.NextDouble() * 0.5f + 0.1f) / m_playerInstance.SpeedMultiplier));
            m_animation.AddAction(m_moveToPlayer);
            m_animation.Start();
        }
コード例 #5
0
        public override void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Draw(TextureLibrary.GetTexture(textureId), new Rectangle(0, 0, 800, 480), Color.White);

            if (isFading)
            {
                if (textFade - fadeSpeed <= 0)
                {
                    textFade = 0;
                    isFading = false;
                }
                else
                {
                    textFade -= fadeSpeed;
                }
            }
            else
            {
                if (textFade + fadeSpeed >= 255)
                {
                    textFade = 255;
                    isFading = true;
                }
                else
                {
                    textFade += fadeSpeed;
                }
            }

            spriteBatch.DrawString(TextureLibrary.GetFont(FONT_ID.TAPTOGO), "Tap to continue.", tapToGoPosition, new Color(0, 0, 0, (byte)textFade));
        }
コード例 #6
0
        public MenuScreen()
        {
            isActive          = false;
            isHidden          = true;
            canLauchChallenge = false;

            menuSound = SoundEffectLibrary.Get("cursor").CreateInstance();

            m_sprite = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("menu_start_bg"), m_transform);
            m_sprite.Transform.Position = outPos;
            arrow = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("arrow"), new Transform(m_transform, true));

            moveTo = new MoveToStaticAction(Program.TheGame, m_transform, inPos, 1);
            moveTo.StartPosition  = new Vector2(80, 200);
            moveTo.Interpolator   = new PSmoothstepInterpolation();
            moveTo.Timer.Interval = 0.5f;

            moveOut = new MoveToStaticAction(Program.TheGame, m_transform, outPos, 1);
            moveOut.StartPosition  = inPos;
            moveOut.Interpolator   = new PSmoothstepInterpolation();
            moveOut.Timer.Interval = 0.5f;

            choice          = MenuState.START;
            challengeChoice = ChallengeState.CHALL_1;
        }
コード例 #7
0
        /// <summary>
        /// Constructs a TextureManagerWindow used to edit an already existing library
        /// </summary>
        /// <param name="mapPath">The current map project path</param>
        /// <param name="library">The library to edit</param>
        public TextureManagerWindow(string mapPath, TextureLibrary library)
        {
            _mapPath       = mapPath;
            TextureLibrary = library;
            Textures       = library.Textures;

            InitializeComponent();

            TextureLibName.Focus();

            CreateBtn.Content = "Save";

            // Disable the folder browse
            FileBrowseBtn.IsEnabled = false;

            // Bind to the texture list box and enable the create button
            TextureListBox.ItemsSource = Textures;

            TextureLibName.Text = TextureLibrary.Name;

            CreateLibraryPanel.Visibility = Visibility.Collapsed;
            AddTexturePanel.Visibility    = Visibility.Visible;

            _isEdit = true;
        }
コード例 #8
0
        public void OnHit()
        {
            Transform transform    = new Transform(m_transform, true);
            Sprite    impactSprite = new Sprite(Globals.TheGame, TextureLibrary.GetSpriteSheet("shuriken_impact"), transform);

            transform.Position  = m_shurikenBounds.GetRandomPoint(Globals.Random) - m_transform.PositionGlobal;
            transform.Direction = m_helper.GetAngle(m_shurikenBounds.Transform, transform);
            //transform.Direction += Globals.Random.NextDouble() - 0.5;

            Transform impactEffectTransform = new Transform(transform);

            impactEffectTransform.ScaleUniform = 6;
            impactEffectTransform.Direction   += 0.5f;
            m_hitParticles.AddParticle(new ImpactEffect(impactEffectTransform, ImpactTexture, 0.15f));

            double distance = m_helper.GetDistance(m_shurikenBounds.Transform.PositionGlobal, transform.PositionGlobal);

            transform.SclX = (float)(distance / m_shurikenBounds.Radius) + 0.2f;
            transform.SclY = 1 + (float)(Globals.Random.NextDouble() * 0.5);

            if (currentIndex == m_impacts.Length)
            {
                currentIndex = 0;
            }
            m_impacts[currentIndex] = impactSprite;
            currentIndex++;
        }
コード例 #9
0
        public override void Update()
        {
            if (activeTimer)
            {
                timer = (float)Program.TheGame.ElapsedTime;

                //timer += (float)gameTime.ElapsedGameTime.TotalMilliseconds;
                timeCounter -= timer;

                if (timeCounter < 1.0f)
                {
                    m_sprite = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("counter_2"), m_transform);
                }

                if (timeCounter < 0.5f)
                {
                    m_sprite = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("counter_1"), m_transform);
                }

                if (timeCounter < 0)
                {
                    activeTimer = false;
                    m_sprite.Transform.Scale = new Vector2(0);
                    countdownHasFinished     = true;
                    Game1.scoreBorder.Slide(true);
                    Game1.mapBorder.Slide(true);

                    OnFinish();
                }
            }
        }
コード例 #10
0
        public void SetCounter(int combo, bool triggerAnimation)
        {
            if (combo == 0)
            {
                m_transform.SclX = 0;
                return;
            }

            if (combo > Game1.scoreBorder.ScoreMultiplierMax)
            {
                combo = Game1.scoreBorder.ScoreMultiplierMax;
            }

            string comboIndex = "multiplier_x" + player.ComboCount.ToString();

            // TODO Limiter le counter par rapport au sprite
            //
            if (combo > Game1.scoreBorder.ScoreMultiplierMax)
            {
                m_sprite.SpriteSheet = TextureLibrary.GetSpriteSheet("multiplier_x" + Game1.scoreBorder.ScoreMultiplierMax);
            }
            else
            {
                m_sprite.SpriteSheet = TextureLibrary.GetSpriteSheet(comboIndex);
            }

            if (triggerAnimation)
            {
                m_bump.StartScale = new Vector2(2.1f, 2.1f);
                m_bump.Restart();
            }
        }
コード例 #11
0
 public PauseScreen()
 {
     isGamePaused = false;
     m_sprite     = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("pause"), m_transform);
     m_sprite.Transform.Position = new Vector2(80, 72);
     m_sprite.Transform.Scale    = new Vector2(0);
 }
コード例 #12
0
 public static void InitialiseIndexes()
 {
     particleTextures[0] = TextureLibrary.GetSpriteSheet("totem_particle_1");
     particleTextures[1] = TextureLibrary.GetSpriteSheet("totem_particle_2");
     particleTextures[2] = TextureLibrary.GetSpriteSheet("totem_particle_3");
     particleTextures[3] = TextureLibrary.GetSpriteSheet("totem_particle_4");
 }
コード例 #13
0
 public Bg_Cloud_Long(int depth)
     : base(TextureLibrary.GetSpriteSheet("bg_cloudlong"), depth)
 {
     //_placementOffset = new Vector2(100, 24);
     m_sprite.Alpha    = 0.2f;
     m_placementJitter = new Vector2(600, 100);
     Transform.Scale   = new Vector2(2.0f, 2.0f);
 }
コード例 #14
0
 public Prop(string textureName)
     : base()
 {
     m_sprite = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet(textureName), new Transform(m_transform, true));
     m_sprite.Transform.Direction = Math.PI * 10;
     Physics          = new PhysicsComponent(Program.TheGame, m_sprite.Transform);
     Physics.OnBounce = delegate() { IsVisible = false; };
 }
コード例 #15
0
 public void resetCountdown()
 {
     timer                = 0;
     timeCounter          = TimerMaxValue;
     activeTimer          = false;
     countdownHasFinished = false;
     m_sprite             = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("counter_3"), m_transform);
 }
コード例 #16
0
ファイル: Game1.cs プロジェクト: ElliotSeger/Caro-s-Quest
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here
            TextureLibrary.LoadTextures(Content);
        }
コード例 #17
0
 public Missile(Vector2 aDirection, Vector2 aPosition, float aDamage, float aSpeed, GameObject aShooter) :
     base(TextureLibrary.GetTexture("Missile"), new Rectangle(aPosition.ToPoint(), new Point(100, 100)))
 {
     myDirection = aDirection;
     myDamage    = aDamage;
     myShooter   = aShooter;
     mySpeed     = aSpeed;
     myTarget    = (BaseEnemy)Game1.myObjects.Where(x => x is BaseEnemy).FirstOrDefault();
 }
コード例 #18
0
ファイル: Bullet.cs プロジェクト: ElliotSeger/PRR02_shootemup
 public Bullet(Vector2 aDirection, Vector2 aPosition, float aDamage, float aSpeed, GameObject aShooter) :
     base(TextureLibrary.GetTexture("Bullet"), new Rectangle(aPosition.ToPoint(), new Point(25, 25)))
 {
     myDirection = aDirection;
     myDamage    = aDamage;
     myShooter   = aShooter;
     mySpeed     = aSpeed;
     mySound     = SoundLibrary.GetSound("Shoot");
 }
コード例 #19
0
 public Countdown()
 {
     timer                       = 0;
     activeTimer                 = false;
     countdownHasFinished        = false;
     m_sprite                    = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("counter_3"), m_transform);
     m_sprite.Transform.Position = new Vector2(Game1.GameboyWidth / 2, Game1.GameboyHeight / 2);
     m_sprite.Transform.Scale    = new Vector2();
 }
コード例 #20
0
 public void ShowMenu()
 {
     choice = MenuState.START;
     actionManager.StartNew(moveTo);
     isActive = true;
     isHidden = false;
     m_transform.ScaleUniform = 1.0f;
     m_sprite.SpriteSheet     = TextureLibrary.GetSpriteSheet("menu_start_bg");
     m_transform.Position     = outPos;
 }
コード例 #21
0
        public Individual(Crowd crowd, Vector2 positionInCrowd) : base()
        {
            m_transform.Position        = positionInCrowd;
            m_transform.ParentTransform = crowd.Transform;

            m_spriteTransform = new Transform();
            m_jumpTransform   = new PastaGameLibrary.Transform(m_spriteTransform, true);
            m_sprite          = new PastaGameLibrary.Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("perso_foule"), m_jumpTransform);
            m_sprite.Origin   = new Vector2(0.5f, 1.0f);

            m_saut = new Sequence(-1);

            ///
            ///Jump animation
            ///
            Vector2            jumpTarget   = new Vector2(0, (float)(Program.Random.NextDouble() * JumpHeight * 0.5 + JumpHeight * 0.5));
            float              movementTime = (float)(Program.Random.NextDouble() * 0.5 * JumpMovementTime + JumpMovementTime * 0.5);
            MoveToStaticAction jumpMovement = new MoveToStaticAction(Program.TheGame, m_jumpTransform, jumpTarget, 1);

            jumpMovement.Timer.Interval = movementTime;
            jumpMovement.Interpolator   = new PBounceInterpolation(0);
            m_saut.AddAction(jumpMovement);
            m_saut.AddAction(new DelayAction(Program.TheGame, TotalJumpTime - movementTime));

            ///
            ///Walk animation
            ///
            m_walk = new MoveToStaticAction(Program.TheGame, m_jumpTransform, new Vector2(0, 1), -1);
            m_walk.Timer.Interval = (float)Program.Random.NextDouble() * WalkAnimationTime * 0.5f + WalkAnimationTime * 0.5f;
            m_walk.Interpolator   = new BooleanInterpolation();

            ///
            ///Throw player animation
            ///
            m_throw = new Sequence(1);
            float intensity = 1 - Math.Min(1, m_transform.Position.Length() * 0.02f);

            m_throwStretch = new ScaleToAction(Program.TheGame, m_jumpTransform, new Vector2(1.0f, 1 - intensity * 0.5f), 1);
            m_throwStretch.Interpolator = new PSmoothstepInterpolation();
            ScaleToAction throwDestretch = new ScaleToAction(Program.TheGame, m_jumpTransform, new Vector2(1.0f, 1.0f), 1);

            throwDestretch.Timer.Interval = 0.1f;

            m_throw.AddAction(m_throwStretch);

            MoveToStaticAction throwMovement = new MoveToStaticAction(Program.TheGame, m_jumpTransform, Vector2.Zero, 1);

            throwMovement.StartPosition  = new Vector2(0, -20 - 30 * intensity);
            throwMovement.Timer.Interval = 0.4f;
            throwMovement.Interpolator   = new PBounceInterpolation(0, 1);
            m_throw.AddAction(new Concurrent(new PastaGameLibrary.Action[] { throwMovement, throwDestretch }));

            m_actionManager = new SingleActionManager();
        }
コード例 #22
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public RenderHost(IRenderHostSetup renderHostSetup) :
     base(renderHostSetup)
 {
     GraphicsHost = Graphics.FromHwnd(HostHandle);
     GraphicsHostDeviceContext = GraphicsHost.GetHdc();
     CreateSurface(HostInput.Size);
     CreateBuffers(BufferSize);
     TextureLibrary = new TextureLibrary();
     ShaderLibrary  = new ShaderLibrary(this);
     FontConsolas12 = new Font("Consolas", 12);
 }
コード例 #23
0
 public void Initialize()
 {
     Fonts = new FontLibrary(gs);
     //LevelMaps = new LevelMapLibrary(gs);
     LevelScripts = new LevelScriptLibrary(gs);
     Songs        = new SongLibrary(gs);
     SoundEffects = new SoundEffectLibrary(gs);
     Textures     = new TextureLibrary(gs);
     Sprites      = new SpriteLibrary(gs);
     Stories      = new StoryLibrary(gs);
 }
コード例 #24
0
        public Shuriken() : base()
        {
            m_attack          = new AttackComponent(1.0f, 0.1f);
            m_sprite          = new Sprite(Globals.TheGame, TextureLibrary.GetSpriteSheet("atk_shuriken", 1, 5), m_transform);
            m_sprite.Origin   = new Vector2(0.5f, 0.0f);
            m_transform.Scale = new Vector2(3.0f, 3.0f);
            m_animation       = new SpriteSheetAnimation(m_sprite, 0, 4, 0.1f, 1);
            m_pointCollider   = new PointCollider(m_attack, Transform);

            World.UL_Global.Add(this, 0);
            World.DL_Foreground.Add(this, 0);
        }
コード例 #25
0
ファイル: PlayerObject.cs プロジェクト: mart90/AoeBoardgame
        protected PlayerObject(TextureLibrary textureLibrary, Player owner)
        {
            TextureLibrary = textureLibrary;
            Texture        = TextureLibrary.GetObjectTextureByType(GetType());
            Owner          = owner;

            ColorTexture = new TileColorTexture
            {
                Texture   = textureLibrary.GetTileColorByType(Owner.Color),
                TileColor = Owner.Color
            };
        }
コード例 #26
0
        public static void Initialise(InsoGame insoGame)
        {
            theGame = insoGame;



            Backgrounds = new BackgroundObjectLibrary();
            TextureLibrary.Initialise(theGame.GraphicsDevice);
            debugFont = insoGame.Content.Load <SpriteFont>("Spritefonts/debug");

            EarthTile.GroundSectionTextures = new SpriteSheet[]
            {
                TextureLibrary.GetSpriteSheet("section"),
            };

            ShurikenReceiver.ImpactTexture = TextureLibrary.GetSpriteSheet("shuriken_impacteffect", 1, 4);

            //Destructible.MiniFireTexture = TextureLibrary.GetSpriteSheet("minifire", 1, 4);

            //FireworkSpark.SparkTexture = InsoGame.Pixel;
            //FireworkBlast.ParticleTextures = new SpriteSheet[] {
            //    TextureLibrary.GetSpriteSheet("firework_blastp"),
            //    TextureLibrary.GetSpriteSheet("firework_blastp_2"),
            //    TextureLibrary.GetSpriteSheet("firework_blastp_3"),
            //    TextureLibrary.GetSpriteSheet("firework_blastp_4"),
            //    TextureLibrary.GetSpriteSheet("firework_blastp_5"),
            //};
            //FireworkBlastParticle.BackgroundTexture = TextureLibrary.GetSpriteSheet("firework_blastp_b");
            //FireworkBlast.HaloTexture = TextureLibrary.GetSpriteSheet("firework_halo");
            //PointDigit.IndicatorTexture = TextureLibrary.GetSpriteSheet("counter_vertical");
            //House.GroundTexture = TextureLibrary.GetSpriteSheet("section_1");
            //Tpl_Enemy.DefaultThumbnail = TextureLibrary.GetSpriteSheet("thb_default");
            //BurnSmoke.SmokeTexture = TextureLibrary.GetSpriteSheet("smoke1");
            //Confetti.ConfettiTexture = TextureLibrary.GetSpriteSheet("confetti", 1, 4);
            Coin.CoinTextures = new SpriteSheet[]
            {
                TextureLibrary.GetSpriteSheet("coin_copper", 1, 6),
                TextureLibrary.GetSpriteSheet("coin_silver", 1, 6),
                TextureLibrary.GetSpriteSheet("coin_gold", 1, 6),
            };
            //StackCoin.StackCoinTextures = new Texture2D[]
            //{
            //    TextureLibrary.GetSpriteSheet("coin_copper_pile"),
            //    TextureLibrary.GetSpriteSheet("coin_silver_pile"),
            //    TextureLibrary.GetSpriteSheet("coin_gold_pile"),
            //};
            //Ts_BaseZombie.ZombieTombStoneTextures = new Texture2D[]
            //{
            //    TextureLibrary.GetSpriteSheet("ts_bz_1"),
            //    TextureLibrary.GetSpriteSheet("ts_bz_2"),
            //};
        }
コード例 #27
0
 public Title()
     : base()
 {
     m_sprite    = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("titre_anime", 4, 1), m_transform);
     m_animation = new SpriteSheetAnimation(m_sprite, 0, 3, 1.0f, -1);
     m_animation.Start();
     m_physics             = new PhysicsComponent(Program.TheGame, m_transform);
     m_physics.GroundLevel = (int)TitleY;
     m_physics.Mass        = 4;
     m_moveTo = new MoveToStaticAction(Program.TheGame, m_transform, new Vector2(TitleX, -100), 1);
     m_moveTo.Interpolator   = new PSmoothstepInterpolation();
     m_moveTo.Timer.Interval = 0.4f;
     m_transform.Position    = new Vector2(TitleX, -100);
 }
コード例 #28
0
        public static void Initialise()
        {
            s_transform    = new Transform();
            Backpackers[0] = new Backpacker(TextureLibrary.GetSpriteSheet("backpacker_0", 1, 8), 0);
            Backpackers[1] = new Backpacker(TextureLibrary.GetSpriteSheet("backpacker_1", 1, 8), 1);
            Backpackers[2] = new Backpacker(TextureLibrary.GetSpriteSheet("backpacker_2", 1, 8), 2);

            for (int i = 0; i < Backpackers.Length; ++i)
            {
                World.DL_Backpackers.Add(Backpackers[i], 0);
                World.UL_Global.Add(Backpackers[i], 0);
            }

            InitialiseMovingOutAnimation();
        }
コード例 #29
0
        public ComboCounter(Player player)
        {
            m_sprite = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("multiplier_x1"), m_transform);
            m_sprite.Transform.Position = new Vector2(Game1.GameboyWidth / 2, Game1.GameboyHeight / 2 + 20);
            m_sprite.Transform.Scale    = new Vector2(0);

            m_bump = new ScaleToAction(Program.TheGame, m_transform, new Vector2(2.3f, 2.3f), 1);
            m_bump.Interpolator   = new PBounceInterpolation(0);
            m_bump.Timer.Interval = 0.2f;


            this.player              = player;
            initialWidth             = 37;
            m_sprite.SourceRectangle = new Rectangle(0, 0, 0, (int)m_sprite.Height);
            m_sprite.Origin          = new Vector2(0f, 0.5f);
        }
コード例 #30
0
        private void DrawUpgradeStuff(SpriteBatch batch)
        {
            var font = TextureLibrary.GetFont(FONT_ID.HUDINFO);
            int cA, cR, cD, cC, nA, nR, nD;

            this.towers[selectedTile].GetLevelInfo(out cA, out cR, out cD, out cC, out nA, out nR, out nD);

            batch.DrawString(font, "Cost:  ", new Vector2(5, 120), Color.DarkGreen);
            batch.DrawString(font, (cC != -1 ? cC.ToString() : "None"), new Vector2(5, 140), Color.Red);
            batch.DrawString(font, "Attack: ", new Vector2(5, 160), Color.DarkGreen);
            batch.DrawString(font, cA + " ->" + (cC != -1 ? nA.ToString() : "None"), new Vector2(5, 180), Color.Red);
            batch.DrawString(font, "Range: ", new Vector2(5, 200), Color.DarkGreen);
            batch.DrawString(font, cR + " ->" + (cC != -1 ? nR.ToString() : "None"), new Vector2(5, 220), Color.Red);
            batch.DrawString(font, "Delay: ", new Vector2(5, 240), Color.DarkGreen);
            batch.DrawString(font, cD + " ->" + (cC != -1 ? nD.ToString() : "None"), new Vector2(5, 260), Color.Red);
        }