Oolite 1.91.0.7604-240417-a536cbe
Loading...
Searching...
No Matches
EntityShaderBindings.m
Go to the documentation of this file.
1/*
2
3EntityShaderBindings.m
4
5Extra methods exposed for shader bindings.
6
7
8Oolite
9Copyright (C) 2004-2013 Giles C Williams and contributors
10
11This program is free software; you can redistribute it and/or
12modify it under the terms of the GNU General Public License
13as published by the Free Software Foundation; either version 2
14of the License, or (at your option) any later version.
15
16This program is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU General Public License for more details.
20
21You should have received a copy of the GNU General Public License
22along with this program; if not, write to the Free Software
23Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
24MA 02110-1301, USA.
25
26*/
27
28#import "Entity.h"
31
32
33@implementation Entity (ShaderBindings)
34
35// Clock time.
36- (GLfloat) clock
37{
38 return [PLAYER clockTime];
39}
40
41
42// System "flavour" numbers.
43- (unsigned) pseudoFixedD100
44{
45 return [PLAYER systemPseudoRandom100];
46}
47
48- (unsigned) pseudoFixedD256
49{
50 return [PLAYER systemPseudoRandom256];
51}
52
53
54// System attributes.
55- (unsigned) systemGovernment
56{
57 return [[PLAYER systemGovernment_number] unsignedIntValue];
58}
59
60- (unsigned) systemEconomy
61{
62 return [[PLAYER systemEconomy_number] unsignedIntValue];
63}
64
65- (unsigned) systemTechLevel
66{
67 return [[PLAYER systemTechLevel_number] unsignedIntValue];
68}
69
70- (unsigned) systemPopulation
71{
72 return [[PLAYER systemPopulation_number] unsignedIntValue];
73}
74
75- (unsigned) systemProductivity
76{
77 return [[PLAYER systemProductivity_number] unsignedIntValue];
78}
79
80@end