source: 2013/30/DenisZ/CastleMaster/CastleMaster/CastleMaster/Units/UnitStore.cs @ 4703

Revision 4703, 2.1 KB checked in by dezhidki, 7 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using CastleMaster.Players;
6using CastleMaster.World;
7using CastleMaster.Graphics;
8using CastleMaster.Units.Mobs;
9using CastleMaster.Guis;
10
11namespace CastleMaster.Units
12{
13    public class UnitStore : UnitBuilding
14    {
15        public const int COINS_FOR_LUMBER = 2;
16        private GuiStoreMenu menu;
17        private int spriteX = 0;
18
19        public UnitStore(Level level, Player owner)
20            : base(level, owner)
21        {
22            width = 8 * Viewport.TILESIZE;
23            depth = 8 * Viewport.TILESIZE;
24            HasHealth = true;
25            maxHealth = 400;
26           
27            renderOffset.X = 128;
28            renderOffset.Y = 83;
29
30            spriteSize.X = 240;
31            spriteSize.Y = 147;
32            screenRectOffset.Update(32, 0, spriteSize.X - 32, spriteSize.Y - 10);
33
34            highlightOffset.X = spriteSize.X / 2 - 4;
35
36            rectOffset.Update(-4 * Viewport.TILESIZE, -4 * Viewport.TILESIZE, 4 * Viewport.TILESIZE, 4 * Viewport.TILESIZE);
37
38            menu = new GuiStoreMenu(Game.GuiManager, this);
39        }
40
41        public void SellWood()
42        {
43            if (Owner.LumberAmount >= 1)
44            {
45                Owner.LumberAmount--;
46                Owner.CoinsAmount += COINS_FOR_LUMBER;
47            }
48        }
49
50        public override void OnFocus()
51        {
52            if (!isDestroyed)
53                Game.GuiManager.AddGui(menu, true);
54        }
55
56        public override void OnFocusLost()
57        {
58            if (!isDestroyed)
59                Game.GuiManager.RemoveGui(menu);
60        }
61
62        public override void Remove()
63        {
64            base.Remove();
65            menu.Remove();
66            level.RemoveUnit(this);
67            spriteX = 1;
68        }
69
70        public override void Render(RenderHelper renderer)
71        {
72            base.Render(renderer);
73            renderer.Render(ScreenPos, spriteX, 0, Resources.SPRITE_STORE, colorizer, Viewport.ZOOM);
74        }
75    }
76}
Note: See TracBrowser for help on using the repository browser.