Пример #1
0
        public BuildingScreen(BuildingEntity building, MarsWorld world, bool isUpgrade)
        {
            this.building  = building;
            this.world     = world;
            this.isUpgrade = isUpgrade;

            var properties = building.Properties;

            if (isUpgrade)
            {
                heading = "UPGRADE BUILDING";
                title   = string.Format("{0} level {1}",
                                        properties.Description, properties.Level + 1);

                okText = "Upgrade";

                targetLevel = properties.Level + 1;
            }
            else
            {
                heading = "PURCHASE BUILDING";
                title   = properties.Description;
                okText  = "Purchase";

                targetLevel = 0;
            }

            IsOverlay = true;

            TransitionInDuration = TransitionOutDuration =
                TimeSpan.FromMilliseconds(250);
        }
Пример #2
0
        public BuildingEntity(MarsWorld world, BuildingProperties properties)
            : base(world)
        {
            this.Type = EntityType.Building;

            this.properties = properties;
            this.healthBar  = new HealthBar(properties.HealthBarSize);
            this.size       = new Point(properties.ScreenRectangle.Width,
                                        properties.ScreenRectangle.Height);

            this.Health = GetMaxHealth();

            // initialize animations
            initAnimations();

            // initialize sounds
            initSounds();

            // set our animation to idle by default
            SetAnimation("Idle");

            initBorders();

            // set our grid bounds to the property's grid bounds
            updateGridBounds(properties.GridBounds);

            // set the size of our drag placement rectangle
            lastDragPlacement.Width  = properties.GridBounds.Width;
            lastDragPlacement.Height = properties.GridBounds.Height;
        }
Пример #3
0
        public EnemyEntity(MarsWorld world, EnemyProperties properties)
            : base(world)
        {
            this.Type = EntityType.AI;

            this.properties = properties;

            this.walkSpeed = random.Next(properties.WalkspeedRange.X,
                                         properties.WalkspeedRange.Y);

            this.attackInterval =
                TimeSpan.FromMilliseconds(properties.AttackInterval);

            this.Health = GetMaxHealth();

            IsCollidable = true;

            healthBar = new HealthBar(properties.HealthBarSize);

            // delete the enemy
            OnDeath += (a, b) => { Delete(); };

            // initialize animations
            initAnimations();
        }
        public BuildingListScreen(MarsWorld world)
        {
            this.world = world;

            TransitionInDuration = TransitionOutDuration =
                TimeSpan.FromMilliseconds(250);

            IsOverlay = true;
        }
Пример #5
0
        public Play()
        {
            Camera camera = new Camera()
            {
                ShakeSpeed = new Vector2(32, 16),
            };

            world = new MarsWorld(camera, this);

            TransitionInDuration  = TimeSpan.FromMilliseconds(400);
            TransitionOutDuration = TimeSpan.FromMilliseconds(400);
        }
Пример #6
0
        public BaseLayoutManager(MarsWorld world)
        {
            this.world = world;

            gridBounds = new Rectangle()
            {
                Width  = MarsWorld.Size.X * gridNodeSize.X,
                Height = MarsWorld.Size.Y * gridNodeSize.Y
            };

            IsOverlay = true;

            TransitionInDuration      =
                TransitionOutDuration = TimeSpan.FromMilliseconds(250);
        }
Пример #7
0
 public Entity(MarsWorld world, Vector2 position)
 {
     this.world    = world;
     this.position = position;
     this.ID       = MarsWorld.EntityCount++;
 }
Пример #8
0
 public Entity(MarsWorld world)
 {
     this.world = world;
     this.ID    = MarsWorld.EntityCount++;
 }
Пример #9
0
 public Projectile(MarsWorld world, Vector2 position)
     : base(world, position)
 {
     IsCollidable = true;
 }
Пример #10
0
 public Bullet(MarsWorld world, Vector2 position, Animation animation)
     : base(world, position)
 {
     this.position  = position;
     this.animation = animation;
 }
Пример #11
0
 public BuildingContextMenu(MarsWorld world, ContentManager content, TimeSpan transitionInDuration, TimeSpan transitionOutDuration)
 {
     this.world = world;
     this.transitionInDuration  = transitionInDuration;
     this.transitionOutDuration = transitionOutDuration;
 }
Пример #12
0
 public HealthEntity(MarsWorld world)
     : base(world)
 {
 }