Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
835 chris 1
package com.gebauz.bauzoid.menu;
2
 
3
import com.gebauz.bauzoid.game.Game;
4
import com.gebauz.bauzoid.math.Rect;
5
import com.gebauz.bauzoid.parser.ScanException;
6
import com.gebauz.bauzoid.parser.Tokenizer;
7
 
8
public class Frame extends ImageBase
9
{
10
        // Constants========================================================================================
11
 
12
        // Embedded=========================================================================================
13
 
14
        // Fields===========================================================================================
15
 
16
        private boolean mShowCenter = false;
17
        private boolean mIsOuterFrame = false;
18
        private Rect mInnerOffset = null;
19
 
20
        private FrameElement mFrame = null;
21
 
22
        // Methods==========================================================================================
23
        public Frame(Game game, Menu parent, String name)
24
        {
25
                super(game, parent, name);
26
        }
27
 
28
        @Override
29
        public void init()
30
        {
31
                mFrame = new FrameElement(getParent().getGame());
32
                if (mIsOuterFrame)
33
                {
34
                        if (mInnerOffset == null)
35
                        {
36
                                mFrame.setInnerOffset(new Rect(FrameElement.LEFT_OFFSET_, FrameElement.TOP_OFFSET_,
37
                                                FrameElement.RIGHT_OFFSET_, FrameElement.BOTTOM_OFFSET_));
38
                        }
39
                        else
40
                        {
41
                                mFrame.setInnerOffset(mInnerOffset);
42
                        }
43
                }
44
                else
45
                {
46
                        mFrame.setInnerOffset(new Rect(FrameElement.CELL_SIZE, FrameElement.CELL_SIZE, FrameElement.CELL_SIZE, FrameElement.CELL_SIZE));
47
                }
48
 
49
                //mFrame.init(new Texture(Gdx.files.internal(getTextureName())), mShowCenter);
50
                mFrame.init(getTextureName(), mShowCenter);
51
                setFrameProperties(mFrame, this);
52
        }
53
 
54
        @Override
55
        public void exit()
56
        {
57
                if (mFrame != null)
58
                {
59
                        mFrame.exit();
60
                        mFrame = null;
61
                }
62
        }
63
 
64
        @Override
65
        public void update(float deltaTime)
66
        {
67
                setFrameProperties(mFrame, this);
68
                mFrame.update(deltaTime);
69
        }
70
 
71
        @Override
72
        public void render()
73
        {
74
                mFrame.render();
75
        }
76
 
77
        @Override
78
        public boolean parseLine(String identifier, Tokenizer tokenizer)
79
                        throws ScanException
80
        {
81
                if (identifier.equalsIgnoreCase("showCenter"))
82
                {
83
                        mShowCenter = MenuUtil.parseBool(tokenizer);
84
                }
85
                else if (identifier.equalsIgnoreCase("outerFrame"))
86
                {
87
                        mIsOuterFrame = MenuUtil.parseBool(tokenizer);
88
                }
89
                else if (identifier.equalsIgnoreCase("innerOffset"))
90
                {
91
                        mInnerOffset = new Rect(MenuUtil.parseVector4(tokenizer));
92
                }
93
                else
94
                {
95
                        return super.parseLine(identifier, tokenizer);
96
                }
97
                return true;
98
        }
99
 
100
        public static void setFrameProperties(FrameElement frame, MenuItem item)
101
        {
102
                frame.x = item.getLeft();
103
                frame.y = item.getTop();
104
                frame.w = item.getWidth();
105
                frame.h = item.getHeight();
106
                //frame.alpha = item.getColor().w;
107
                frame.color = item.getColor();
108
        }
109
        // Getters/Setters==================================================================================
110
 
111
}