source: 2015/27/ohjaajat/TheLegendOfGabriel/TheLegendOfGabriel/TheLegendOfGabriel/Player.cs @ 6617

Revision 6617, 1.4 KB checked in by sieerinn, 5 years ago (diff)

Tähtäysanimaatiot ja inventory äheltämistä.

Line 
1using System.Collections.Generic;
2using Jypeli;
3
4class Player : Creature
5{
6    public Dictionary<Direction, Animation> SwingAnimations { get; set; }
7
8    public Dictionary<Direction, Animation> ShootAnimations { get; set; }
9
10    public Item Sword { get; set; }
11
12    public Item ActiveItem
13    {
14        get
15        {
16            if (activeItemIndex < Inventory.Count)
17            {
18                return Inventory[activeItemIndex];
19            }
20            return null;
21        }
22    }
23
24    private int activeItemIndex = 0;
25
26    public List<Item> Inventory { get; private set; }
27
28    public Player()
29        : base(TheLegendOfGabriel.TILE_SIZE, TheLegendOfGabriel.TILE_SIZE)
30    {
31        Inventory = new List<Item>();
32        SwingAnimations = new Dictionary<Direction, Animation>();
33        ShootAnimations = new Dictionary<Direction, Animation>();
34        CollisionIgnoreGroup = 1;
35    }
36
37    public void CycleItems()
38    {
39        activeItemIndex++;
40        if (activeItemIndex >= Inventory.Count)
41        {
42            activeItemIndex = 0;
43        }
44    }
45
46    protected override void UpdateAnimations()
47    {
48        if (!(ActiveItem != null && ActiveItem.OverrideAnimation))
49        {
50            base.UpdateAnimations();   
51        }
52    }
53
54    public override void UpdateCreature(Time time)
55    {
56        if (ActiveItem != null)
57            ActiveItem.UpdateItem(time);
58        base.UpdateCreature(time);
59    }
60}
Note: See TracBrowser for help on using the repository browser.