-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPlanetInfoMenu.as
More file actions
124 lines (107 loc) · 3.84 KB
/
PlanetInfoMenu.as
File metadata and controls
124 lines (107 loc) · 3.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class PlanetInfoMenu extends MovieClip {
var planet:Planet;
var hub:SpaceHub;
public function PlanetInfoMenu(p:Planet) {
this.planet = p;
this.menuName.nameBox.text = planet.pName;
this.hub = p.spaceHub;
this.addEventListener(MouseEvent.MOUSE_DOWN, startDragThis);
this.addEventListener(MouseEvent.MOUSE_UP, stopDragThis);
updateMenu();
}
public function startDragThis(me:MouseEvent) {
startDrag(false);
}
public function stopDragThis(me:MouseEvent) {
stopDrag();
}
public function submenu_BuildHub(me:MouseEvent) {
trace("building default hub on " + planet.pName);
planet.addSpaceHub(new SpaceHub(50,5));
this.updateMenu();
}
public function submenu_CloseHub(me:MouseEvent) {
planet.removeSpaceHub();
this.updateMenu();
}
public function addUnitsToHub(me:MouseEvent) {
hub.incrementUnits();
this.updateMenu();
}
public function removeUnitsFromHub(me:MouseEvent) {
hub.decrementUnits();
this.updateMenu();
}
public function addEmpToHub(me:MouseEvent) {
hub.addEmployee();
this.updateMenu();
}
public function removeEmpFromHub(me:MouseEvent) {
hub.removeEmployee();
this.updateMenu();
}
public function updateMenu() {
this.planetPopulationBox.text = formatNumber(planet.population);
hub = planet.spaceHub;
if (hub != null) {
//we got a space hub, people!
menu_HubStats.alpha = 1;
menu_NoSpaceHub.alpha = 0;
//let's populate dat shiznit
var menu:MovieClip = menu_HubStats;
menu.hubSizeBox.text = hub.capacity;
menu.hubEmployeesBox.text = hub.employees;
menu.hubFreeSpaceBox.text = hub.freeSpace();
menu.hubThroughputBox.text = hub.throughput();
menu.hubPackagesProcessedBox.text = "N/A";
menu.hubUnitsProcessedBox.text = "N/A";
menu.hubPackagesRefusedBox.text = hub.rejected;
menu.hubCostPerMonthBox.text = hub.monthlyCost();
menu.hubIncomePerMonthBox.text = "N/A";
menu.hubProfitPerMonthBox.text = "N/A";
menu.closeSpaceHub.costBox.text = hub.costToClose();
menu.closeSpaceHub.addEventListener(MouseEvent.CLICK, submenu_CloseHub);
menu.addUnitsButton.addEventListener(MouseEvent.CLICK, addUnitsToHub);
menu.removeUnitsButton.addEventListener(MouseEvent.CLICK, removeUnitsFromHub);
menu.addEmployeesButton.addEventListener(MouseEvent.CLICK, addEmpToHub);
menu.removeEmployeesButton.addEventListener(MouseEvent.CLICK, removeEmpFromHub);
menu.closeSpaceHub.addEventListener(MouseEvent.MOUSE_OVER, function() {
menu.closeSpaceHub.gotoAndPlay("MouseOver");
});
menu.closeSpaceHub.addEventListener(MouseEvent.MOUSE_OUT, function() {
menu.closeSpaceHub.gotoAndPlay("Regular");
});
} else {
//NOPE NOPE NOPE
menu_HubStats.alpha = 0;
menu_NoSpaceHub.alpha = 1;
menu_NoSpaceHub.buildSpaceHub.costBox.text = SpaceHub.NEW_HUB_COST;
menu_NoSpaceHub.buildSpaceHub.addEventListener(MouseEvent.CLICK, submenu_BuildHub);
menu_NoSpaceHub.buildSpaceHub.addEventListener(MouseEvent.MOUSE_OVER, function() {
menu_NoSpaceHub.buildSpaceHub.gotoAndPlay("MouseOver");
});
menu_NoSpaceHub.buildSpaceHub.addEventListener(MouseEvent.MOUSE_OUT, function() {
menu_NoSpaceHub.buildSpaceHub.gotoAndPlay("Regular");
});
}
}
public static function formatNumber(number:Number):String{
var numString:String = number.toString()
var result:String = ''
while (numString.length > 3)
{
var chunk:String = numString.substr(-3)
numString = numString.substr(0, numString.length - 3)
result = ',' + chunk + result
}
if (numString.length > 0)
{
result = numString + result
}
return result
}
}
}