Skip to content

Instantly share code, notes, and snippets.

@packetlss
Created March 11, 2013 20:25
Show Gist options
  • Select an option

  • Save packetlss/5137425 to your computer and use it in GitHub Desktop.

Select an option

Save packetlss/5137425 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
'use strict';
var COMPILED = !0, goog = goog || {};
goog.global = this;
goog.DEBUG = !1;
goog.LOCALE = "en";
goog.provide = function (a) {
if (!COMPILED) {
if (goog.isProvided_(a))
throw Error('Namespace "' + a + '" already declared.');
delete goog.implicitNamespaces_[a];
for (var b = a; (b = b.substring(0, b.lastIndexOf("."))) && !goog.getObjectByName(b); )
goog.implicitNamespaces_[b] = !0
}
goog.exportPath_(a)
};
goog.setTestOnly = function (a) {
if (COMPILED && !goog.DEBUG)
throw a = a || "", Error("Importing test-only code into non-debug environment" + a ? ": " + a : ".");
};
COMPILED || (goog.isProvided_ = function (a) {
return !goog.implicitNamespaces_[a] && !!goog.getObjectByName(a)
}, goog.implicitNamespaces_ = {});
goog.exportPath_ = function (a, b, c) {
a = a.split(".");
c = c || goog.global;
!(a[0]in c) && c.execScript && c.execScript("var " + a[0]);
for (var d; a.length && (d = a.shift()); )
!a.length && goog.isDef(b) ? c[d] = b : c = c[d] ? c[d] : c[d] = {}
};
goog.getObjectByName = function (a, b) {
for (var c = a.split("."), d = b || goog.global, e; e = c.shift(); )
if (goog.isDefAndNotNull(d[e]))
d = d[e];
else
return null;
return d
};
goog.globalize = function (a, b) {
var c = b || goog.global,
d;
for (d in a)
c[d] = a[d]
};
goog.addDependency = function (a, b, c) {
if (!COMPILED) {
for (var d, a = a.replace(/\\/g, "/"), e = goog.dependencies_, f = 0; d = b[f]; f++) {
e.nameToPath[d] = a;
a in e.pathToNames || (e.pathToNames[a] = {});
e.pathToNames[a][d] = true
}
for (d = 0; b = c[d]; d++) {
a in e.requires || (e.requires[a] = {});
e.requires[a][b] = true
}
}
};
goog.ENABLE_DEBUG_LOADER = !0;
goog.require = function (a) {
if (!COMPILED && !goog.isProvided_(a)) {
if (goog.ENABLE_DEBUG_LOADER) {
var b = goog.getPathFromDeps_(a);
if (b) {
goog.included_[b] = true;
goog.writeScripts_();
return
}
}
a = "goog.require could not find: " + a;
goog.global.console && goog.global.console.error(a);
throw Error(a);
}
};
goog.basePath = "";
goog.nullFunction = function () {};
goog.identityFunction = function (a) {
return a
};
goog.abstractMethod = function () {
throw Error("unimplemented abstract method");
};
goog.addSingletonGetter = function (a) {
a.getInstance = function () {
if (a.instance_)
return a.instance_;
goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = a);
return a.instance_ = new a
}
};
goog.instantiatedSingletons_ = [];
!COMPILED && goog.ENABLE_DEBUG_LOADER && (goog.included_ = {}, goog.dependencies_ = {
pathToNames : {},
nameToPath : {},
requires : {},
visited : {},
written : {}
}, goog.inHtmlDocument_ = function () {
var a = goog.global.document;
return typeof a != "undefined" && "write" in a
}, goog.findBasePath_ = function () {
if (goog.global.CLOSURE_BASE_PATH)
goog.basePath = goog.global.CLOSURE_BASE_PATH;
else if (goog.inHtmlDocument_())
for (var a = goog.global.document.getElementsByTagName("script"), b = a.length - 1; b >= 0; --b) {
var c = a[b].src,
d = c.lastIndexOf("?"),
d = d == -1 ? c.length : d;
if (c.substr(d - 7, 7) == "base.js") {
goog.basePath = c.substr(0, d - 7);
break
}
}
}, goog.importScript_ = function (a) {
var b = goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_;
!goog.dependencies_.written[a] && b(a) && (goog.dependencies_.written[a] = true)
}, goog.writeScriptTag_ = function (a) {
if (goog.inHtmlDocument_()) {
goog.global.document.write('<script type="text/javascript" src="' + a + '"><\/script>');
return true
}
return false
}, goog.writeScripts_ = function () {
function a(e) {
if (!(e in d.written)) {
if (!(e in
d.visited)) {
d.visited[e] = true;
if (e in d.requires)
for (var g in d.requires[e])
if (!goog.isProvided_(g))
if (g in d.nameToPath)
a(d.nameToPath[g]);
else
throw Error("Undefined nameToPath for " + g);
}
if (!(e in c)) {
c[e] = true;
b.push(e)
}
}
}
var b = [],
c = {},
d = goog.dependencies_,
e;
for (e in goog.included_)
d.written[e] || a(e);
for (e = 0; e < b.length; e++)
if (b[e])
goog.importScript_(goog.basePath + b[e]);
else
throw Error("Undefined script input");
}, goog.getPathFromDeps_ = function (a) {
return a in goog.dependencies_.nameToPath ? goog.dependencies_.nameToPath[a] :
null
}, goog.findBasePath_(), goog.global.CLOSURE_NO_DEPS || goog.importScript_(goog.basePath + "deps.js"));
goog.typeOf = function (a) {
var b = typeof a;
if (b == "object")
if (a) {
if (a instanceof Array)
return "array";
if (a instanceof Object)
return b;
var c = Object.prototype.toString.call(a);
if (c == "[object Window]")
return "object";
if (c == "[object Array]" || typeof a.length == "number" && typeof a.splice != "undefined" && typeof a.propertyIsEnumerable != "undefined" && !a.propertyIsEnumerable("splice"))
return "array";
if (c == "[object Function]" || typeof a.call != "undefined" && typeof a.propertyIsEnumerable != "undefined" && !a.propertyIsEnumerable("call"))
return "function"
} else
return "null";
else if (b == "function" && typeof a.call == "undefined")
return "object";
return b
};
goog.isDef = function (a) {
return a !== void 0
};
goog.isNull = function (a) {
return a === null
};
goog.isDefAndNotNull = function (a) {
return a != null
};
goog.isArray = function (a) {
return goog.typeOf(a) == "array"
};
goog.isArrayLike = function (a) {
var b = goog.typeOf(a);
return b == "array" || b == "object" && typeof a.length == "number"
};
goog.isDateLike = function (a) {
return goog.isObject(a) && typeof a.getFullYear == "function"
};
goog.isString = function (a) {
return typeof a == "string"
};
goog.isBoolean = function (a) {
return typeof a == "boolean"
};
goog.isNumber = function (a) {
return typeof a == "number"
};
goog.isFunction = function (a) {
return goog.typeOf(a) == "function"
};
goog.isObject = function (a) {
var b = typeof a;
return b == "object" && a != null || b == "function"
};
goog.getUid = function (a) {
return a[goog.UID_PROPERTY_] || (a[goog.UID_PROPERTY_] = ++goog.uidCounter_)
};
goog.removeUid = function (a) {
"removeAttribute" in a && a.removeAttribute(goog.UID_PROPERTY_);
try {
delete a[goog.UID_PROPERTY_]
} catch (b) {}
};
goog.UID_PROPERTY_ = "closure_uid_" + Math.floor(2147483648 * Math.random()).toString(36);
goog.uidCounter_ = 0;
goog.getHashCode = goog.getUid;
goog.removeHashCode = goog.removeUid;
goog.cloneObject = function (a) {
var b = goog.typeOf(a);
if (b == "object" || b == "array") {
if (a.clone)
return a.clone();
var b = b == "array" ? [] : {},
c;
for (c in a)
b[c] = goog.cloneObject(a[c]);
return b
}
return a
};
goog.bindNative_ = function (a, b, c) {
return a.call.apply(a.bind, arguments)
};
goog.bindJs_ = function (a, b, c) {
if (!a)
throw Error();
if (arguments.length > 2) {
var d = Array.prototype.slice.call(arguments, 2);
return function () {
var c = Array.prototype.slice.call(arguments);
Array.prototype.unshift.apply(c, d);
return a.apply(b, c)
}
}
return function () {
return a.apply(b, arguments)
}
};
goog.bind = function (a, b, c) {
goog.bind = Function.prototype.bind && Function.prototype.bind.toString().indexOf("native code") != -1 ? goog.bindNative_ : goog.bindJs_;
return goog.bind.apply(null, arguments)
};
goog.partial = function (a, b) {
var c = Array.prototype.slice.call(arguments, 1);
return function () {
var b = Array.prototype.slice.call(arguments);
b.unshift.apply(b, c);
return a.apply(this, b)
}
};
goog.mixin = function (a, b) {
for (var c in b)
a[c] = b[c]
};
goog.now = Date.now || function () {
return +new Date
};
goog.globalEval = function (a) {
if (goog.global.execScript)
goog.global.execScript(a, "JavaScript");
else if (goog.global.eval) {
if (goog.evalWorksForGlobals_ == null) {
goog.global.eval("var _et_ = 1;");
if (typeof goog.global._et_ != "undefined") {
delete goog.global._et_;
goog.evalWorksForGlobals_ = true
} else
goog.evalWorksForGlobals_ = false
}
if (goog.evalWorksForGlobals_)
goog.global.eval(a);
else {
var b = goog.global.document,
c = b.createElement("script");
c.type = "text/javascript";
c.defer = false;
c.appendChild(b.createTextNode(a));
b.body.appendChild(c);
b.body.removeChild(c)
}
} else
throw Error("goog.globalEval not available");
};
goog.evalWorksForGlobals_ = null;
goog.getCssName = function (a, b) {
var c = function (a) {
return goog.cssNameMapping_[a] || a
},
d = function (a) {
for (var a = a.split("-"), b = [], d = 0; d < a.length; d++)
b.push(c(a[d]));
return b.join("-")
},
d = goog.cssNameMapping_ ? goog.cssNameMappingStyle_ == "BY_WHOLE" ? c : d : function (a) {
return a
};
return b ? a + "-" + d(b) : d(a)
};
goog.setCssNameMapping = function (a, b) {
goog.cssNameMapping_ = a;
goog.cssNameMappingStyle_ = b
};
!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING && (goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING);
goog.getMsg = function (a, b) {
var c = b || {},
d;
for (d in c)
var e = ("" + c[d]).replace(/\$/g, "$$$$"), a = a.replace(RegExp("\\{\\$" + d + "\\}", "gi"), e);
return a
};
goog.exportSymbol = function (a, b, c) {
goog.exportPath_(a, b, c)
};
goog.exportProperty = function (a, b, c) {
a[b] = c
};
goog.inherits = function (a, b) {
function c() {}
c.prototype = b.prototype;
a.superClass_ = b.prototype;
a.prototype = new c;
a.prototype.constructor = a
};
goog.base = function (a, b, c) {
var d = arguments.callee.caller;
if (d.superClass_)
return d.superClass_.constructor.apply(a, Array.prototype.slice.call(arguments, 1));
for (var e = Array.prototype.slice.call(arguments, 2), f = false, g = a.constructor; g; g = g.superClass_ && g.superClass_.constructor)
if (g.prototype[b] === d)
f = true;
else if (f)
return g.prototype[b].apply(a, e);
if (a[b] === d)
return a.constructor.prototype[b].apply(a, e);
throw Error("goog.base called from a method of one name to a method of a different name");
};
goog.scope = function (a) {
a.call(goog.global)
};
var simcity = {
AgentQueryUI : {},
cAgentQueryUIHandler : function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mAgentQueryUILayout = this.mParentControl = null;
this.mOriginalLayoutWidth = 0;
this.mNameTextControl = null;
this.mDefaultNamePositionLeft = 0;
this.mDataBindings = this.mZoomToSourceButtonControl = this.mFollowButtonControl = this.mResourceBarAmountControl = this.mResourceBarFillControl = this.mResourceBarContainerControl = this.mResourceTextControl = this.mResourceWindowControl = this.mSimStatusIconWindowControl =
this.mSourceTextControl = this.mDestinationTextControl = null;
this.mCurrentSharedBindings = [];
this.mCurrentSharedTimedRefreshBindings = [];
this.mCurrentDataBindings = [];
this.mRefreshTimer = 0;
this.mDefaultDestinationTextColor = this.mDestinationPrependText = this.mDestinationText = "";
this.mAvatarTemplateContainer = null;
this.mAgentGender = 1
}
};
goog.inherits(simcity.cAgentQueryUIHandler, scrui.cUIHandler);
simcity.cAgentQueryUIHandler.kLayoutNameTextID = 164191353;
simcity.cAgentQueryUIHandler.kLayoutIconWindowID = 237484883;
simcity.cAgentQueryUIHandler.kLayoutDestinationTextID = 236702504;
simcity.cAgentQueryUIHandler.kLayoutSourceTextID = 237570896;
simcity.cAgentQueryUIHandler.kLayoutSimStatusIconWindowID = 237916421;
simcity.cAgentQueryUIHandler.kLayoutResourceWindowID = 238178069;
simcity.cAgentQueryUIHandler.kLayoutResourceTextID = 237979994;
simcity.cAgentQueryUIHandler.kLayoutResourceBarContainerID = 238178071;
simcity.cAgentQueryUIHandler.klayoutResourceBarFillID = 238178073;
simcity.cAgentQueryUIHandler.kLayoutResourceBarAmountID = 252673365;
simcity.cAgentQueryUIHandler.kLayoutFollowAgentCamButtonID = 238781781;
simcity.cAgentQueryUIHandler.kLayoutZoomToSourceButtonID = 238783027;
simcity.cAgentQueryUIHandler.kLayoutAvatarTemplateContainer = 253206823;
simcity.cAgentQueryUIHandler.kBindingTypePosition = 238092092;
simcity.cAgentQueryUIHandler.kBindingTypeName = 238084822;
simcity.cAgentQueryUIHandler.kBindingTypeGender = 244221262;
simcity.cAgentQueryUIHandler.kBindingTypeDestination = 238086977;
simcity.cAgentQueryUIHandler.kBindingTypeSource = 238090037;
simcity.cAgentQueryUIHandler.kBindingTypeSimStatus = 238092041;
simcity.cAgentQueryUIHandler.kBindingTypePrependDestination = 238853567;
simcity.cAgentQueryUIHandler.kBindingTypeResourceBin = 238091235;
simcity.cAgentQueryUIHandler.kBindingTypeShowGoToSource = 251821342;
simcity.cAgentQueryUIHandler.kBindingTypeRegionalBoxUID = 253205894;
simcity.cAgentQueryUIHandler.kRefreshTime = 1E3;
simcity.cAgentQueryUIHandler.prototype.Init = function (a) {
scrui.Assert(null !== a);
this.mParentControl = a;
this.mAgentQueryUILayout = gUIManager.LoadLayout("Layouts/AgentQueryLayout.js", this.mParentControl);
this.mOriginalLayoutWidth = this.mAgentQueryUILayout.mWidth;
this.mNameTextControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutNameTextID);
this.mDefaultNamePositionLeft = this.mNameTextControl.mLeft;
this.mDestinationTextControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutDestinationTextID);
this.mSourceTextControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutSourceTextID);
this.mSimStatusIconWindowControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutSimStatusIconWindowID);
this.mResourceWindowControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutResourceWindowID);
this.mResourceTextControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutResourceTextID);
this.mResourceBarContainerControl =
this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutResourceBarContainerID);
this.mResourceBarFillControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.klayoutResourceBarFillID);
this.mResourceBarAmountControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutResourceBarAmountID);
this.mFollowButtonControl = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutFollowAgentCamButtonID);
this.mZoomToSourceButtonControl =
this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutZoomToSourceButtonID);
this.mDefaultDestinationTextColor = this.mDestinationTextControl.mTextElement.style.color;
this.mAvatarTemplateContainer = this.mAgentQueryUILayout.FindControlByID(simcity.cAgentQueryUIHandler.kLayoutAvatarTemplateContainer);
this.Hide();
this.mDataBindings = simcity.AgentQueryDataBindings
};
simcity.cAgentQueryUIHandler.prototype.AddDataBinding = function (a) {
a && this.mCurrentDataBindings.push(a)
};
simcity.cAgentQueryUIHandler.prototype.AddDataBindings = function (a) {
if (a)
for (var b = a.length, c = 0; c < b; ++c)
this.AddDataBinding(a[c])
};
simcity.cAgentQueryUIHandler.prototype.HandleGameEvent = function (a, b) {
switch (a) {
case simcity.kGameMessageAgentSelected:
this.mRefreshTimer = 0;
this.mCurrentDataBindings = [];
this.Hide();
this.mAgentQueryUILayout.SetWidth(this.mOriginalLayoutWidth);
this.mCurrentSharedBindings = simcity.kSharedAgentQueryDataBindings;
this.mCurrentSharedTimedRefreshBindings = simcity.kSharedAgentQueryTimedRefreshDataBindings;
scrui.Assert(simcity.AgentQueryDataBindings[b.transportType], "Agent has invalid scTransportUIType. Please check the prop file for this agent.");
this.AddDataBindings(simcity.AgentQueryDataBindings[b.transportType]);
this.Show(!0);
this.SendDataBindingRequest(this.mCurrentSharedTimedRefreshBindings, !1);
this.SendDataBindingRequest(this.mCurrentDataBindings, !1);
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.GENERICEVENT, b.transportType, this.mAgentQueryUILayout);
break;
case simcity.kGameMessageActorSelected:
this.mRefreshTimer = 0;
this.Hide();
this.mAgentQueryUILayout.SetWidth(this.mOriginalLayoutWidth);
this.mCurrentSharedBindings = simcity.kSharedActorQueryDataBindings;
this.mCurrentSharedTimedRefreshBindings = simcity.kSharedActorQueryTimedRefreshDataBindings;
this.mCurrentDataBindings = [];
this.Show(!1);
this.SendDataBindingRequest(this.mCurrentSharedTimedRefreshBindings, !1);
this.SendDataBindingRequest(this.mCurrentDataBindings, !1);
break;
case simcity.kGameMessageAgentDeselected:
this.mCurrentSharedBindings = [],
this.mCurrentSharedTimedRefreshBindings = [],
this.mCurrentDataBindings = [],
this.Hide()
}
};
simcity.cAgentQueryUIHandler.prototype.HandleUIMessage = function (a, b) {
switch (a) {
case scrui.kMsgTypeButtonClicked:
switch (b) {
case simcity.cAgentQueryUIHandler.kLayoutFollowAgentCamButtonID:
scrui.PostGameCommand(scrui.BuildCommand([simcity.kCommandActivateFollowAgentCam]));
break;
case simcity.cAgentQueryUIHandler.kLayoutZoomToSourceButtonID:
simcity.IsTutorialInProgress() || scrui.PostGameCommand(scrui.BuildCommand([simcity.kCommandZoomToAgentSource]))
}
}
};
simcity.cAgentQueryUIHandler.prototype.Update = scrui.Client_ProfZone("AgentQueryUIUpdate", function (a) {
this.mAgentQueryUILayout && (this.mAgentQueryUILayout.mIsVisible && this.mCurrentDataBindings) && (this.SendDataBindingRequest(this.mCurrentSharedBindings, !0), this.mRefreshTimer -= a, 0 >= this.mRefreshTimer && (this.mRefreshTimer = simcity.cAgentQueryUIHandler.kRefreshTime, this.mAgentQueryUILayout.SetWidth(this.mOriginalLayoutWidth), this.AutoResizeLayout(this.mNameTextControl), this.SendDataBindingRequest(this.mCurrentSharedTimedRefreshBindings,
!0), this.SendDataBindingRequest(this.mCurrentDataBindings, !0)))
});
simcity.cAgentQueryUIHandler.prototype.SendDataBindingRequest = function (a, b) {
var c = this,
d = a.length,
e = [],
f = [];
simcity.GenerateDataBindingQueries(a, e, {}, f, b);
simcity.RequestDataBindingData(e, a, f, b, function (e) {
for (var f = 0; f < d; ++f) {
var i = a[f];
if (i.dynamic || !1 === b)
switch (i.bindingType) {
case simcity.cAgentQueryUIHandler.kBindingTypePosition:
c.SetPosition(e[f].screenPosition);
break;
case simcity.cAgentQueryUIHandler.kBindingTypeShowGoToSource:
c.SetGoToSourceVisible(i.update(e[f]));
break;
case simcity.cAgentQueryUIHandler.kBindingTypeName:
c.SetName(i.update(e[f]));
break;
case simcity.cAgentQueryUIHandler.kBindingTypeGender:
c.SetGender(i.update(e[f]));
break;
case simcity.cAgentQueryUIHandler.kBindingTypeRegionalBoxUID:
c.SetPlayerDisplay(i.update(e[f]));
break;
case simcity.cAgentQueryUIHandler.kBindingTypeDestination:
c.SetDestination(i.update(e[f]), i.color);
break;
case simcity.cAgentQueryUIHandler.kBindingTypeSource:
c.SetSource(i.update(e[f]));
break;
case simcity.cAgentQueryUIHandler.kBindingTypeSimStatus:
c.SetSimStatus(i.update(e[f]), i.iconPath);
break;
case simcity.cAgentQueryUIHandler.kBindingTypePrependDestination:
c.SetDestinationPrependText(i.update(e[f]),
i.color);
break;
case simcity.cAgentQueryUIHandler.kBindingTypeResourceBin:
c.SetResourceBinInfo(e[f].resource, i.localeString, i.formatType);
break;
default:
i.hasOwnProperty("update") && i.update(e[f])
}
}
})
};
simcity.cAgentQueryUIHandler.prototype.SetPosition = function (a) {
a && this.mAgentQueryUILayout.SetPosition(a[0] - this.mAgentQueryUILayout.mWidth / 2, a[1] - this.mAgentQueryUILayout.mHeight)
};
simcity.cAgentQueryUIHandler.prototype.SetGoToSourceVisible = function (a) {
a ? this.mZoomToSourceButtonControl.SetVisibility(a) : this.mZoomToSourceButtonControl.SetVisibility(!1)
};
simcity.cAgentQueryUIHandler.prototype.SetName = function (a) {
var b = "";
a.vehicleName ? this.mNameTextControl.SetLocaleText(scrui.LocaleStringFromLocaleProperty(a.vehicleName), {
cityName : a.cityName
}) : (a.firstName && (b = scrui.TextFromLocaleProperty(a.firstName)), a.lastName && (b += " " + this.GetGenderedTextFromLocaleString(scrui.LocaleStringFromLocaleProperty(a.lastName), this.mAgentGender)), this.mNameTextControl.SetRawText(b));
this.mDestinationTextControl.SetTextColor(this.mDefaultDestinationTextColor);
this.AutoResizeLayout(this.mNameTextControl)
};
simcity.cAgentQueryUIHandler.prototype.SetGender = function (a) {
this.mAgentGender = a
};
simcity.cAgentQueryUIHandler.prototype.SetPlayerDisplay = function (a) {
0 < a ? (a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[a], simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription({
playerID : a.creatorId,
layoutInfo : this.mAvatarTemplateContainer,
isBoxClaimed : !0,
isMyBox : a.creatorId == simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.creatorId,
isCurrentBox : !1,
showAlerts : !1,
group : "agentQuery" + a.uid,
boxID : a.uid
}), this.mAvatarTemplateContainer.SetVisibility(!0)) :
this.mAvatarTemplateContainer.SetVisibility(!1)
};
simcity.cAgentQueryUIHandler.prototype.SetDestination = function (a, b) {
a && (this.mDestinationText = this.GetGenderedTextFromLocaleString(scrui.LocaleStringFromLocaleProperty(a), this.mAgentGender), this.UpdateDestination(b))
};
simcity.cAgentQueryUIHandler.prototype.SetSource = function (a) {
a ? (this.mSourceTextControl.SetVisibility(!0), this.mSourceTextControl.UpdateLocaleText({
sourceName : a,
gender : this.mAgentGender
}), this.AutoResizeLayout(this.mSourceTextControl)) : this.mSourceTextControl.SetVisibility(!1)
};
simcity.cAgentQueryUIHandler.prototype.SetSimStatus = function (a, b) {
a && (this.mSimStatusIconWindowControl.SetVisibility(!0), this.mSimStatusIconWindowControl.SetWindowImage(b), this.SetDestinationPrependText(a, null))
};
simcity.cAgentQueryUIHandler.prototype.SetDestinationPrependText = function (a, b) {
a && (this.mDestinationPrependText = this.GetGenderedTextFromLocaleString(a, this.mAgentGender), this.UpdateDestination(b))
};
simcity.cAgentQueryUIHandler.prototype.SetResourceBinInfo = function (a, b, c) {
this.mResourceWindowControl.SetVisibility(!0);
var d;
b.LoadString(function () {
d = b.GetText()
});
this.mResourceTextControl.SetRawText(d);
this.AutoResizeLayout(this.mResourceTextControl);
var e = a.amount / a.capacity;
this.mResourceBarFillControl.SetWidth(e * this.mResourceBarContainerControl.mWidth);
var f = this.GetResourceTextString(c);
if ("undefined" != c && c != simcity.NumberFormat.Standard) {
var g = c ? simcity.FormatLargeNumberByType(a.amount,
c).number : a.amount,
a = c ? simcity.FormatLargeNumberByType(a.capacity, c).number : a.capacity,
h;
f.LoadString(function () {
h = f.GetText()
});
this.mResourceBarAmountControl.SetRawText(g + "/" + a + " " + h);
this.AutoResizeProgressBar(this.mResourceBarAmountControl, e)
} else
this.mResourceBarAmountControl.SetRawText(a.amount + "/" + a.capacity)
};
simcity.cAgentQueryUIHandler.prototype.GetResourceTextString = function (a) {
var b = 0;
switch (a) {
case simcity.NumberFormat.Tons:
b = "0x0e8d4573";
break;
case simcity.NumberFormat.Barrels:
b = "0x0e8d4575";
break;
case simcity.NumberFormat.Crates:
case simcity.NumberFormat.Units:
b = "0x0e8d4574"
}
return new scrui.cLocaleString("BuildingRollover.json", b, "AgentQueryUI")
};
simcity.cAgentQueryUIHandler.prototype.AutoResizeLayout = function (a) {
var b = a.GetTextWidth(),
a = a.mWidth - b;
0 > a && this.mAgentQueryUILayout.SetWidth(this.mAgentQueryUILayout.mWidth - a + 1)
};
simcity.cAgentQueryUIHandler.prototype.AutoResizeProgressBar = function (a) {
var b = a.GetTextWidth(),
c = a.mWidth - b;
0 > c ? (a.SetPosition(a.mLeft + c, a.mTop, b, a.mHeight), this.mAgentQueryUILayout.SetWidth(this.mAgentQueryUILayout.mWidth - a.mLeft + this.mResourceTextControl.mWidth), this.mResourceBarContainerControl.SetPosition(this.mResourceBarContainerControl.mLeft + c, this.mResourceBarContainerControl.mTop, b + 1, this.mResourceBarContainerControl.mHeight)) : this.mAgentQueryUILayout.SetWidth(this.mAgentQueryUILayout.mWidth -
a.mLeft + this.mResourceTextControl.mWidth + 10)
};
simcity.cAgentQueryUIHandler.prototype.GetGenderedTextFromLocaleString = function (a, b) {
var c = "";
a.LoadString(function () {
c = a.GetText({
gender : b
})
});
return c
};
simcity.cAgentQueryUIHandler.prototype.UpdateDestination = function (a) {
a ? this.mDestinationTextControl.SetTextColor(a) : this.mDestinationTextControl.SetTextColor(this.mDefaultDestinationTextColor);
this.mDestinationTextControl.SetRawText(this.mDestinationPrependText + " " + this.mDestinationText);
this.AutoResizeLayout(this.mDestinationTextControl)
};
simcity.cAgentQueryUIHandler.prototype.Show = function (a) {
this.mAgentQueryUILayout.SetVisibility(!0);
this.mFollowButtonControl.SetSelected(!1);
this.mZoomToSourceButtonControl.SetEnabled(a);
this.mZoomToSourceButtonControl.SetVisibility(!1);
this.mAvatarTemplateContainer.SetVisibility(!1);
this.mDestinationTextControl.SetRawText("");
this.mNameTextControl.SetPosition(this.mDefaultNamePositionLeft, this.mNameTextControl.mTop);
a ? this.mFollowButtonControl.SetVisibility(!0) : this.mFollowButtonControl.SetVisibility(!1)
};
simcity.cAgentQueryUIHandler.prototype.Hide = function () {
this.mAgentQueryUILayout.SetVisibility(!1);
this.mSimStatusIconWindowControl.SetVisibility(!1);
this.mResourceWindowControl.SetVisibility(!1);
this.mDestinationPrependText = this.mDestinationText = "";
this.mAgentGender = 1;
this.mDestinationTextControl.SetTextColor(this.mDefaultDestinationTextColor)
};
simcity.RegionTradeUI = {};
simcity.kRegionTradeOutgoingTokenPanelID = 239646136;
simcity.kRegionTradeIncomingTokenPanelID = 239644807;
simcity.kRegionTradeRefreshTime = 1E3;
simcity.kRegionTradeTokenType_Fire = "fire";
simcity.kRegionTradeTokenType_Police = "police";
simcity.kRegionTradeTokenType_Garbage = "garbage";
simcity.kRegionTradeTokenType_Health = "health";
simcity.kRegionTradeTokenTypes = [simcity.kRegionTradeTokenType_Fire, simcity.kRegionTradeTokenType_Police, simcity.kRegionTradeTokenType_Garbage, simcity.kRegionTradeTokenType_Health];
simcity.kRegionTradeResourceGiftAmount = 1E4;
simcity.kRegionTradeResourceGiftMaxAmount = 1E7;
simcity.kUtilityPanelIDs = {
myCity : {
rootPanel : 239654550,
tradePanel : 239644807,
noTradeText : 239811505,
titleText : 239812302
},
item : {
cityOwnerIcon : 240577914,
cityNameText : 242413919,
cityOwnerText : 242413908,
statusText : 242397569,
receivingFromCityText : 253390028,
button : 242397758
}
};
simcity.kTokenPanelIDs = {
outgoing : {
rootPanel : 239654560,
tokensPanel : 239646136,
noTokensText : 239811492,
titleText : 239812235,
removeTokenPanel : 239901846,
removeTokenButton : 239901837,
removeTokenText : 239901832
},
incoming : {
rootPanel : 239654550,
tokensPanel : 239644807,
noTokensText : 239811505,
titleText : 239812302,
shareTokenPanel : 239811577,
shareTokenButton : 239811671,
shareTokenText : 239811734
},
avatar : {
avatarImage : 237907905,
btnAvatar : 242832115,
avatarOnlineHighlight : 239800634,
avatarAlert : 239807635,
textWindow : 242832079,
playerName : 242832082
},
vehicle : {
iconAndButtonWindow : 247687083,
amountText : 244665831,
tooltipText : 239656078,
buttonsWindow : 246016822,
buttonAdd : 246016823,
buttonSubtract : 246016824,
icon : 239656036
}
};
simcity.kGiftingPanelIDs = {
resources : {
startingTabID : 249422240,
lastTabID : 249422250,
titleBarText : 241808376,
selectedCityTitleBarText : 241808377,
playingCity : {
amountText : 249485363,
nameText : 249485369,
truckIcon : 249761536,
railIcon : 249761537,
boatIcon : 249761538
},
viewingCity : {
avatarWindow : 243530044,
amountText : 249485356,
nameText : 249485359,
displayInfoAnimation : 249648679,
truckIcon : 249761539,
railIcon : 249761540,
boatIcon : 249761541
},
unconnectedCity : {
window : 249764729,
nameText : 249918847,
displayInfoAnimation : 249918411
},
sendButton : 236790941,
sendAmountText : 241707655,
incrementButton : 236790942,
decrementButton : 236790943,
maxAmountButton : 249916003,
pendingText : 249574691,
tab : {
button : 249484086,
lightIcon : 249484087,
darkIcon : 249484088,
tooltipResourceText : 249914354,
tooltipAmountText : 249914355
}
}
};
simcity.kGiftingTooltips = {
SendingEnabled : "",
UnclaimedOrUnconnectedCity : new scrui.cLocaleString("Gifting.json", "0x0ee94dee", "City not connected/claimed placeholder"),
GiftInProgress : new scrui.cLocaleString("Gifting.json", "0x0e952dc6", "Gift in progress placeholder"),
EmptyGiftAmount : new scrui.cLocaleString("Gifting.json", "0x0ee94def", "Increase gift amount placeholder")
};
simcity.cRegionTradeUIHandler = function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mRegionViewUI = simcity.gGlobalUIHandler.mRegionViewUIHandler;
this.mStatusIconLayoutPath = "Layouts/Region/TradeTokenStatusIcon.js";
this.mTimeSinceLastUpdate = 0;
this.mResourceGiftingItemControls = [];
this.mResourceGiftingCurrentAmount = this.mResourceGiftingSelectedTab = this.mRefreshTimer = 0;
this.mResourceGiftingMaxAmount = !1;
this.mResourceGiftingCurrentClickAmount = this.mResourceGiftingLastTickPress = this.mResourceGiftingLegendControl =
0
};
goog.inherits(simcity.cRegionTradeUIHandler, scrui.cUIHandler);
simcity.cRegionTradeUIHandler.kVehicleContainers = [249129195, 249129200, 249129202, 249129206, 249129209];
simcity.cRegionTradeUIHandler.kVehicleContainerImage = 248984352;
simcity.cRegionTradeUIHandler.kVehicleContainerTextAmount = 248984355;
simcity.cRegionTradeUIHandler.kNoCitySelectedBanner = 248983030;
simcity.cRegionTradeUIHandler.kGivingToBox = 248983052;
simcity.cRegionTradeUIHandler.kCoveringBox = 248983055;
simcity.cRegionTradeUIHandler.kTxtMyCityName = 248983081;
simcity.cRegionTradeUIHandler.kTxtNeighborCityName = 248983044;
simcity.cRegionTradeUIHandler.kTxtSpinnerValue = 248979371;
simcity.cRegionTradeUIHandler.kTxtServiceHoverName = 250259057;
simcity.cRegionTradeUIHandler.kTxtServiceHoverDescription = 250258365;
simcity.cRegionTradeUIHandler.kTxtServiceHoverImage = 250259876;
simcity.cRegionTradeUIHandler.kBtnIncrementVehicle = 248979367;
simcity.cRegionTradeUIHandler.kBtnDecrementVehicle = 248979369;
simcity.cRegionTradeUIHandler.kTxtSpinnerAmount = 248979371;
simcity.cRegionTradeUIHandler.kYourAvatarContainer = 248983083;
simcity.cRegionTradeUIHandler.kTradePartnerAvatarContainer = 249493477;
simcity.cRegionTradeUIHandler.kTxtServiceTradeTitleNeighbour = 249659712;
simcity.cRegionTradeUIHandler.kTxtServiceTradeTitle = 249659715;
simcity.cRegionTradeUIHandler.kTxtSelectCityText = 248983033;
simcity.cRegionTradeUIHandler.prototype.Init = function () {};
simcity.cRegionTradeUIHandler.prototype.HandleUIMessage = function (a, b, c) {
switch (a) {
case scrui.kMsgTypeButtonClicked:
switch (b) {
case simcity.cRegionTradeUIHandler.kBtnIncrementVehicle:
c.mUserData && this.ServiceVehicleButtonPressed("increment", c.mUserData);
break;
case simcity.cRegionTradeUIHandler.kBtnDecrementVehicle:
c.mUserData && this.ServiceVehicleButtonPressed("decrement", c.mUserData);
break;
case simcity.kUtilityPanelIDs.item.button:
c.mUserData && this.ToggleUtilityTrade(c);
break;
case simcity.kGiftingPanelIDs.resources.tab.button:
0 <=
c.mUserData && this.ShowGiftingTab(c.mUserData);
break;
case simcity.kGiftingPanelIDs.resources.sendButton:
c.mUserData && this.SendResourceGift(c);
break;
case simcity.kGiftingPanelIDs.resources.maxAmountButton:
this.mResourceGiftingMaxAmount = !0;
this.UpdateGiftingTextForSelectedTab();
break;
case simcity.kGiftingPanelIDs.resources.incrementButton:
this.UpdateGiftingClickRun();
this.mResourceGiftingCurrentAmount = 19 <= this.mResourceGiftingCurrentClickAmount && 0 == this.mResourceGiftingCurrentAmount % (50 * simcity.kRegionTradeResourceGiftAmount) ?
this.mResourceGiftingCurrentAmount + 50 * simcity.kRegionTradeResourceGiftAmount : 14 <= this.mResourceGiftingCurrentClickAmount && 0 == this.mResourceGiftingCurrentAmount % (10 * simcity.kRegionTradeResourceGiftAmount) ? this.mResourceGiftingCurrentAmount + 10 * simcity.kRegionTradeResourceGiftAmount : 5 <= this.mResourceGiftingCurrentClickAmount && 0 == this.mResourceGiftingCurrentAmount % (5 * simcity.kRegionTradeResourceGiftAmount) ? this.mResourceGiftingCurrentAmount + 5 * simcity.kRegionTradeResourceGiftAmount : this.mResourceGiftingCurrentAmount +
simcity.kRegionTradeResourceGiftAmount;
this.UpdateGiftingTextForSelectedTab();
break;
case simcity.kGiftingPanelIDs.resources.decrementButton:
this.UpdateGiftingClickRun(),
this.mResourceGiftingCurrentAmount = 19 <= this.mResourceGiftingCurrentClickAmount && 0 == this.mResourceGiftingCurrentAmount % (50 * simcity.kRegionTradeResourceGiftAmount) ? this.mResourceGiftingCurrentAmount - 50 * simcity.kRegionTradeResourceGiftAmount : 14 <= this.mResourceGiftingCurrentClickAmount && 0 == this.mResourceGiftingCurrentAmount % (10 * simcity.kRegionTradeResourceGiftAmount) ?
this.mResourceGiftingCurrentAmount - 10 * simcity.kRegionTradeResourceGiftAmount : 5 <= this.mResourceGiftingCurrentClickAmount && 0 == this.mResourceGiftingCurrentAmount % (5 * simcity.kRegionTradeResourceGiftAmount) ? this.mResourceGiftingCurrentAmount - 5 * simcity.kRegionTradeResourceGiftAmount : this.mResourceGiftingCurrentAmount - simcity.kRegionTradeResourceGiftAmount,
this.UpdateGiftingTextForSelectedTab()
}
}
};
simcity.cRegionTradeUIHandler.prototype.GetViewingCity = function () {
return this.mRegionViewUI.mSelectedRegionViewItem ? this.mRegionViewUI.mSelectedRegionViewItem.mRegionalBoxID : this.mRegionViewUI.mRegionData.mPlayingBox.uid
};
simcity.cRegionTradeUIHandler.prototype.GetServiceVehicleButton = function (a, b) {
var c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mContextPanelObj,
d = this.mRegionViewUI.mContextPanelDataBinding.getServiceVehicles();
if (!c || !d)
return null;
for (d = 0; d < simcity.cRegionTradeUIHandler.kVehicleContainers.length; d++) {
var e = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[d]);
if (e && (e = e.FindControlByID(a)) && e.mUserData && e.mUserData[0] == b)
return e
}
return null
};
simcity.cRegionTradeUIHandler.prototype.GetResourceButton = function (a) {
for (var b = simcity.kGiftingPanelIDs.resources.startingTabID, c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mContextPanelObj, d = 0, e = simcity.kGiftableResourcesDataBindings.length; d < e; ++d) {
if (simcity.kGiftableResourcesDataBindings[d]) {
var f = c.FindControlByID(b).FindControlByID(simcity.kGiftingPanelIDs.resources.tab.button);
if (f && f.mUserData == a)
return f
}
++b
}
return null
};
simcity.cRegionTradeUIHandler.prototype.ShowTokenUI = function (a) {
for (var b = this.mRegionViewUI.mContextPanelDataBinding, c = b.getServiceVehicles(), d = this.IsViewingOwnBox(), e = this.IsConnectedToPlayingCityViaRoad(this.GetViewingCity()), f = simcity.gGlobalUIHandler.mRegionViewUIHandler, g = f.mRegionData, h = f.mContextPanelObj, i = 0; i < simcity.cRegionTradeUIHandler.kVehicleContainers.length; i++) {
var j = h.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[i]);
if (j && (j.SetVisibility(!1), i < c.length && (j.SetVisibility(!0),
d || !e ? (j.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetVisibility(!1), j.FindControlByID(simcity.cRegionTradeUIHandler.kBtnDecrementVehicle).SetVisibility(!1)) : (j.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetVisibility(!0), j.FindControlByID(simcity.cRegionTradeUIHandler.kBtnDecrementVehicle).SetVisibility(!0)), j.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerImage).SetWindowImage(c[i].icon), j.FindControlByID(simcity.cRegionTradeUIHandler.kTxtServiceHoverName).SetLocaleText(c[i].text),
j.FindControlByID(simcity.cRegionTradeUIHandler.kTxtServiceHoverImage).SetWindowImage(c[i].rolloverIcon), j.FindControlByID(simcity.cRegionTradeUIHandler.kTxtServiceHoverDescription).SetLocaleText(c[i].rolloverText), f.mSelectedRegionViewItem))) {
var k = g.mConnectedUnits[f.mSelectedRegionViewItem.mRegionalBoxID];
j.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).mUserData = [c[i].index, k];
j.FindControlByID(simcity.cRegionTradeUIHandler.kBtnDecrementVehicle).mUserData = [c[i].index, k]
}
}
simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("tradeServicesYou");
c = h.FindControlByID(simcity.cRegionTradeUIHandler.kYourAvatarContainer);
c = {
playerID : g.mPlayingBox.creatorId,
layoutInfo : c,
isBoxClaimed : "true",
isMyBox : !0,
isCurrentBox : !1,
showAlerts : !1,
group : "tradeServicesYou",
boxID : g.mPlayingBox.uid
};
simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(c);
d ? h.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSelectCityText).SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ed7185a", "Select a city.")) : this.IsConnectedToPlayingCityViaRoad(this.GetViewingCity()) ?
h.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSelectCityText).SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ef7ea23", "Unclaimed city!")) : h.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSelectCityText).SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ef7ea24", "Too far away!"));
h.FindControlByID(simcity.cRegionTradeUIHandler.kTxtServiceTradeTitle).SetLocaleText(b.getServiceString());
b = b.getServiceDestinationString();
!d && e && (d = simcity.gGlobalUIHandler.mRegionViewUIHandler.mSelectedRegionViewItem.mRegionalBoxID,
e = "", e = g.mCities[d] ? g.mCities[d].name : scrui.ParseLocaleString(g.mCityDefaultData.cities[d].cityName).LoadAndGetTextSynchronous(), h.FindControlByID(simcity.cRegionTradeUIHandler.kTxtServiceTradeTitleNeighbour).SetLocaleText(b, {
cityname : e
}), simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("tradeServicesTradePartner"), g.mBoxes[d] && (e = h.FindControlByID(simcity.cRegionTradeUIHandler.kTradePartnerAvatarContainer), c = {
playerID : g.mBoxes[d].creatorId,
layoutInfo : e,
isBoxClaimed : "true",
isMyBox : g.mPlayingBox.creatorId ==
g.mBoxes[d].creatorId,
isCurrentBox : !1,
showAlerts : !1,
group : "tradeServicesTradePartner",
boxID : d
}, simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(c)));
(g = h.FindControlByID(253646199)) && g.UpdateLocaleText({
amount : this.GetIncomeTotalForTradedService(a)
});
this.SetupResourceTradingBaseUIState(h)
};
simcity.cRegionTradeUIHandler.prototype.GetIncomeTotalForTradedService = function (a) {
for (var b = 0, c = simcity.GetHistoryData(simcity.kTransactionsToTrack, 20), d = 0, e = c.length; d < e; d++) {
var f = c[d].label;
if ("fire" == a && f == simcity.gHistoryData[simcity.kHashServiceIncomeFire].label || "police" == a && f == simcity.gHistoryData[simcity.kHashServiceIncomePolice].label || "garbage" == a && f == simcity.gHistoryData[simcity.kHashServiceIncomeGarbage].label || "garbage" == a && f == simcity.gHistoryData[simcity.kHashServiceIncomeRecycling].label ||
"health" == a && f == simcity.gHistoryData[simcity.kHashServiceIncomeHealth].label)
b += c[d].amount
}
return b
};
simcity.cRegionTradeUIHandler.prototype.UpdateTokenUI = function () {
var a = this.mRegionViewUI.mContextPanelDataBinding,
b = simcity.gGlobalUIHandler.mRegionViewUIHandler,
c = b.mContextPanelObj,
d = a.getCurrentValueQueries();
scrui.RequestGameData(d, function (a) {
var b = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[0]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerImage).SetOpacity(a[0] ? 1 : 0.3);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerTextAmount).SetRawText(" " +
(a[0] - a[1]) + "/" + a[0]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSpinnerValue).SetRawText("0");
b.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetEnabled(0 < a[0] - a[1]);
b = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[1]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerImage).SetOpacity(a[2] ? 1 : 0.3);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerTextAmount).SetRawText(" " + (a[2] - a[3]) + "/" + a[2]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSpinnerValue).SetRawText("0");
b.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetEnabled(0 < a[2] - a[3]);
b = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[2]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerImage).SetOpacity(a[4] ? 1 : 0.3);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerTextAmount).SetRawText(" " + (a[4] - a[5]) + "/" + a[4]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSpinnerValue).SetRawText("0");
b.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetEnabled(0 <
a[4] - a[5]);
b = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[3]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerImage).SetOpacity(a[6] ? 1 : 0.3);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerTextAmount).SetRawText(" " + (a[6] - a[7]) + "/" + a[6]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSpinnerValue).SetRawText("0");
b.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetEnabled(0 < a[6] - a[7]);
b = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[4]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerImage).SetOpacity(a[8] ? 1 : 0.3);
b.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainerTextAmount).SetRawText(" " + (a[8] - a[9]) + "/" + a[8]);
b.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSpinnerValue).SetRawText("0");
b.FindControlByID(simcity.cRegionTradeUIHandler.kBtnIncrementVehicle).SetEnabled(0 < a[8] - a[9])
});
d = b.mSelectedRegionViewItem ? b.mSelectedRegionViewItem.mRegionalBoxID : null;
if (!this.IsViewingOwnBox() && this.IsConnectedToPlayingCityViaRoad(d))
for (var a =
a.getServiceVehicles(), b = b.mRegionData.mConnectedUnits[b.mSelectedRegionViewItem.mRegionalBoxID], e = 0; e < a.length; e++) {
var f = [a[e]],
d = [],
g = [];
simcity.GenerateDataBindingQueries(f, d, {
argumentList : [b]
}, g, !1, "queries");
simcity.RequestDataBindingData(d, f, g, !1, function (a) {
var a = a[0].outgoingVehicle,
b = c.FindControlByID(simcity.cRegionTradeUIHandler.kVehicleContainers[e]);
if (b) {
b.FindControlByID(simcity.cRegionTradeUIHandler.kBtnDecrementVehicle).SetEnabled(a > 0);
(b = b.FindControlByID(simcity.cRegionTradeUIHandler.kTxtSpinnerAmount)) &&
b.SetText(a)
}
})
}
};
simcity.cRegionTradeUIHandler.prototype.SetupResourceTradingBaseUIState = function (a) {
var b = this.IsViewingOwnBox(),
c = this.IsConnectedToPlayingCityViaRoad(this.GetViewingCity()),
d = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData;
a.FindControlByID(simcity.cRegionTradeUIHandler.kNoCitySelectedBanner).SetVisibility(b || !c);
a.FindControlByID(simcity.cRegionTradeUIHandler.kGivingToBox).SetVisibility(!b && c);
a.FindControlByID(simcity.cRegionTradeUIHandler.kCoveringBox).SetVisibility(b || !c);
b ? this.SetupTradingAvatars(a) :
(b = simcity.gGlobalUIHandler.mRegionViewUIHandler.mSelectedRegionViewItem.mRegionalBoxID, c = "", c = d.mCities[b] ? d.mCities[b].name : scrui.ParseLocaleString(d.mCityDefaultData.cities[b].cityName).LoadAndGetTextSynchronous(), a.FindControlByID(simcity.cRegionTradeUIHandler.kTxtNeighborCityName).SetText(c));
a.FindControlByID(simcity.cRegionTradeUIHandler.kTxtMyCityName).SetText(d.mPlayingBox.name);
this.UpdateTokenUI()
};
simcity.cRegionTradeUIHandler.prototype.GetCoveringAndReceivingDetails = function () {
var a = this.mRegionViewUI.mContextPanelDataBinding,
b = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData;
this.mListOfBoxesYouCover = {};
this.mListOfBoxesCoveringYou = {};
for (var c = this, d = Object.keys(b.mCityTradeData[b.mPlayingBox.uid].connections), e = a.getServiceVehicles(), f = 0; f < d.length; f++) {
var g = b.mBoxes[d[f]];
if (g && "true" === g.isClaimed && this.IsConnectedToPlayingCityViaRoad(d[f])) {
var h = parseInt(g.uid),
g = b.mConnectedUnits[h];
c.mListOfBoxesYouCover[h] = [];
c.mListOfBoxesCoveringYou[h] = [];
for (var i = 0; i < e.length; i++) {
var j = [e[i]],
k = [],
l = [];
simcity.GenerateDataBindingQueries(j, k, {
argumentList : [g]
}, l, !1, "queries");
simcity.RequestDataBindingData(k, j, l, !1, function (b) {
b = b[0];
if (b.outgoingVehicle) {
var d = {
category : a.tokenType,
icon : e[i].icon,
count : b.outgoingVehicle
};
c.mListOfBoxesYouCover[h].push(d)
}
if (b.incomingVehicle) {
d = {
category : a.tokenType,
icon : e[i].icon,
count : b.incomingVehicle
};
c.mListOfBoxesCoveringYou[h].push(d)
}
})
}
}
}
};
simcity.cRegionTradeUIHandler.prototype.SetupTradingAvatars = function (a) {
for (var b = [249487666, 249487665, 249487663, 249487661, 249487658], c = [249487650, 249487652, 249487654, 249487655, 249487657], d = 0; d < b.length; d++) {
var e = a.FindControlByID(b[d]);
e.SetVisibility(!1);
e = a.FindControlByID(c[d]);
e.SetVisibility(!1)
}
var f = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData,
g = simcity.cRegionTradeUIHandler.prototype.GetYourBoxID();
this.GetCoveringAndReceivingDetails();
for (var h = Object.keys(this.mListOfBoxesYouCover),
d = 0; d < h.length; d++) {
var i = h[d];
if (this.mListOfBoxesYouCover[i] && this.mListOfBoxesYouCover[i].length) {
var j = b[d],
e = a.FindControlByID(j);
e.SetVisibility(!0);
var j = e.FindControlByID(249494366),
k = i == g;
simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("servicesCovering" + d);
j = {
playerID : f.mCities[i].creatorId,
layoutInfo : j,
isBoxClaimed : "true",
isMyBox : k,
isCurrentBox : !1,
showAlerts : !1,
group : "servicesCovering" + d,
boxID : i
};
simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(j);
j = e.FindControlByID(249587886);
this.mHoverWindowDefaultHeight || (this.mHoverWindowDefaultHeight = j.mHeight);
e.FindControlByID(248984626).SetText(f.mCities[i].name);
e = e.FindControlByID(249576388);
this.mVehicleHoverLayouts = [];
for (var k = this.mListOfBoxesYouCover[i].length, l = 0; l < k; l++) {
this.mVehicleHoverLayouts[l] = gUIManager.LoadAndCacheLayout("Layouts/Region/TokenVehicle_AvatarCoverage.js", e);
this.mVehicleHoverLayouts[l].FindControlByID(249576508).SetWindowImage(this.mListOfBoxesYouCover[i][l].icon);
this.mVehicleHoverLayouts[l].FindControlByID(249576511).SetText("" +
this.mListOfBoxesYouCover[i][l].count);
var m = this.mVehicleHoverLayouts[l].mHeight,
n = this.mVehicleHoverLayouts[l].mLeft,
p = this.mVehicleHoverLayouts[l].mTop;
this.mVehicleHoverLayouts[l].SetPosition(n, p + l * m)
}
j.SetHeight(this.mHoverWindowDefaultHeight + e.mHeight * (k - 1) + 10)
}
}
for (d = 0; d < h.length; d++)
if (i = h[d], this.mListOfBoxesCoveringYou[i] && this.mListOfBoxesCoveringYou[i].length) {
j = c[d];
e = a.FindControlByID(j);
e.SetVisibility(!0);
j = e.FindControlByID(249494366);
k = i == g;
simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("servicesReceiving" +
d);
j = {
playerID : f.mCities[i].creatorId,
layoutInfo : j,
isBoxClaimed : "true",
isMyBox : k,
isCurrentBox : !1,
showAlerts : !1,
group : "servicesReceiving" + d,
boxID : i
};
simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(j);
j = e.FindControlByID(249587886);
this.mHoverWindowDefaultHeight || (this.mHoverWindowDefaultHeight = j.mHeight);
e.FindControlByID(248984626).SetText(f.mCities[i].name);
e = e.FindControlByID(249576388);
this.mVehicleHoverLayoutsReceive = [];
k = this.mListOfBoxesCoveringYou[i].length;
for (l = 0; l < k; l++)
this.mVehicleHoverLayoutsReceive[l] =
gUIManager.LoadAndCacheLayout("Layouts/Region/TokenVehicle_AvatarCoverage.js", e), this.mVehicleHoverLayoutsReceive[l].FindControlByID(249576508).SetWindowImage(this.mListOfBoxesCoveringYou[i][l].icon), this.mVehicleHoverLayoutsReceive[l].FindControlByID(249576511).SetText("" + this.mListOfBoxesCoveringYou[i][l].count), m = this.mVehicleHoverLayoutsReceive[l].mHeight, n = this.mVehicleHoverLayoutsReceive[l].mLeft, p = this.mVehicleHoverLayoutsReceive[l].mTop, this.mVehicleHoverLayoutsReceive[l].SetPosition(n, p +
l * m);
j.SetHeight(this.mHoverWindowDefaultHeight + e.mHeight * (k - 1) + 10)
}
};
simcity.cRegionTradeUIHandler.prototype.IsViewingClaimedBox = function () {
var a = !1,
b = simcity.gGlobalUIHandler.mRegionViewUIHandler,
c = b.mSelectedRegionViewItem;
c && (b.mRegionData.mBoxes[c.mRegionalBoxID] && "true" == b.mRegionData.mBoxes[c.mRegionalBoxID].isClaimed) && (a = this.IsConnectedToPlayingCityViaRoad(c.mRegionalBoxID));
return a
};
simcity.cRegionTradeUIHandler.prototype.IsConnectedToPlayingCityViaRoad = function (a) {
a = this.mRegionViewUI.GetDirectionalCityTradeData(a, simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid);
return null != a && 0 < a.transport.data.numberRoadConnections
};
simcity.cRegionTradeUIHandler.prototype.GetYourBoxID = function () {
return simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid
};
simcity.cRegionTradeUIHandler.prototype.IsViewingOwnBox = function () {
var a = null,
b = simcity.gGlobalUIHandler.mRegionViewUIHandler,
a = b.mSelectedRegionViewItem ? b.mSelectedRegionViewItem.mRegionalBoxID : b.mRegionData.mPlayingBox.uid;
return b.mRegionData.mPlayingBox.uid == a
};
simcity.cRegionTradeUIHandler.prototype.ServiceVehicleButtonPressed = function (a, b) {
if (b[1]) {
for (var c = 0; c < b[0]; ++c)
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", b[1], simcity.kRuleIDSCPlayerRuleCycleResearch]));
switch (a) {
case "increment":
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", b[1], simcity.kRuleIDSCPlayerRuleStartResearch]));
break;
case "decrement":
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", b[1], simcity.kRuleIDSCPlayerRuleCancelResearch]))
}
}
};
simcity.cRegionTradeUIHandler.prototype.GetCityTokens = function (a, b) {
for (var c = this.mRegionViewUI.GetCityTradeData(a), d = [], e = [], f = 0, g = c.outgoing.length; f < g; f++) {
var h = c.outgoing[f];
-1 != h.tradeData[b + "TokenPending"] ? 1 == h.tradeData[b + "TokenPending"] && d.push(h.cityData) : h.tradeData[b + "Token"] && d.push(h.cityData)
}
f = 0;
for (g = c.incoming.length; f < g; f++)
h = c.incoming[f], -1 != h.tradeData[b + "TokenPending"] ? 1 == h.tradeData[b + "TokenPending"] && e.push(h.cityData) : h.tradeData[b + "Token"] && e.push(h.cityData);
return {
outgoing : d,
incoming : e
}
};
simcity.cRegionTradeUIHandler.prototype.CanShareToken = function (a, b) {
var c = this.mRegionViewUI.mRegionData.mPlayingBox.uid;
if (this.mRegionViewUI.IsConnectedCity(a)) {
var d = this.mRegionViewUI.GetCityTradeData(c) || null,
e = this.mRegionViewUI.GetCityTradeData(a) || null;
if (d && (e && this.IsTokenAvailable(c, a, b)) && !this.IsSharingToken(c, a, b))
return !0
} else if (c == a && (d = this.mRegionViewUI.GetRegionalConnectedCities(c), 0 < d.length && (a = d[0][0].uid, d = this.mRegionViewUI.GetCityTradeData(c) || null, e = this.mRegionViewUI.GetCityTradeData(a) || null,
d && (e && this.IsTokenAvailable(c, a, b)) && !this.IsSharingToken(c, a, b))))
return !0;
return !1
};
simcity.cRegionTradeUIHandler.prototype.IsTokenAvailable = function (a, b, c) {
var d,
e,
f,
g,
h = [scrui.BuildRequestQuery(["bins", simcity.kResourceIDGarbageServiceTokenCounter]), scrui.BuildRequestQuery(["bins", simcity.kResourceIDFireServiceTokenCounter]), scrui.BuildRequestQuery(["bins", simcity.kResourceIDPoliceServiceTokenCounter]), scrui.BuildRequestQuery(["bins", simcity.kResourceIDHealthServiceTokenCounter])];
scrui.RequestGameData(h, function (a) {
d = 0 < a[0].amount;
e = 0 < a[1].amount;
f = 0 < a[2].amount;
g = 0 < a[3].amount
});
h = this.mRegionViewUI.mRegionData.mCityTradeData[b];
b = null;
if (h && (a = h.connections[a]) && a.connectionData && a.connectionData.hasOwnProperty("t2"))
b = a.connectionData.t2.data;
if (b)
switch (c) {
case simcity.kRegionTradeTokenType_Fire:
return 0 < b.fireStations || e;
case simcity.kRegionTradeTokenType_Police:
return 0 < b.policeStations || f;
case simcity.kRegionTradeTokenType_Garbage:
return 0 < b.garbageBases || d;
case simcity.kRegionTradeTokenType_Health:
return 0 < b.hospitals || g
}
return !1
};
simcity.cRegionTradeUIHandler.prototype.IsSharingToken = function (a, b, c) {
if (this.mRegionViewUI.IsConnectedCity(b) && (b = this.mRegionViewUI.GetCityTradeData(b) || null))
for (var d = 0, e = b.incoming.length; d < e; d++)
if (b.incoming[d].cityData.uid == a) {
var f = b.incoming[d].tradeData;
switch (c) {
case simcity.kRegionTradeTokenType_Fire:
return 0 <= f.fireTokenPending ? f.fireTokenPending : f.fireToken;
case simcity.kRegionTradeTokenType_Police:
return 0 <= f.policeTokenPending ? f.policeTokenPending : f.policeToken;
case simcity.kRegionTradeTokenType_Garbage:
return 0 <=
f.garbageTokenPending ? f.garbageTokenPending : f.garbageToken;
case simcity.kRegionTradeTokenType_Health:
return 0 <= f.healthTokenPending ? f.healthTokenPending : f.healthToken
}
}
return !1
};
simcity.cRegionTradeUIHandler.prototype.UpdateUtilityTradePanel = function (a, b, c, d) {
var e = Object.keys(this.mRegionViewUI.mRegionData.mCityTradeData[b].connections),
f = [],
g = [];
switch (a) {
case "Power":
g = ["0x0eb384b5", "0x0eb384b6", "0x0eb384b7", "0x0eb384b8"];
f = ["0x0e731a2a", "0x0e731a2b", "0x0e731a2c"];
break;
case "Water":
g = ["0x0eb384bb", "0x0eb384bc", "0x0eb384bd", "0x0eb384be"];
f = ["0x0e731a3a", "0x0e731a3b", "0x0e731a3c"];
break;
case "Sewage":
g = ["0x0eb384cb", "0x0eb384cc", "0x0eb384cd", "0x0eb384ce"];
f = ["0x0e731a4a",
"0x0e731a4b", "0x0e731a4c"];
break;
default:
scrui.Assert(!1, "ShowTradeUI - Undefined utility type: " + a)
}
var h = 0,
i = 0,
j = 0,
k = [scrui.BuildRequestQuery(["bins", simcity.kResourceIDPowerImportExchangeRate]), scrui.BuildRequestQuery(["bins", simcity.kResourceIDWaterImportExchangeRate]), scrui.BuildRequestQuery(["bins", simcity.kResourceIDSewageTreatmentImportExchangeRate])];
scrui.RequestGameData(k, function (a) {
h = a[0].amount;
i = a[1].amount;
j = a[2].amount
});
c.DestroyChildren();
for (var k = 0, l = [], m = !1, n = this.GetViewingCity(),
p = 0, q = e.length; p < q; ++p) {
var o = e[p];
if (n == this.mRegionViewUI.mRegionData.mPlayingBox.uid || n == o) {
var r = this.mRegionViewUI.mRegionData.mCities[o];
if (r) {
var s = this.mRegionViewUI.GetDirectionalCityTradeData(b, o),
t = this.mRegionViewUI.GetDirectionalCityTradeData(o, b);
if (this.IsConnectedToPlayingCityViaRoad(o)) {
var u = 0,
v = 0,
x = 0,
w = 0,
A = 0,
z = 0,
y = null;
switch (a) {
case "Power":
u = s.power.data.tradePower;
A = this.mRegionViewUI.mRegionData.mPlayingBox.uid != b ? 0 : t.power.data.boughtPowerPerHour;
v = this.mRegionViewUI.mRegionData.mPlayingBox.uid ==
b ? 0 : t.power.data.tradePower;
y = t.power.visualizedTradeData.tradePower;
z = h;
break;
case "Water":
u = s.water.data.tradingWater;
A = this.mRegionViewUI.mRegionData.mPlayingBox.uid != b ? 0 : t.water.data.boughtWaterPerHour;
v = this.mRegionViewUI.mRegionData.mPlayingBox.uid == b ? 0 : t.water.data.tradingWater;
y = t.water.visualizedTradeData.tradeWater;
z = i;
break;
case "Sewage":
u = s.sewage.data.tradeSewage,
A = this.mRegionViewUI.mRegionData.mPlayingBox.uid != b ? 0 : t.sewage.data.boughtTreatmentCapacityPerHour,
v = this.mRegionViewUI.mRegionData.mPlayingBox.uid ==
b ? 0 : t.sewage.data.tradeSewage,
y = t.sewage.visualizedTradeData.tradeSewage,
z = j
}
x = this.mRegionViewUI.DetermineTradeData(u, v);
s = !0;
x && 0 != x.amount ? (0 < x.amount ? (w = 2, x = x.amount) : (m = !0, x = -x.amount), s = "Sewage" == a ? this.mRegionViewUI.DetermineTradeStatus(o, b, !m, y) : this.mRegionViewUI.DetermineTradeStatus(b, o, !m, y)) : x = 0;
if (0 < x && (b == this.mRegionViewUI.mRegionData.mPlayingBox.uid && m || s)) {
y = gUIManager.LoadAndCacheLayout("Layouts/Region/UtilityTradeItem.js", c);
t = y.FindControlByID(simcity.kUtilityPanelIDs.item.button);
if (m && b == this.mRegionViewUI.mRegionData.mPlayingBox.uid) {
if (o = this.mRegionViewUI.mRegionData.mConnectedUnits[o]) {
u = 0;
switch (a) {
case "Power":
u = 13;
break;
case "Water":
u = 14;
break;
case "Sewage":
u = 15
}
t.mUserData = {
"0" : u,
1 : o
};
t.SetVisibility(!0);
t.SetSelected(s);
t.SetEnabled(!0);
s || (w = 1)
}
} else
t.SetVisibility(!1);
l.push({
cityName : r.name,
tradeAmount : x,
tradeAmountUsed : A,
exchangeRate : z,
textIndex : w,
layout : y
});
y.FindControlByID(simcity.kUtilityPanelIDs.item.cityNameText).SetRawText(r.name);
y.FindControlByID(simcity.kUtilityPanelIDs.item.cityOwnerText).SetRawText(r.creator.screenName);
z = y.FindControlByID(simcity.kUtilityPanelIDs.item.cityOwnerIcon);
simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("tradeServicesHim" + r.creator.id);
simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription({
playerID : r.creator.id,
layoutInfo : z,
isBoxClaimed : "true",
isMyBox : r.creator.id == this.mRegionViewUI.mRegionData.mPlayingBox.creatorId,
isCurrentBox : !1,
showAlerts : !1,
group : "tradeServicesHim" + r.creator.id,
boxID : r.uid
});
y.FindControlByID(simcity.kUtilityPanelIDs.item.statusText).SetLocaleText(new scrui.cLocaleString("RegionView.json",
f[w], "Receiving Utility"));
y.SetPosition(0, y.mHeight * k);
k++
}
}
}
}
}
p = 0;
for (b = l.length; p < b; p++) {
c = l[p];
w = c.textIndex;
z = c.exchangeRate / 1E3;
e = c.tradeAmountUsed;
r = simcity.FormatDecimalPlace(e / (1E3 * z), 0);
f = {
number : c.tradeAmount,
exponent : ""
};
m = {
number : e,
exponent : ""
};
q = z;
switch (a) {
case "Power":
f = simcity.FormatLargeNumberForPower(c.tradeAmount);
m = simcity.FormatLargeNumberForPower(c.tradeAmountUsed);
break;
case "Water":
case "Sewage":
f = simcity.FormatLargeNumberForFluid(c.tradeAmount),
m = simcity.FormatLargeNumberForFluid(c.tradeAmountUsed)
}
1 ==
w ? c.layout.FindControlByID(simcity.kUtilityPanelIDs.item.statusText).UpdateLocaleText({
amount1 : f.number,
exponent1 : f.exponent,
amount2 : q
}) : 1 > e / (1E3 * z) ? c.layout.FindControlByID(simcity.kUtilityPanelIDs.item.statusText).UpdateLocaleText({
amount : m.number,
amount1 : f.number,
amount2 : 0,
exponent : m.exponent,
exponent1 : f.exponent
}) : c.layout.FindControlByID(simcity.kUtilityPanelIDs.item.statusText).UpdateLocaleText({
amount : m.number,
amount1 : f.number,
amount2 : r,
exponent : m.exponent,
exponent1 : f.exponent
});
c.layout.FindControlByID(simcity.kUtilityPanelIDs.item.receivingFromCityText).UpdateLocaleText({
city : c.cityName
})
}
d.SetVisibility(0 ==
k);
0 == k && (n == this.mRegionViewUI.mRegionData.mPlayingBox.uid ? d.SetLocaleText(new scrui.cLocaleString("RegionView.json", g[0], "NO TRADES")) : this.IsConnectedToPlayingCityViaRoad(n) ? this.IsViewingClaimedBox() ? d.SetLocaleText(new scrui.cLocaleString("RegionView.json", g[1], "NO TRADES"), {
city : this.mRegionViewUI.mRegionData.mCities[n].name
}) : d.SetLocaleText(new scrui.cLocaleString("RegionView.json", g[2], "NO TRADES")) : d.SetLocaleText(new scrui.cLocaleString("RegionView.json", g[3], "NO TRADES")))
};
simcity.cRegionTradeUIHandler.prototype.ShowTradeUI = function (a) {
var b = gUIManager.FindControlByID(simcity.kUtilityPanelIDs.myCity.rootPanel),
c = this.mRegionViewUI.mRegionData.mCities[this.mRegionViewUI.mRegionData.mPlayingBox.uid];
b && (b.FindControlByID(simcity.kUtilityPanelIDs.myCity.titleText).SetRawText(c.name), this.UpdateUtilityTradePanel(a, this.mRegionViewUI.mRegionData.mPlayingBox.uid, b.FindControlByID(simcity.kUtilityPanelIDs.myCity.tradePanel), b.FindControlByID(simcity.kUtilityPanelIDs.myCity.noTradeText)))
};
simcity.cRegionTradeUIHandler.prototype.ToggleUtilityTrade = function (a) {
for (var b = 0; b < a.mUserData[0]; ++b)
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", a.mUserData[1], simcity.kRuleIDSCPlayerRuleCycleResearch]));
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", a.mUserData[1], simcity.kRuleIDSCPlayerRuleStartResearch]));
a.SetSelected(!a.mIsSelected);
this.mRegionViewUI.mInitialTradeDataRequestCompleted = !1;
this.mRegionViewUI.mTimeSinceLastDataUpdate = simcity.kRegionViewDataUpdateTimeMS -
1E3;
this.mRegionViewUI.mShouldUpdateDataLayerContextPanel = !0
};
simcity.cRegionTradeUIHandler.prototype.ShowGreatWorksUI = function () {};
simcity.cRegionTradeUIHandler.prototype.ShowGiftingUI = function () {
for (var a = this.mRegionViewUI.mRegionData.mPlayingBox.uid, b = this.GetViewingCity(), c = simcity.kGiftingPanelIDs.resources.startingTabID, d = simcity.gGlobalUIHandler.mRegionViewUIHandler.mContextPanelObj, e = 0, f = simcity.kGiftableResourcesDataBindings.length; e < f; ++e) {
var g = simcity.kGiftableResourcesDataBindings[e];
if (g) {
var h = d.FindControlByID(c);
h && (h.FindControlByID(simcity.kGiftingPanelIDs.resources.tab.button).mUserData = e, h.FindControlByID(simcity.kGiftingPanelIDs.resources.tab.button).SetSelected(this.mResourceGiftingSelectedTab ==
e), h.FindControlByID(simcity.kGiftingPanelIDs.resources.tab.lightIcon).SetWindowImage(g.lightIcon), h.FindControlByID(simcity.kGiftingPanelIDs.resources.tab.darkIcon).SetWindowImage(g.darkIcon), g.text.LoadString(), h.FindControlByID(simcity.kGiftingPanelIDs.resources.tab.tooltipResourceText).SetRawText(g.text.GetText()));
++c
}
}
this.mResourceGiftingLegendControl = 0;
simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("giftingResourcesPlayingCity");
c = d.FindControlByID(243530043);
c = {
playerID : this.mRegionViewUI.mRegionData.mPlayingBox.creatorId,
layoutInfo : c,
isBoxClaimed : "true",
isMyBox : !0,
isCurrentBox : !1,
showAlerts : !1,
group : "giftingResourcesPlayingCity",
boxID : this.mRegionViewUI.mRegionData.mPlayingBox.uid
};
simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(c);
d.FindControlByID(simcity.kGiftingPanelIDs.resources.viewingCity.avatarWindow).SetVisibility(a != b);
if (a != b) {
if (d.FindAnimationByID(simcity.kGiftingPanelIDs.resources.viewingCity.displayInfoAnimation).Start(scrui.cAnimation.kPlayForward), simcity.gGlobalUIHandler.mAvatarManagerHandler.ClearSubscriptions("giftingResourcesViewingCity"),
c = d.FindControlByID(243530044), this.mRegionViewUI.mRegionData.mBoxes[b] && (c = {
playerID : this.mRegionViewUI.mRegionData.mBoxes[b].creatorId,
layoutInfo : c,
isBoxClaimed : "true",
isMyBox : !1,
isCurrentBox : !1,
showAlerts : !1,
group : "giftingResourcesViewingCity",
boxID : this.mRegionViewUI.mRegionData.mBoxes[b].uid
}, simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(c)), a = (a = this.mRegionViewUI.mRegionData.mCityTradeData[a]) && null != a.connections[b], d.FindControlByID(simcity.kGiftingPanelIDs.resources.unconnectedCity.window).SetVisibility(!a),
!a)
a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData, c = "", c = a.mCities[b] ? a.mCities[b].name : scrui.ParseLocaleString(a.mCityDefaultData.cities[b].cityName).LoadAndGetTextSynchronous(), d.FindControlByID(simcity.kGiftingPanelIDs.resources.unconnectedCity.nameText).UpdateLocaleText({
cityName : c
}), d.FindAnimationByID(simcity.kGiftingPanelIDs.resources.unconnectedCity.displayInfoAnimation).Start(scrui.cAnimation.kPlayForward)
} else
d.FindControlByID(simcity.kGiftingPanelIDs.resources.unconnectedCity.window).SetVisibility(!1);
this.ShowGiftingTab(this.mResourceGiftingSelectedTab)
};
simcity.cRegionTradeUIHandler.prototype.ShowGiftingTab = function (a) {
if (this.mResourceGiftingLegendControl) {
var b = simcity.gGlobalUIHandler.mLayerUIHandler.mLegendLayout;
b && (b.FindControlByID(this.mResourceGiftingLegendControl).SetVisibility(!1), this.mResourceGiftingLegendControl = 0)
}
var c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mContextPanelObj,
d = simcity.kGiftableResourcesDataBindings[a];
if (d) {
simcity.gGlobalUIHandler.mLayerUIHandler.ActivateLayer(d.layerID);
this.mResourceGiftingSelectedTab != a &&
(this.mResourceGiftingCurrentAmount = 0);
if (d.legendID && (b = simcity.gGlobalUIHandler.mLayerUIHandler.mLegendLayout))
this.mResourceGiftingLegendControl = d.legendID, b.FindControlByID(this.mResourceGiftingLegendControl).SetVisibility(!0);
this.mResourceGiftingSelectedTab = a;
a = this.GetViewingCity();
d.text.LoadString();
b = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData;
c.FindControlByID(simcity.kGiftingPanelIDs.resources.titleBarText).UpdateLocaleText({
resource : d.text.GetText()
});
c.FindControlByID(simcity.kGiftingPanelIDs.resources.playingCity.nameText).UpdateLocaleText({
cityName : b.mPlayingBox.name
});
var e = "",
e = b.mCities[a] ? b.mCities[a].name : scrui.ParseLocaleString(b.mCityDefaultData.cities[a].cityName).LoadAndGetTextSynchronous();
c.FindControlByID(simcity.kGiftingPanelIDs.resources.selectedCityTitleBarText).UpdateLocaleText({
resource : d.text.GetText(),
cityName : e
});
c.FindControlByID(simcity.kGiftingPanelIDs.resources.viewingCity.nameText).UpdateLocaleText({
cityName : e
});
c.FindControlByID(simcity.kGiftingPanelIDs.resources.sendButton).mUserData = d.scriptIndex;
this.UpdateGiftingTextForSelectedTab()
}
};
simcity.cRegionTradeUIHandler.prototype.UpdateGiftingTextForSelectedTab = function () {
var a = this.mRegionViewUI.mRegionData.mPlayingBox.uid,
b = this.GetViewingCity(),
c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mContextPanelObj,
d = simcity.kGiftableResourcesDataBindings[this.mResourceGiftingSelectedTab];
if (d) {
var e = 0,
f = 0,
g = this.mRegionViewUI.mRegionData.mConnectedUnits[b];
g && d.enRouteQueries && (d.resourceID == simcity.kResourceIDSimoleons ? scrui.RequestGameData(d.enRouteQueries(g), function (a) {
e = a[0];
f = a[1]
}) :
scrui.RequestGameData(d.enRouteQueries(g), function (a) {
e = Math.max(0, a[0] + a[1]) * simcity.kRegionTradeResourceGiftAmount;
f = Math.max(0, a[2] + a[3]) * simcity.kRegionTradeResourceGiftAmount
}));
d.amountText.LoadString();
g = simcity.FormatLargeNumberByType(e, d.formatType);
g = d.amountText.GetText({
amount : g.number,
exponent : g.exponent
});
c.FindControlByID(simcity.kGiftingPanelIDs.resources.pendingText).UpdateLocaleText({
amount : g
});
if ((g = this.mRegionViewUI.mRegionData.mCityTradeData[a]) && g.giftableResources) {
var h = Math.max(0,
d.calculateTotal(g.giftableResources.data) - f),
i = Math.min(h, simcity.kRegionTradeResourceGiftMaxAmount);
if (this.mResourceGiftingMaxAmount) {
for (; this.mResourceGiftingCurrentAmount + simcity.kRegionTradeResourceGiftAmount <= i; )
this.mResourceGiftingCurrentAmount += simcity.kRegionTradeResourceGiftAmount;
this.mResourceGiftingMaxAmount = !1
} else {
for (; this.mResourceGiftingCurrentAmount > i; )
this.mResourceGiftingCurrentAmount -= simcity.kRegionTradeResourceGiftAmount;
this.mResourceGiftingCurrentAmount = Math.max(0, this.mResourceGiftingCurrentAmount)
}
var j =
simcity.kGiftingTooltips.SendingEnabled;
if (null == g.connections[b])
j = simcity.kGiftingTooltips.UnclaimedOrUnconnectedCity;
else if (0 == this.mResourceGiftingCurrentAmount && (j = simcity.kGiftingTooltips.EmptyGiftAmount), d.resourceID == simcity.kResourceIDSimoleons)
0 < f && (j = simcity.kGiftingTooltips.GiftInProgress), h = Math.max(0, d.calculateTotal(g.giftableResources.data));
c.FindControlByID(simcity.kGiftingPanelIDs.resources.sendButton).SetEnabled(j == simcity.kGiftingTooltips.SendingEnabled);
c.FindControlByID(simcity.kGiftingPanelIDs.resources.sendButton).SetTooltipLocaleText(j);
h = simcity.FormatLargeNumberByType(h, d.formatType);
c.FindControlByID(simcity.kGiftingPanelIDs.resources.playingCity.amountText).SetLocaleText(d.amountText, {
amount : h.number,
exponent : h.exponent
});
c.FindControlByID(simcity.kGiftingPanelIDs.resources.incrementButton).SetEnabled(this.mResourceGiftingCurrentAmount + simcity.kRegionTradeResourceGiftAmount <= i);
c.FindControlByID(simcity.kGiftingPanelIDs.resources.decrementButton).SetEnabled(0 < this.mResourceGiftingCurrentAmount);
h = simcity.FormatLargeNumberByType(this.mResourceGiftingCurrentAmount,
d.formatType);
c.FindControlByID(simcity.kGiftingPanelIDs.resources.sendAmountText).SetLocaleText(d.amountText, {
amount : h.number,
exponent : h.exponent
});
c.FindControlByID(simcity.kGiftingPanelIDs.resources.playingCity.truckIcon).SetVisibility(0 < g.giftableResources.data.numberOfTruckLots);
c.FindControlByID(simcity.kGiftingPanelIDs.resources.playingCity.railIcon).SetVisibility(0 < g.giftableResources.data.numberOfRailLots);
c.FindControlByID(simcity.kGiftingPanelIDs.resources.playingCity.boatIcon).SetVisibility(0 <
g.giftableResources.data.numberOfBoatLots)
}
if ((g = this.mRegionViewUI.mRegionData.mCityTradeData[b]) && g.giftableResources)
h = d.calculateTotal(g.giftableResources.data), h = simcity.FormatLargeNumberByType(h, d.formatType), c.FindControlByID(simcity.kGiftingPanelIDs.resources.viewingCity.amountText).SetLocaleText(d.amountText, {
amount : h.number,
exponent : h.exponent
}), c.FindControlByID(simcity.kGiftingPanelIDs.resources.viewingCity.truckIcon).SetVisibility(0 < g.giftableResources.data.numberOfTruckLots), c.FindControlByID(simcity.kGiftingPanelIDs.resources.viewingCity.railIcon).SetVisibility(0 <
g.giftableResources.data.numberOfRailLots), c.FindControlByID(simcity.kGiftingPanelIDs.resources.viewingCity.boatIcon).SetVisibility(0 < g.giftableResources.data.numberOfBoatLots)
}
b = simcity.kGiftingPanelIDs.resources.startingTabID;
c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mContextPanelObj;
i = 0;
for (j = simcity.kGiftableResourcesDataBindings.length; i < j; ++i)
if (d = simcity.kGiftableResourcesDataBindings[i]) {
var k = c.FindControlByID(b);
if (k && (g = this.mRegionViewUI.mRegionData.mCityTradeData[a]) && g.giftableResources)
h =
Math.max(0, d.calculateTotal(g.giftableResources.data)), h = simcity.FormatLargeNumberByType(h, d.formatType), k.FindControlByID(simcity.kGiftingPanelIDs.resources.tab.tooltipAmountText).SetLocaleText(d.amountText, {
amount : h.number,
exponent : h.exponent
});
++b
}
};
simcity.cRegionTradeUIHandler.prototype.UpdateGiftingClickRun = function () {
this.mResourceGiftingLastTickPress > gUIManager.mTickCount - 8 ? this.mResourceGiftingCurrentClickAmount++ : this.mResourceGiftingCurrentClickAmount = 0;
this.mResourceGiftingLastTickPress = gUIManager.mTickCount
};
simcity.cRegionTradeUIHandler.prototype.SendResourceGift = function (a) {
var b = this.mRegionViewUI.mRegionData.mConnectedUnits[this.GetViewingCity()];
if (b) {
for (; 0 < this.mResourceGiftingCurrentAmount; ) {
for (var c = 0; c < a.mUserData; ++c)
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", b, simcity.kRuleIDSCPlayerRuleCycleResearch]));
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", b, simcity.kRuleIDSCPlayerRuleStartResearch]));
this.mResourceGiftingCurrentAmount -= simcity.kRegionTradeResourceGiftAmount
}
this.mResourceGiftingCurrentAmount =
0;
0 == this.mResourceGiftingSelectedTab && simcity.CreateUnit("Trading_SendSimoleonGift", b);
simcity.ShowTradeCompleteSurvey()
}
};
simcity.cRegionTradeUIHandler.prototype.Update = scrui.Client_ProfZone("RegionTradeUIUpdate", function (a) {
this.mRegionViewUI.mIsContextPanelActive && this.mRegionViewUI.mContextPanelDataBinding && (this.mRefreshTimer -= a, 0 >= this.mRefreshTimer && (this.mRefreshTimer = simcity.kRegionTradeRefreshTime, "gifting" == this.mRegionViewUI.mContextPanelDataBinding.tradeType ? this.UpdateGiftingTextForSelectedTab() : "token" == this.mRegionViewUI.mContextPanelDataBinding.tradeType && this.UpdateTokenUI()))
});
simcity.CategoryQuerying = {};
simcity.gCategoryQueryDataBindings = {};
simcity.gCategoryDLC = {};
simcity.SetAlertLevel = function (a, b) {
var c = simcity.gGlobalUIHandler.mToolPaletteUIHandler,
d = a.hasOwnProperty("parentCategoryID");
if (d) {
var e = simcity.gGlobalUIHandler.mCategoryQueryingHandler;
e.mParentCategoryAlertLevels[a.parentCategoryID] = e.mParentCategoryAlertLevels.hasOwnProperty(a.parentCategoryID) ? Math.max(e.mParentCategoryAlertLevels[a.parentCategoryID], b) : b
}
c.UpdateAlert(a.categoryID, b, d)
};
simcity.UpdateCategoryAlert = function (a, b, c, d) {
var e = simcity.gGlobalUIHandler.mAlertsUIHandler;
void 0 === d && (d = 0);
e.UpdateAlertForCategory(a, b, c, d)
};
simcity.UpdateContextualInfo = function (a, b, c, d, e) {
var f = void 0 !== b,
g = simcity.gGlobalUIHandler.mCategoryQueryingHandler;
a && a.categoryID && (g.mContextualInfo[a.categoryID] = void 0 !== e ? {
showInfo : f,
tableID : b,
headerTextID : c,
bodyTextID : d,
bodyTableID : e
}
: {
showInfo : f,
tableID : b,
headerTextID : c,
bodyTextID : d
})
};
simcity.UpdateGenericContextualInfo = function (a, b) {
simcity.GenericCategory.updateCategoryInfo(a, b)
};
simcity.GetCategoryInfo = function (a, b) {
return simcity.gGlobalUIHandler.mCategoryQueryingHandler.GetDataBinding(a, b)
};
simcity.ForceUpdateCategory = function (a, b) {
var c = simcity.gGlobalUIHandler.mCategoryQueryingHandler,
d = b ? c.GetParentCategoryFromCategory(a) : a;
if (d)
for (var e = Object.keys(c.mDataBindings), f = 0, g = e.length; f < g; ++f)
if (e[f] == d) {
c.mDataBindingIndex = f;
c.mDataBindingForceUpdateIndex = f;
break
}
c.mTimeSinceLastQuery = 1E3;
c.RunQueries()
};
simcity.GetDLCAlert = function (a, b, c, d) {
if (b !== simcity.kAlertLevelCritical && a.hasOwnProperty("DLCAlerts"))
for (var e = 0, f = a.DLCAlerts.length; e < f; ++e) {
var g = (0, a.DLCAlerts[e])(c, d),
b = Math.max(b, g);
if (b === simcity.kAlertLevelCritical)
break
}
return b
};
simcity.UpdateDLCCategoryInfo = function (a, b, c, d) {
if (a.hasOwnProperty("DLCCategoryInfo"))
for (var e = 0, f = a.DLCCategoryInfo.length; e < f; ++e) {
var g = (0, a.DLCCategoryInfo[e])(b, c, d);
if (g)
return simcity.UpdateContextualInfo(a, g[0], g[1], g[2]), !0
}
return !1
};
simcity.GetCategoryInfoLayout = function () {
var a = null,
b = simcity.gGlobalUIHandler.mToolPaletteUIHandler;
b.mDemolishPanelOpen ? a = b.mDemolishInfoContainer : b.mInfoLayout && (a = b.mInfoLayout);
return a
};
simcity.GetCategoryInfoControl = function (a, b) {
var c = null,
d = simcity.GetCategoryInfoLayout(a);
if (d) {
if (d.hasOwnProperty(b))
return d[b];
c = d.FindControlByID(b);
d[b] = c
}
return c
};
simcity.NumberFormat = {};
simcity.NumberFormat.kiloGUID = 2030840470;
simcity.NumberFormat.megaGUID = 2724999403;
simcity.NumberFormat.gigaGUID = 1070310141;
simcity.NumberFormat.teraGUID = 3140225643;
simcity.NumberFormat.Tons = 3209013327;
simcity.NumberFormat.Units = 1821810158;
simcity.NumberFormat.Crates = 1016488917;
simcity.NumberFormat.Fluids = 2997842382;
simcity.NumberFormat.Power = 2391494160;
simcity.NumberFormat.Barrels = 2833605196;
simcity.NumberFormat.Standard = 3025917178;
simcity.FormatLargeNumber = function (a) {
var b = 1;
0 > a && (b = -1);
var c = 0;
1E12 < b * a ? (a /= 1E12, c = simcity.NumberFormat.teraGUID) : 1E9 < b * a ? (a /= 1E9, c = simcity.NumberFormat.gigaGUID) : 1E6 < b * a ? (a /= 1E6, c = simcity.NumberFormat.megaGUID) : 1E3 < b * a && (a /= 1E3, c = simcity.NumberFormat.kiloGUID);
b = "";
0 != c && (b = scrui.TextFromLocaleProperty({
tableID : simcity.StringID.TableGlobalUI,
stringID : c
}));
a = Math.round(100 * a) / 100;
return {
number : a,
exponent : b,
exponentGUID : c
}
};
simcity.FormatDecimalPlace = function (a, b) {
0 <= b && (a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b));
return a
};
simcity.FormatLargeNumberForPower = function (a) {
var b = simcity.NumberFormat.megaGUID,
c = scrui.TextFromLocaleProperty({
tableID : simcity.StringID.TableGlobalUI,
stringID : b
}),
a = simcity.FormatDecimalPlace(a / 1E3, 1);
return {
number : a,
exponent : c,
exponentGUID : b
}
};
simcity.FormatLargeNumberForFluid = function (a) {
var a = a / 1E3,
b = simcity.NumberFormat.kiloGUID,
c = scrui.TextFromLocaleProperty({
tableID : simcity.StringID.TableGlobalUI,
stringID : b
}),
a = simcity.FormatDecimalPlace(a, 1);
return {
number : a,
exponent : c,
exponentGUID : b
}
};
simcity.FormatLargeNumberForBarrels = function (a) {
a = simcity.FormatDecimalPlace(a / 10, 1);
return {
number : a,
exponent : "",
exponentGUID : 0
}
};
simcity.FormatLargeNumberForTons = function (a) {
a = simcity.FormatDecimalPlace(a / 1E3, 1);
return {
number : a,
exponent : "",
exponentGUID : 0
}
};
simcity.FormatLargeNumberForCrates = function (a) {
a = simcity.FormatDecimalPlace(a / 10, 1);
return {
number : a,
exponent : "",
exponentGUID : 0
}
};
simcity.FormatLargeNumberByType = function (a, b) {
switch (b) {
case simcity.NumberFormat.Power:
return simcity.FormatLargeNumberForPower(a);
case simcity.NumberFormat.Fluids:
return simcity.FormatLargeNumberForFluid(a);
case simcity.NumberFormat.Tons:
return simcity.FormatLargeNumberForTons(a);
case simcity.NumberFormat.Crates:
case simcity.NumberFormat.Units:
return simcity.FormatLargeNumberForCrates(a);
case simcity.NumberFormat.Barrels:
return simcity.FormatLargeNumberForBarrels(a);
case simcity.NumberFormat.Standard:
return simcity.FormatLargeNumber(a)
}
return {
number : a,
exponent : "",
exponentGUID : 0
}
};
simcity.IsFormattableType = function (a) {
switch (a) {
case simcity.NumberFormat.Power:
return !0;
case simcity.NumberFormat.Fluids:
return !0;
case simcity.NumberFormat.Tons:
return !0;
case simcity.NumberFormat.Crates:
case simcity.NumberFormat.Units:
return !0;
case simcity.NumberFormat.Barrels:
return !0;
case simcity.NumberFormat.Standard:
return !0
}
return !1
};
simcity.UpdateCategoryInfoMaintenaceCost = function (a, b) {
var c = simcity.GetCategoryInfoControl(a, 196874183);
c && (0 !== b && (b *= -1), c.UpdateLocaleText({
maintenance : b
}))
};
simcity.UpdateCategoryInfoWorkers = function (a, b, c) {
(a = simcity.GetCategoryInfoControl(a, 210950011)) && a.UpdateLocaleText({
amount : b,
capacity : c
})
};
simcity.UpdateCategoryInfoTextControl = function (a, b, c) {
(a = simcity.GetCategoryInfoControl(a, b)) && a.UpdateLocaleText(c)
};
simcity.UpdateCategoryInfoHorizontalSliderControl = function (a, b, c) {
if (a = simcity.GetCategoryInfoControl(a, b))
c = Math.max(0, Math.min(1, c)), a.SetPosition(a.mParentControl.mWidth * c - a.mWidth / 2, a.mTop)
};
simcity.UpdateCategoryInfoGauge = function (a, b, c) {
if (a = simcity.GetCategoryInfoControl(a, b))
c = Math.max(0, Math.min(1, c)), c = scrui.math.GetValueInRange(-90, 90, c), a.SetRotation(c)
};
simcity.UpdateCategoryInfoMeter = function (a, b, c, d) {
1 < c && (c = 1);
a = simcity.GetCategoryInfoControl(a, b);
d ? scrui.SetProgressBarHeight(a, c) : scrui.SetProgressBarWidth(a, c)
};
simcity.UpdateCategoryInfoAnimation = function (a, b, c, d) {
1 < c ? c = 1 : 0 > c && (c = 0);
a = a.FindAnimationByID(b);
b = a.GetDurationMS();
d ? a.PlayToTime(c * b) : a.JumpToTime(c * b)
};
simcity.cCategoryQueryingHandler = function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mTimeSinceLastQuery = 0;
this.mDataBindings = {};
this.mDataBindingIndex = 0;
this.mDataBindingForceUpdateIndex = null;
this.mUpdateOpenCategory = !1;
this.mContextualInfo = {};
this.mParentCategoryAlertLevels = {};
this.mQueryInProgress = this.mShouldDisplayContextualInfo = !1
};
goog.inherits(simcity.cCategoryQueryingHandler, scrui.cUIHandler);
simcity.cCategoryQueryingHandler.prototype.Update = scrui.Client_ProfZone("cCategoryQueryingHandler.Update", function (a) {
this.mTimeSinceLastQuery += a;
this.RunQueries()
});
simcity.cCategoryQueryingHandler.prototype.Init = function () {
for (var a in simcity.gCategoryQueryDataBindings) {
var b = simcity.gCategoryQueryDataBindings[a];
b.hasOwnProperty("parentCategoryID") ? (this.mDataBindings.hasOwnProperty(b.parentCategoryID) || (this.mDataBindings[b.parentCategoryID] = []), this.mDataBindings[b.parentCategoryID].push(b)) : this.mDataBindings[b.categoryID] = [b]
}
for (a in simcity.gCategoryDLC) {
var c = simcity.gCategoryDLC[a],
b = scrui.BuildRequestQuery([simcity.kDataBinAmount, c.unlockBin]);
scrui.RequestGameData([b],
function (a) {
if (a[0]) {
var a = c.category,
b = a.alertQueries,
f;
for (f in c.alertQueries)
b[f] = c.alertQueries[f];
a.DLCAlerts.push(c.getAlerts);
b = a.categoryInfoQueries;
for (f in c.categoryInfoQueries)
b[f] = c.categoryInfoQueries[f];
a.DLCCategoryInfo.push(c.getCategoryInfo)
}
})
}
};
simcity.cCategoryQueryingHandler.prototype.PrintDebugInfo = function () {
simcity.DEBUG && scrui.DebugPrint("cCategoryQueryingHandler gCategoryQueryDataBindings = " + Object.keys(simcity.gCategoryQueryDataBindings).length + ", gCategoryDLC = " + Object.keys(simcity.gCategoryDLC).length + ", mDataBindings = " + Object.keys(this.mDataBindings).length)
};
simcity.cCategoryQueryingHandler.prototype.GetDataBinding = function (a, b) {
if (a) {
if (!b && this.mDataBindings.hasOwnProperty(a))
return this.mDataBindings[a][0];
for (var c in this.mDataBindings)
for (var d = this.mDataBindings[c], e = 0, f = d.length; e < f; ++e) {
var g = d[e];
if (g.categoryID === a || g.categoryID === b)
return g
}
}
return null
};
simcity.cCategoryQueryingHandler.prototype.GetParentCategoryFromCategory = function (a) {
if (a)
for (var b in this.mDataBindings) {
if (b === a)
return b;
for (var c = this.mDataBindings[b], d = 0, e = c.length; d < e; ++d)
if (c[d].categoryID === a)
return b
}
return null
};
simcity.AddCategoryInfoDataBinding = function (a, b, c, d) {
var e = a.categoryInfoQueries;
b.push(e);
simcity.AddSimpleQueries(c, e);
d.push(a)
};
simcity.cCategoryQueryingHandler.prototype.RunQueries = scrui.Client_ProfZone("cCategoryQueryingHandler.RunQueries", function () {
if (!this.mQueryInProgress) {
this.mQueryInProgress = !0;
var a = simcity.gGlobalUIHandler.mToolPaletteUIHandler,
b = a.GetParentAndSubCategoryIDs(),
c = b[0],
d = b[1];
null === c && (this.mDataBindingForceUpdateIndex = null);
b = Object.keys(this.mDataBindings);
if (null == this.mDataBindingForceUpdateIndex && simcity.IsMainTutorialInProgress())
this.mQueryInProgress = !1;
else {
var e = null !== this.mDataBindingForceUpdateIndex &&
(this.mUpdateOpenCategory || simcity.IsMainTutorialInProgress()) ? this.mDataBindingForceUpdateIndex : this.mDataBindingIndex++;
this.mUpdateOpenCategory = !this.mUpdateOpenCategory;
var f = this.mDataBindings[b[e]];
this.mDataBindingIndex === b.length && (this.mDataBindingIndex = 0);
var g = f.length;
this.mParentCategoryAlertLevels = {};
for (var b = [], e = [], h = this, i = !1, j = 0, k = f.length; j < k; ++j) {
var l = f[j];
if (1E3 < this.mTimeSinceLastQuery && (l.categoryID === c || l.categoryID === d))
i = !0;
simcity.AddSimpleQueries(b, l.alertQueries);
e.push(l.alertQueries)
}
i &&
(j = this.GetDataBinding(c, d), simcity.AddCategoryInfoDataBinding(j, e, b, f));
simcity.AddCategoryInfoDataBinding(simcity.GenericCategory, e, b, f);
simcity.RequestDataBindingData(b, f, e, !1, function (b) {
var e = b[b.length - 1];
h.mShouldDisplayContextualInfo = simcity.GenericCategory.shouldDisplayContextualInfo(e);
for (var j = 0; j < g; ++j) {
var l = f[j];
if (l.hasOwnProperty("categoryID")) {
l.updateAlerts(b[j], e);
if (i && (l.categoryID === c || l.categoryID === d)) {
l.updateCategoryInfo(b[j], b[b.length - 2], e);
simcity.IsMainTutorialInProgress() &&
(simcity.gGlobalUIHandler.mTutorialManager.mTutorialData && simcity.gGlobalUIHandler.mTutorialManager.mTutorialData.hasOwnProperty("updateCategoryInfo")) && simcity.gGlobalUIHandler.mTutorialManager.mTutorialData.updateCategoryInfo(l)
}
}
}
f.pop();
i && f.pop();
if (h.mTimeSinceLastQuery > 1E3)
h.mTimeSinceLastQuery = 0;
for (var k in h.mParentCategoryAlertLevels)
a.UpdateAlert(Number(k), h.mParentCategoryAlertLevels[k]);
h.mQueryInProgress = false
})
}
}
});
simcity.PopulateNonTokenAvatars = function (a, b, c, d) {
var e = simcity.GetCategoryInfoControl(a, 243964766),
f = simcity.GetCategoryInfoControl(a, 243964768),
g = "export" === d,
d = f,
h = e;
g && (d = e, h = f);
c && h.DestroyChildren();
for (var e = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData, f = e.mPlayingBox.uid, h = Object.keys(e.mConnectedUnits), c = {}, i = 0; i < h.length; i++) {
var j = e.mCityTradeData[f],
k = h[i];
g && (j = e.mCityTradeData[h[i]], k = f);
if (j && e.mCities[h[i]] && j.connections[k]) {
var j = e.mCities[h[i]],
l = e.mConnectedUnits[h[i]],
m = !1,
k = "0x0ec47f94",
n = {
name : j.creator.screenName
},
p = 40,
q = -43;
switch (b) {
case "power":
var o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeSwitchPower]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPower])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradePowerUsedProfit])]);
scrui.RequestGameData(o, function (a) {
m = g ? a[0] : a[0] > 0 && a[1] > 0
});
n = {
name : j.creator.screenName
};
break;
case "water":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeSwitchWater]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDWater])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeWaterUsedProfit])]);
scrui.RequestGameData(o, function (a) {
m = g ? a[0] : a[0] > 0 && a[1] > 0
});
n = {
name : j.creator.screenName
};
break;
case "sewage":
o = [scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDTradeSwitchSewage])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeSewageExportAllowedUsedProfit])]);
scrui.RequestGameData(o, function (a) {
m = a[0]
});
n = {
name : j.creator.screenName
};
break;
case "fire":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFireTruckR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFireTruckR2]), scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDHazMatTruckR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFireInspectorR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFireHelicopterR2])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessFireTruckR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessFireTruckR2]),
scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessHazMatTruckR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessFireInspectorR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessFireHelicopterR2])]);
scrui.RequestGameData(o, function (a) {
m = a[0] + a[1] + a[2] + a[3] + a[4];
n = {
T1 : a[0],
T2 : a[1],
HazMat : a[2],
Inspector : a[3],
Helicopter : a[4]
}
});
k = "0x0e8be34b";
p = 90;
q =
-93;
break;
case "police":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPoliceCarR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPoliceDetectiveVanR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPoliceOutreachVanR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPoliceHelicopterR2])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessPoliceCarR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessPoliceDetectiveVanR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessPoliceOutreachVanR2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessPoliceHelicopterR2])]);
scrui.RequestGameData(o, function (a) {
m = a[0] + a[1] + a[2] + a[3];
n = {
PatrolCars : a[0],
Detective : a[1],
Outreach : a[2],
Helicopter : a[3]
}
});
k = "0x0e8bab35";
p = 75;
q = -78;
break;
case "health":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAmbulanceR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDCommunityOutreachVanR2])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessAmbulanceR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount,
simcity.kResourceIDTradeExcessCommunityOutreachVanR2])]);
scrui.RequestGameData(o, function (a) {
m = a[0] + a[1];
n = {
Ambulance : a[0],
Outreach : a[1]
}
});
k = "0x0e8be34c";
p = 45;
q = -48;
break;
case "garbage":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDGarbageTruckR1]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDRecyclingTruckR2])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessGarbageTruckR1]),
scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessRecyclingTruckR2])]);
scrui.RequestGameData(o, function (a) {
m = a[0] + a[1];
n = {
GarbageTrucks : a[0],
RecyclingTrucks : a[1]
};
if (simcity.IsMainTutorialInProgress() && !g) {
m = 1;
n = {
GarbageTrucks : 1,
RecyclingTrucks : 0
}
}
});
k = "0x0e8be34d";
p = 45;
q = -48;
break;
case "education":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDStudentE2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount,
simcity.kResourceIDStudentE3])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessStudentE2]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTradeExcessStudentE3])]);
scrui.RequestGameData(o, function (a) {
m = a[0] + a[1];
n = {
studentsE2 : a[0],
studentsE3 : a[1]
}
});
k = "0x0ee02d54";
p = 45;
q = -48;
break;
case "mining":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAlloy]), scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDCoal]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDMetal]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOreRaw])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAlloyTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDCoalTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDMetalTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOreRawTransportToSend])]);
scrui.RequestGameData(o, function (a) {
var b = g ? simcity.kRegionTradeResourceGiftAmount : 1;
m = a[0] + a[1] + a[2] + a[3];
n = {
Alloy : simcity.FormatLargeNumberByType(a[0] * b, simcity.NumberFormat.Tons).number,
Coal : simcity.FormatLargeNumberByType(a[1] * b, simcity.NumberFormat.Tons).number,
Metal : simcity.FormatLargeNumberByType(a[2] * b, simcity.NumberFormat.Tons).number,
OreRaw : simcity.FormatLargeNumberByType(a[3] * b, simcity.NumberFormat.Tons).number
}
});
k = "0x0ee58e9f";
p = 90;
q = -93;
break;
case "petroleum":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFuel]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOilCrude]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPlastic])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount,
simcity.kResourceIDFuelTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOilCrudeTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPlasticTransportToSend])]);
scrui.RequestGameData(o, function (a) {
var b = g ? simcity.kRegionTradeResourceGiftAmount : 1;
m = a[0] + a[1] + a[2];
n = {
Fuel : simcity.FormatLargeNumberByType(a[0] * b, simcity.NumberFormat.Barrels).number,
OilCrude : simcity.FormatLargeNumberByType(a[1] *
b, simcity.NumberFormat.Barrels).number,
Plastic : simcity.FormatLargeNumberByType(a[2] * b, simcity.NumberFormat.Crates).number
}
});
k = "0x0ee58ea0";
p = 75;
q = -78;
break;
case "electronics":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAlloy]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDComputer]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDElectronics]), scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDPlastic]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTelevision])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAlloyTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDComputerTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDElectronicsTransportToSend]),
scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPlasticTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTelevisionTransportToSend])]);
scrui.RequestGameData(o, function (a) {
var b = g ? simcity.kRegionTradeResourceGiftAmount : 1;
m = a[0] + a[1] + a[2] + a[3] + a[4];
n = {
Alloy : simcity.FormatLargeNumberByType(a[0] * b, simcity.NumberFormat.Tons).number,
Computer : simcity.FormatLargeNumberByType(a[1] * b, simcity.NumberFormat.Crates).number,
Electronics : simcity.FormatLargeNumberByType(a[2] * b, simcity.NumberFormat.Crates).number,
Plastic : simcity.FormatLargeNumberByType(a[3] * b, simcity.NumberFormat.Crates).number,
Television : simcity.FormatLargeNumberByType(a[4] * b, simcity.NumberFormat.Crates).number
}
});
k = "0x0ee58ea1";
p = 105;
q = -108;
break;
case "trade":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAlloy]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDCoal]), scrui.BuildRequestQuery([simcity.kDataUnits,
l, simcity.kDataBinAmount, simcity.kResourceIDComputer]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDElectronics]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFuel]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDMetal]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOilCrude]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount,
simcity.kResourceIDOreRaw]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPlastic]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTelevision])];
g && (o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDAlloyTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDCoalTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l,
simcity.kDataBinAmount, simcity.kResourceIDComputerTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDElectronicsTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFuelTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDMetalTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOilCrudeTransportToSend]),
scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDOreRawTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDPlasticTransportToSend]), scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTelevisionTransportToSend])]);
scrui.RequestGameData(o, function (a) {
var b = g ? simcity.kRegionTradeResourceGiftAmount : 1;
m = a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7] + a[8] + a[9];
n = {
Alloy : simcity.FormatLargeNumberByType(a[0] *
b, simcity.NumberFormat.Tons).number,
Coal : simcity.FormatLargeNumberByType(a[1] * b, simcity.NumberFormat.Tons).number,
Computer : simcity.FormatLargeNumberByType(a[2] * b, simcity.NumberFormat.Crates).number,
Electronics : simcity.FormatLargeNumberByType(a[3] * b, simcity.NumberFormat.Crates).number,
Fuel : simcity.FormatLargeNumberByType(a[4] * b, simcity.NumberFormat.Barrels).number,
Metal : simcity.FormatLargeNumberByType(a[5] * b, simcity.NumberFormat.Tons).number,
OilCrude : simcity.FormatLargeNumberByType(a[6] * b, simcity.NumberFormat.Barrels).number,
OreRaw : simcity.FormatLargeNumberByType(a[7] * b, simcity.NumberFormat.Tons).number,
Plastic : simcity.FormatLargeNumberByType(a[8] * b, simcity.NumberFormat.Crates).number,
Television : simcity.FormatLargeNumberByType(a[9] * b, simcity.NumberFormat.Crates).number
}
});
k = "0x0ee58e9e";
p = 180;
q = -183;
break;
case "bus":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDBusR2Stop]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDNumberOfBusT2Stops])];
scrui.RequestGameData(o,
function (a) {
m = a[0] > 0 && a[1] > 0
});
break;
case "train":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDTrainT2Stop]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDNumberOfTrainT2Stops])];
scrui.RequestGameData(o, function (a) {
m = a[0] > 0 && a[1] > 0
});
break;
case "boat":
o = [scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDFerryT1Stop]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDNumberOfFerryT1Stops]),
scrui.BuildRequestQuery([simcity.kDataUnits, l, simcity.kDataBinAmount, simcity.kResourceIDCruiseShipT2Stop]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDNumberOfCruiseShipT2Stops])],
scrui.RequestGameData(o, function (a) {
m = a[0] > 0 && a[1] > 0 || a[2] > 0 && a[3] > 0
})
}
0 < m && (l = simcity.gUIToolbox.GetAvatarUrl(j.creator.screenName), c[j.uid] = {
img : l,
token : n,
text : k,
cityName : j.name,
height : p,
top : q
})
}
}
e = [];
e = g || "power" === b || "water" === b || "sewage" === b ? [simcity.GetCategoryInfoControl(a, 251827585), simcity.GetCategoryInfoControl(a,
251827586), simcity.GetCategoryInfoControl(a, 251827587), simcity.GetCategoryInfoControl(a, 251827588), simcity.GetCategoryInfoControl(a, 251827589), simcity.GetCategoryInfoControl(a, 251827590)] : [simcity.GetCategoryInfoControl(a, 251828641), simcity.GetCategoryInfoControl(a, 251828642), simcity.GetCategoryInfoControl(a, 251828643), simcity.GetCategoryInfoControl(a, 251828644), simcity.GetCategoryInfoControl(a, 251828645), simcity.GetCategoryInfoControl(a, 251828646)];
simcity.DrawAvatars(e, d, c, a)
};
simcity.DrawAvatars = function (a, b, c) {
for (var d = 0, e = [], f = 0; f < a.length; f++)
if (a[f]) {
var g = a[f].GetAbsolutePosition(),
h = b.ConvertAbsoluteToLocalSpace(g[0], g[1], h);
e.push([h[0] - a[f].mWidth / 2 - 1, h[1] - a[f].mHeight])
}
if (b.hasOwnProperty("mChildren") && 0 < b.mChildren.length)
for (a = 0; a < b.mChildren.length; )
if (f = b.mChildren[a], c[f.mUserData])
delete c[f.mUserData], e[d] ? f.SetPosition(e[d][0], e[d][1]) : f.SetPosition(d * f.mWidth, f.mTop), d++, a++;
else if (f.DestroyControl(), !b.mChildren)
break;
a = Object.keys(c);
for (f = 0; f < a.length; f++) {
g =
gUIManager.LoadAndCacheLayout("Layouts/Palette/CategoryInfo/CoveredByAvatar.js", b);
e[d] ? g.SetPosition(e[d][0], e[d][1]) : g.SetPosition(d * g.mWidth, 0);
d++;
g.mUserData = a[f];
var h = c[a[f]].img,
i = g.FindControlByID(237907905);
simcity.gUIToolbox.SetAvatarByUrl(i, h);
g.FindControlByID(242832082).SetText(c[a[f]].cityName);
h = g.FindControlByID(244034683);
i = new scrui.cLocaleString("PaletteInfoPanel.json", c[a[f]].text, "Mayor Name");
h.SetLocaleText(i, c[a[f]].token);
g = g.mExposedProperties[0].mControl;
g.SetPosition(g.mLeft,
c[a[f]].top, g.mWidth, h.mTextElement.scrollHeight + 25)
}
};
simcity.databindings = {};
simcity.databindings.DataBindingsAgentQuery = {};
simcity.AgentQueryItems = {};
simcity.AgentQueryItems.kAgentQueryScreenPosition = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypePosition,
queries : function () {
return {
screenPosition : [simcity.kDataAgent, simcity.kDataScreenPosition]
}
}
};
simcity.AgentQueryItems.kAgentQueryShowGoToSource = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeShowGoToSource,
queries : function () {
return {
showGoToSource : [simcity.kDataAgent, simcity.kDataShowGoToSource]
}
},
update : function (a) {
return a.showGoToSource
}
};
simcity.AgentQueryItems.kAgentQueryRegionalBoxUID = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeRegionalBoxUID,
queries : function () {
return {
regionalBoxUID : [simcity.kDataAgent, simcity.kDataBinAmount, simcity.kResourceRegionalBoxUniqueID]
}
},
update : function (a) {
return a.regionalBoxUID
}
};
simcity.AgentQueryItems.kAgentQuerySimName = {
dynamic : !1,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeName,
queries : function () {
return {
simFirstName : [simcity.kDataAgent, simcity.kDataSimFirstName],
simLastName : [simcity.kDataAgent, simcity.kDataSimLastName]
}
},
update : function (a) {
return {
firstName : a.simFirstName,
lastName : a.simLastName
}
}
};
simcity.AgentQueryItems.kAgentQueryTransportName = {
dynamic : !1,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeName,
queries : function () {
return {
transportName : [simcity.kDataAgent, simcity.kDataTransportName],
regionalBoxUID : [simcity.kDataAgent, simcity.kDataBinAmount, simcity.kResourceRegionalBoxUniqueID]
}
},
update : function (a) {
if (0 < a.regionalBoxUID) {
var b = scrui.TextFromLocaleProperty({
tableID : "Units.json",
stringID : "0x0e02cac1"
});
simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCities[a.regionalBoxUID] &&
(b = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCities[a.regionalBoxUID].name);
return {
vehicleName : a.transportName,
cityName : b
}
}
return {
vehicleName : a.transportName
}
}
};
simcity.AgentQueryItems.kAgentQueryGender = {
dynamic : !1,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeGender,
queries : function () {
return {
gender : [simcity.kDataAgent, simcity.kDataGender]
}
},
update : function (a) {
return a.gender
}
};
simcity.AgentQueryItems.kAgentQueryDestination = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeDestination,
color : null,
queries : function () {
return {
destination : [simcity.kDataAgent, simcity.kDataDestination]
}
},
update : function (a) {
return a.destination
}
};
simcity.AgentQueryItems.kAgentQuerySourceName = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeSource,
queries : function () {
return {
sourceName : [simcity.kDataAgent, simcity.kDataSourceName],
regionalBoxUID : [simcity.kDataAgent, simcity.kDataSourceUnitRegionalBoxUniqueID]
}
},
update : function (a) {
return 0 < a.regionalBoxUID && simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCities[a.regionalBoxUID] ? simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCities[a.regionalBoxUID].name :
a.sourceName ? scrui.TextFromLocaleProperty(a.sourceName) : ""
}
};
simcity.AgentQueryItems.kAgentQueryHappiness = {
dynamic : !0,
iconPath : "Graphics/Common/Icons/icn_pledge_demo_pro_happiness.png",
localeString : new scrui.cLocaleString("AgentQuery.json", "0x0e3097f4", "Feeling Happy!"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeSimStatus,
queries : function () {
return {
happiness : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDHappinessToken]
}
},
update : function (a) {
return 0 < a.happiness.amount ? this.localeString : null
}
};
simcity.AgentQueryItems.kAgentQueryMoney = {
dynamic : !0,
iconPath : "ico_Alert_Profitability.png",
localeStringHome : new scrui.cLocaleString("AgentQuery.json", "0x0e3097f8", "Have Simoleons."),
localeStringWork : new scrui.cLocaleString("AgentQuery.json", "0x0e40a45d", "Just got paid."),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeSimStatus,
queries : function () {
return {
money : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDMoneyToken],
sourceBuildingType : [simcity.kDataAgent, "sourceBuildingType"]
}
},
update : function (a) {
return 0 <
a.money.amount ? "0x617c1f67" == a.sourceBuildingType || "0x1c8b3668" == a.sourceBuildingType ? this.localeStringWork : this.localeStringHome : null
}
};
simcity.AgentQueryItems.kAgentQueryKnowledgeToken = {
dynamic : !0,
iconPath : "Graphics/Common/Icons/icn_category_education.png",
localeString : new scrui.cLocaleString("AgentQuery.json", "0x0e8e6b2f", "Is smart."),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeSimStatus,
queries : function () {
return {
knowledgeToken : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDKnowledgeToken]
}
},
update : function (a) {
return 0 < a.knowledgeToken.amount ? this.localeString : null
}
};
simcity.AgentQueryItems.kAgentQuerySickness = {
dynamic : !0,
iconPath : "Graphics/Common/Icons/icn_happiness_health_sick.png",
localeString : new scrui.cLocaleString("AgentQuery.json", "0x0e3097fc", "Feeling sick."),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeSimStatus,
queries : function () {
return {
sicknessW1 : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDSickW1],
sicknessW2 : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDSickW2],
sicknessW3 : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDSickW2]
}
},
update : function (a) {
return 0 < a.sicknessW1.amount || 0 < a.sicknessW2.amount || 0 < a.sicknessW3.amount ? this.localeString : null
}
};
simcity.AgentQueryItems.kAgentQueryFailedToFindSink = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeDestination,
color : "red",
queries : function () {
return {
failText : [simcity.kDataAgent, simcity.kDataFailToFindSink]
}
},
update : function (a) {
return a.failText
}
};
simcity.AgentQueryItems.kAgentQueryStuckInTraffic = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeDestination,
localeString : new scrui.cLocaleString("AgentQuery.json", "0x0e41f8d9", "Stuck in traffic"),
color : "red",
queries : function () {
return {
isStuckInTraffic : [simcity.kDataAgent, "stuckInTraffic"]
}
},
update : function (a) {
if (a.isStuckInTraffic) {
var b = this,
c;
b.localeString.LoadString(function () {
c = b.localeString.GetText()
});
return c
}
return ""
}
};
simcity.AgentQueryItems.kAgentQueryCoal = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0xcec5890c", "Coal"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Tons,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDCoal]
}
}
};
simcity.AgentQueryItems.kAgentQueryOreRaw = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x96cf3b07", "Ore"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Tons,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDOreRaw]
}
}
};
simcity.AgentQueryItems.kAgentQueryMetal = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x9375c65e", "Metal"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Tons,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDMetal]
}
}
};
simcity.AgentQueryItems.kAgentQueryAlloy = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x1e16cfe6", "Alloy"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Tons,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDAlloy]
}
}
};
simcity.AgentQueryItems.kAgentQueryFuel = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x9ea37dd1", "Fuel"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Barrels,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDFuel]
}
}
};
simcity.AgentQueryItems.kAgentQueryPlastic = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x27638c5b", "Plastic"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Units,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDPlastic]
}
}
};
simcity.AgentQueryItems.kAgentQueryElectronics = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0dfc0e9f", "Electronics"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Units,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDElectronics]
}
}
};
simcity.AgentQueryItems.kAgentQueryComputer = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x8da94c6a", "Computer"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Units,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDComputer]
}
}
};
simcity.AgentQueryItems.kAgentQueryTelevision = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0xb8b5dd59", "Television"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Units,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDTelevision]
}
}
};
simcity.AgentQueryItems.kAgentQueryOilCrude = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0xbf75dc04", "Oil"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Barrels,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDOilCrude]
}
}
};
simcity.AgentQueryItems.kAgentQuerySimoleons = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0ee2d5d8", "Simoleons"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Units,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDSimoleons]
}
}
};
simcity.AgentQueryItems.kAgentQueryGarbage = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e30d0a2", "Garbage"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Tons,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDGarbage]
}
}
};
simcity.AgentQueryItems.kAgentQueryRecycling = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e388ece", "Recyclables"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Tons,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDRecyclables]
}
}
};
simcity.AgentQueryItems.kAgentQueryBus = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDBusPassenger]
}
}
};
simcity.AgentQueryItems.kAgentQuerySchoolBus = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDSchoolBusPassenger]
}
}
};
simcity.AgentQueryItems.kAgentQueryCoach = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDCoachPassenger]
}
}
};
simcity.AgentQueryItems.kAgentQueryLightTrain = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDLightTrainPassenger]
}
}
};
simcity.AgentQueryItems.kAgentQueryTrain = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDTrainPassenger]
}
}
};
simcity.AgentQueryItems.kAgentQueryFerry = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDFerryPassenger]
}
}
};
simcity.AgentQueryItems.kAgentQueryCruiseShip = {
dynamic : !0,
localeString : new scrui.cLocaleString("Resources.json", "0x0e62eb01", "Passengers"),
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeResourceBin,
formatType : simcity.NumberFormat.Standard,
queries : function () {
return {
resource : [simcity.kDataAgent, simcity.kDataBins, simcity.kResourceIDCruiseShipPassenger]
}
}
};
simcity.kSharedAgentQueryDataBindings = [simcity.AgentQueryItems.kAgentQueryScreenPosition, simcity.AgentQueryItems.kAgentQueryShowGoToSource, simcity.AgentQueryItems.kAgentQueryRegionalBoxUID];
simcity.kSharedAgentQueryTimedRefreshDataBindings = [simcity.AgentQueryItems.kAgentQueryDestination, simcity.AgentQueryItems.kAgentQuerySourceName];
simcity.AgentQueryDataBindings = {};
simcity.AgentQueryDataBindings[scrui.IDFromName("Default")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.AgentQueryDataBindings[scrui.IDFromName("Sim")] = [simcity.AgentQueryItems.kAgentQueryGender, simcity.AgentQueryItems.kAgentQuerySimName, simcity.AgentQueryItems.kAgentQueryMoney, simcity.AgentQueryItems.kAgentQueryHappiness, simcity.AgentQueryItems.kAgentQuerySickness, simcity.AgentQueryItems.kAgentQueryFailedToFindSink];
simcity.AgentQueryDataBindings[scrui.IDFromName("SimCar")] = [simcity.AgentQueryItems.kAgentQueryGender, simcity.AgentQueryItems.kAgentQuerySimName, simcity.AgentQueryItems.kAgentQueryMoney, simcity.AgentQueryItems.kAgentQueryHappiness, simcity.AgentQueryItems.kAgentQuerySickness, simcity.AgentQueryItems.kAgentQueryFailedToFindSink];
simcity.AgentQueryDataBindings[scrui.IDFromName("SimNoTokens")] = [simcity.AgentQueryItems.kAgentQueryGender, simcity.AgentQueryItems.kAgentQuerySimName];
simcity.AgentQueryDataBindings[scrui.IDFromName("Kid")] = [simcity.AgentQueryItems.kAgentQueryGender, simcity.AgentQueryItems.kAgentQuerySimName, simcity.AgentQueryItems.kAgentQueryKnowledgeToken];
simcity.AgentQueryDataBindings[scrui.IDFromName("SimTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.AgentQueryDataBindings[scrui.IDFromName("LightTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.AgentQueryDataBindings[scrui.IDFromName("HeavyTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.AgentQueryDataBindings[scrui.IDFromName("IndustrialTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.AgentQueryDataBindings[scrui.IDFromName("FreightTrain")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.AgentQueryDataBindings[scrui.IDFromName("CoalTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryCoal];
simcity.AgentQueryDataBindings[scrui.IDFromName("OreTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryOreRaw];
simcity.AgentQueryDataBindings[scrui.IDFromName("MetalTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryMetal];
simcity.AgentQueryDataBindings[scrui.IDFromName("AlloyTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryAlloy];
simcity.AgentQueryDataBindings[scrui.IDFromName("FuelTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryFuel];
simcity.AgentQueryDataBindings[scrui.IDFromName("PlasticTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryPlastic];
simcity.AgentQueryDataBindings[scrui.IDFromName("ElectronicsTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryElectronics];
simcity.AgentQueryDataBindings[scrui.IDFromName("ComputerTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryComputer];
simcity.AgentQueryDataBindings[scrui.IDFromName("TelevisionTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryTelevision];
simcity.AgentQueryDataBindings[scrui.IDFromName("OilTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryOilCrude];
simcity.AgentQueryDataBindings[scrui.IDFromName("SimoleonsTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQuerySimoleons];
simcity.AgentQueryDataBindings[scrui.IDFromName("GarbageTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryGarbage];
simcity.AgentQueryDataBindings[scrui.IDFromName("RecyclingTruck")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryRecycling];
simcity.AgentQueryDataBindings[scrui.IDFromName("Bus")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryBus];
simcity.AgentQueryDataBindings[scrui.IDFromName("SchoolBus")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQuerySchoolBus];
simcity.AgentQueryDataBindings[scrui.IDFromName("Coach")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryCoach];
simcity.AgentQueryDataBindings[scrui.IDFromName("LightTrain")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryLightTrain];
simcity.AgentQueryDataBindings[scrui.IDFromName("Train")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryTrain];
simcity.AgentQueryDataBindings[scrui.IDFromName("Ferry")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryFerry];
simcity.AgentQueryDataBindings[scrui.IDFromName("CruiseShip")] = [simcity.AgentQueryItems.kAgentQueryTransportName, simcity.AgentQueryItems.kAgentQueryCruiseShip];
simcity.AgentQueryDataBindings[scrui.IDFromName("Boat")] = [simcity.AgentQueryItems.kAgentQueryTransportName];
simcity.ActorQueryItems = {};
simcity.ActorQueryItems.kActorQueryScreenPosition = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypePosition,
queries : function () {
return {
screenPosition : [simcity.kDataActor, simcity.kDataScreenPosition]
}
}
};
simcity.ActorQueryItems.kActorQueryRegionalBoxUID = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeRegionalBoxUID,
queries : function () {
return {
regionalBoxUID : [simcity.kDataAgent, simcity.kDataBinAmount, simcity.kResourceRegionalBoxUniqueID]
}
},
update : function (a) {
return a.regionalBoxUID
}
};
simcity.ActorQueryItems.kActorQueryGender = {
dynamic : !1,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeGender,
queries : function () {
return {
gender : [simcity.kDataActor, simcity.kDataGender]
}
},
update : function (a) {
return a.gender
}
};
simcity.ActorQueryItems.kActorQuerySimName = {
dynamic : !1,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeName,
queries : function () {
return {
simFirstName : [simcity.kDataActor, simcity.kDataSimFirstName],
simLastName : [simcity.kDataActor, simcity.kDataSimLastName]
}
},
update : function (a) {
return {
firstName : a.simFirstName,
lastName : a.simLastName
}
}
};
simcity.ActorQueryItems.kActorQueryDestination = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeDestination,
color : null,
queries : function () {
return {
destination : [simcity.kDataActor, simcity.kDataDestination]
}
},
update : function (a) {
return a.destination
}
};
simcity.ActorQueryItems.kActorQuerySourceName = {
dynamic : !0,
allowNullResults : !0,
bindingType : simcity.cAgentQueryUIHandler.kBindingTypeSource,
queries : function () {
return {
sourceName : [simcity.kDataActor, simcity.kDataSourceName]
}
},
update : function (a) {
return a.sourceName ? scrui.TextFromLocaleProperty(a.sourceName) : ""
}
};
simcity.kSharedActorQueryDataBindings = [simcity.ActorQueryItems.kActorQueryScreenPosition];
simcity.kSharedActorQueryTimedRefreshDataBindings = [simcity.ActorQueryItems.kActorQueryGender, simcity.ActorQueryItems.kActorQuerySimName, simcity.ActorQueryItems.kActorQueryDestination, simcity.ActorQueryItems.kActorQuerySourceName];
simcity.EventTriggering = {};
simcity.kLowSBTestingRate = 3;
simcity.cEventTriggersManager = function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mDataBindings = [];
this.mCategories = [];
this.categoryIndex = 0;
this.mUnlockCategoryMap = {};
this.mUpdateTime = 0;
this.mMaxTriggersToTest = simcity.kLowSBTestingRate;
this.mEnabled = !0
};
goog.inherits(simcity.cEventTriggersManager, scrui.cUIHandler);
simcity.cEventTriggersManager.prototype.Init = function () {
var a = simcity.gGlobalUIHandler.mIsTutorialEnabled;
if (!a) {
delete simcity.SpeechBalloonPolling.Tutorials;
var b = [],
c = [];
this.mMaxTriggersToTest = simcity.kLowSBTestingRate;
for (var d in simcity.SpeechBalloonPolling) {
var e = simcity.SpeechBalloonPolling[d];
e.hasOwnProperty("unlockBin") ? (b.push(scrui.BuildRequestQuery([simcity.kDataBinAmount, e.unlockBin])), c.push(e), e.hasOwnProperty("unlockEvent") && (this.mUnlockCategoryMap[e.unlockEvent] = e)) : a || this.mCategories.push(e);
e = e.DataBindings;
for (d in e) {
var f = e[d];
f.hasOwnProperty("test") && f.test()
}
}
var g = this;
scrui.RequestGameData(b, function (a) {
for (var b = 0, d = a.length; b < d; ++b)
if (0 < a[b]) {
var e = c[b];
g.mCategories.push(e);
e.hasOwnProperty("unlockEvent") && delete g.mUnlockCategoryMap[e.unlockEvent]
}
b = 0;
for (d = g.mCategories.length; b < d; ++b)
e = g.mCategories[b], e.triggerIndex = 0, e.dataBindingKeys = Object.keys(e.DataBindings)
})
}
};
simcity.cEventTriggersManager.prototype.HandleGameEvent = function (a, b) {
switch (a) {
case simcity.kGameMessageUnitRuleUIEvent:
case simcity.kGameMessageGlobalRuleUIEvent:
var c = b.eventID;
this.mUnlockCategoryMap.hasOwnProperty(c) && (c = this.mUnlockCategoryMap[c], c.triggerIndex = 0, c.dataBindingKeys = Object.keys(c.DataBindings), this.mCategories.push(c), delete this.mUnlockCategoryMap[c.unlockEvent])
}
};
simcity.cEventTriggersManager.prototype.RemoveDataBinding = function (a) {
for (var b = 0, c = this.mCategories.length; b < c; ++b) {
var d = this.mCategories[b];
if (d.DataBindings.hasOwnProperty(a.id)) {
delete d.DataBindings[a.id];
d.dataBindingKeys = Object.keys(d.DataBindings);
a = d.dataBindingKeys.length;
0 === a ? (this.mCategories.splice(b, 1), this.categoryIndex === this.mCategories.length && (this.categoryIndex = Math.max(0, this.categoryIndex - 1))) : d.triggerIndex === a && --d.triggerIndex;
return
}
}
scrui.Assert(a.enableInTutorial, "cEventTriggersManager failed to remove databinding " +
a.id)
};
simcity.AddDataBindingIfNeeded = scrui.Client_ProfZone("simcity.AddDataBindingIfNeeded", function (a, b, c, d, e, f) {
if (!a.hasOwnProperty("timeToFire") || f > a.timeToFire)
a.timeToFire = f + Math.random() * (a.triggerTime[1] - a.triggerTime[0]) + a.triggerTime[0], simcity.TestSpeechBalloonTriggerHelper(a) && (simcity.AddSimpleQueries(c, a.queries), d[b] = a.queries, e[b] = a, ++b);
return b
});
simcity.cEventTriggersManager.prototype.Update = scrui.Client_ProfZone("cEventTriggersManager.Update", function () {
if (this.mEnabled) {
var a = simcity.gGlobalUIHandler.mGameTimeManager,
b = a.GetElapsedGameTimeSeconds();
this.mUpdateTime += b;
if (1 < this.mUpdateTime && (scrui.Client_ProfBegin("cEventTriggersManager.Update>settingUp"), this.mUpdateTime = 0, 0 !== this.mCategories.length)) {
a = a.GetTotalElapsedGameTimeSeconds();
b = this.mCategories[this.categoryIndex];
++this.categoryIndex;
this.categoryIndex === this.mCategories.length &&
(this.categoryIndex = 0);
for (var c = Array(this.mMaxTriggersToTest), d = [], e = Array(this.mMaxTriggersToTest), f = b.DataBindings, g = b.dataBindingKeys.length, h = b.triggerIndex, i = g - h, j = 0, k = h + Math.min(i, this.mMaxTriggersToTest), l = h; l < k; ++l) {
var m = b.dataBindingKeys[l],
n = f[m];
n.id = Number(m);
j = simcity.AddDataBindingIfNeeded(n, j, d, e, c, a)
}
if (0 < h && i < this.mMaxTriggersToTest) {
k = this.mMaxTriggersToTest - i;
for (l = 0; l < k; ++l)
m = b.dataBindingKeys[l], n = f[m], n.id = Number(m), j = simcity.AddDataBindingIfNeeded(n, j, d, e, c, a)
}
b.triggerIndex =
k === g ? 0 : k;
scrui.Client_ProfEnd();
0 < j && (c.length = j, e.length = j, simcity.RequestDataBindingData(d, c, e, !1, function (a) {
for (var b = 0, d = c.length; b < d; ++b) {
var e = c[b];
simcity.TestSpeechBalloonTriggerWithGlobalQueries(e, a[b]) && simcity.gGlobalUIHandler.mSpeechBalloonHandler.AddSpeechBalloonWithoutUnit(e)
}
}))
}
}
});
simcity.GameResourceIDs = {};
simcity.kResourceIDResidents = 506990972;
simcity.kResourceIDTotalResidential = 681686445;
simcity.kResourceIDResidentialShopperW1 = 2934929422;
simcity.kResourceIDResidentialShopperW2 = 2934929421;
simcity.kResourceIDResidentialShopperW3 = 2934929420;
simcity.kResourceIDHotItemsW1ProducedYesterday_Day = 3247323853;
simcity.kResourceIDHotItemsW2ProducedYesterday_Day = 4075527244;
simcity.kResourceIDHotItemsW3ProducedYesterday_Day = 3651520519;
simcity.kResourceIDHotItemsW1ProducedYesterday_Night = 392353857;
simcity.kResourceIDHotItemsW2ProducedYesterday_Night = 2856525928;
simcity.kResourceIDHotItemsW3ProducedYesterday_Night = 2758533907;
simcity.kResourceIDHotItemsW1ConsumedYesterday_Day = 595423747;
simcity.kResourceIDHotItemsW2ConsumedYesterday_Day = 618980098;
simcity.kResourceIDHotItemsW3ConsumedYesterday_Day = 1614975025;
simcity.kResourceIDHotItemsW1ConsumedYesterday_Night = 271683775;
simcity.kResourceIDHotItemsW2ConsumedYesterday_Night = 1097350438;
simcity.kResourceIDHotItemsW3ConsumedYesterday_Night = 3635814549;
simcity.kResourceIDShopWaresW1ProducedDaily = 3253410504;
simcity.kResourceIDShopWaresW2ProducedDaily = 1834082533;
simcity.kResourceIDShopWaresW3ProducedDaily = 695262962;
simcity.kResourceIDResidentialWorkerW1 = 3667251247;
simcity.kResourceIDResidentialWorkerW2 = 3667251244;
simcity.kResourceIDResidentialWorkerW3 = 3667251245;
simcity.kResourceIDTotalKids = 3478596890;
simcity.kResourceIDTotalKidsYesterday = 1061281538;
simcity.kResourceIDTotalStudents = 116259821;
simcity.kResourceIDTotalStudentsYesterday = 1453663751;
simcity.kResourceIDResidentialW1 = 3000398761;
simcity.kResourceIDResidentialW2 = 3000398762;
simcity.kResourceIDResidentialW3 = 3000398763;
simcity.kResourceIDCommercialW1 = 3635297831;
simcity.kResourceIDCommercialW2 = 3635297828;
simcity.kResourceIDCommercialW3 = 3635297829;
simcity.kResourceIDIndustrialW1 = 14091500;
simcity.kResourceIDIndustrialW2 = 14091503;
simcity.kResourceIDIndustrialW3 = 14091502;
simcity.kResourceIDLocalStudentsYesterday = 20654726;
simcity.kResourceIDDensity = 1551159691;
simcity.kResourceIDWealth = 22421794;
simcity.kResourceIDUnderConstruction = 3953979238;
simcity.kResourceIDVacant = 4050174720;
simcity.kResourceIDRegionTotalResidential = 233898165;
simcity.kResourceIDCarsOnRoad = 4263936761;
simcity.kResourceIDSimsWalking = 646593386;
simcity.kResourceIDNumberOfResidential = 107377317;
simcity.kResourceIDNumberOfCommercial = 679995175;
simcity.kResourceIDNumberOfIndustrial = 690843176;
simcity.kResourceIDNumberOfToys = 613677770;
simcity.kResourceIDRW1D1 = 422563668;
simcity.kResourceIDRW1D2 = 422563671;
simcity.kResourceIDRW1D3 = 422563670;
simcity.kResourceIDRW2D1 = 926039303;
simcity.kResourceIDRW2D2 = 926039300;
simcity.kResourceIDRW2D3 = 926039301;
simcity.kResourceIDRW3D1 = 624189254;
simcity.kResourceIDRW3D2 = 624189253;
simcity.kResourceIDRW3D3 = 624189252;
simcity.kResourceIDCW1D1 = 2133762117;
simcity.kResourceIDCW1D2 = 2133762118;
simcity.kResourceIDCW1D3 = 2133762119;
simcity.kResourceIDCW2D1 = 1899419934;
simcity.kResourceIDCW2D2 = 1899419933;
simcity.kResourceIDCW2D3 = 1899419932;
simcity.kResourceIDCW3D1 = 2201166815;
simcity.kResourceIDCW3D2 = 2201166812;
simcity.kResourceIDCW3D3 = 2201166813;
simcity.kResourceIDIW1D1 = 1027109387;
simcity.kResourceIDIW1D2 = 1027109384;
simcity.kResourceIDIW1D3 = 1027109385;
simcity.kResourceIDIW2D1 = 255191816;
simcity.kResourceIDIW2D2 = 255191819;
simcity.kResourceIDIW2D3 = 255191818;
simcity.kResourceIDIW3D1 = 691262881;
simcity.kResourceIDIW3D2 = 691262882;
simcity.kResourceIDIW3D3 = 691262883;
simcity.kResourceIDToyW1 = 1702694203;
simcity.kResourceIDToyW2 = 1702694200;
simcity.kResourceIDToyW3 = 1702694201;
simcity.kResourceIDJobs = 3577750133;
simcity.kResourceIDJobsW1 = 3550749881;
simcity.kResourceIDJobsW2 = 3550749882;
simcity.kResourceIDJobsW3 = 3550749883;
simcity.kResourceIDDayJobsW1 = 2625288509;
simcity.kResourceIDDayJobsW2 = 2625288510;
simcity.kResourceIDDayJobsW3 = 2625288511;
simcity.kResourceIDNightJobsW1 = 3574023729;
simcity.kResourceIDNightJobsW2 = 3574023730;
simcity.kResourceIDNightJobsW3 = 3574023731;
simcity.kResourceIDSimW1 = 435507402;
simcity.kResourceIDSimW2 = 435507401;
simcity.kResourceIDSimW3 = 435507400;
simcity.kResourceIDSimWorkerW1 = 3362141940;
simcity.kResourceIDSimWorkerW2 = 3362141943;
simcity.kResourceIDSimWorkerW3 = 3362141942;
simcity.kResourceIDSimShopperW1 = 1682028163;
simcity.kResourceIDSimShopperW2 = 1682028160;
simcity.kResourceIDSimShopperW3 = 1682028161;
simcity.kResourceIDResidentWorkerW1 = 3276597375;
simcity.kResourceIDResidentWorkerW2 = 3276597372;
simcity.kResourceIDResidentWorkerW3 = 3276597373;
simcity.kResourceIDResidentWorkerW1Paused = 1428753089;
simcity.kResourceIDResidentWorkerW2Paused = 3102600538;
simcity.kResourceIDResidentWorkerW3Paused = 4224432595;
simcity.kResourceIDResidentWorkerW1Locked = 1200777321;
simcity.kResourceIDResidentWorkerW2Locked = 1683595710;
simcity.kResourceIDResidentWorkerW3Locked = 4064745803;
simcity.kResourceIDTotalResidents = 70888836;
simcity.kResourceIDTotalResidentWorkersW1 = 3730101870;
simcity.kResourceIDTotalResidentWorkersW2 = 3730101869;
simcity.kResourceIDTotalResidentWorkersW3 = 3730101868;
simcity.kResourceIDResidentShopperW1 = 274066078;
simcity.kResourceIDResidentShopperW2 = 274066077;
simcity.kResourceIDResidentShopperW3 = 274066076;
simcity.kResourceIDShopperRestingW1 = 1279966668;
simcity.kResourceIDShopperRestingW2 = 1279966671;
simcity.kResourceIDShopperRestingW3 = 1279966670;
simcity.kResourceIDResidentShopperW1Paused = 771766984;
simcity.kResourceIDResidentShopperW2Paused = 3950433779;
simcity.kResourceIDResidentShopperW3Paused = 2828601722;
simcity.kResourceIDTotalResidentShoppersW1 = 2855030245;
simcity.kResourceIDTotalResidentShoppersW2 = 2855030246;
simcity.kResourceIDTotalResidentShoppersW3 = 2855030247;
simcity.kResourceIDWorkersExportedW1 = 2153200811;
simcity.kResourceIDWorkersExportedW2 = 2153200808;
simcity.kResourceIDWorkersExportedW3 = 2153200809;
simcity.kResourceIDShoppersExportedW1 = 3487690468;
simcity.kResourceIDShoppersExportedW2 = 3487690471;
simcity.kResourceIDShoppersExportedW3 = 3487690470;
simcity.kResourceIDLostResidentShopperW1 = 2388451008;
simcity.kResourceIDLostResidentShopperW2 = 2388451011;
simcity.kResourceIDLostResidentShopperW3 = 2388451010;
simcity.kResourceIDLostResidentWorkerW1 = 2019189093;
simcity.kResourceIDLostResidentWorkerW2 = 2019189094;
simcity.kResourceIDLostResidentWorkerW3 = 2019189095;
simcity.kResourceIDLostCarW1 = 3026213751;
simcity.kResourceIDLostCarW2 = 3026213748;
simcity.kResourceIDLostCarW3 = 3026213749;
simcity.kResourceIDLostKids = 1549736624;
simcity.kResourceIDTradeLostKids = 3413038648;
simcity.kResourceIDTotalWorkers = 533812918;
simcity.kResourceIDWorkerW1 = 1825323535;
simcity.kResourceIDWorkerW2 = 1825323532;
simcity.kResourceIDWorkerW3 = 1825323533;
simcity.kResourceIDExtraWorkerW1 = 1627828683;
simcity.kResourceIDExtraWorkerW2 = 1627828680;
simcity.kResourceIDExtraWorkerW3 = 1627828681;
simcity.kResourceIDExtraWorkerW1Paused = 3372671557;
simcity.kResourceIDExtraWorkerW2Paused = 2320734974;
simcity.kResourceIDExtraWorkerW3Paused = 897663655;
simcity.kResourceIDTotalJobs = 606764013;
simcity.kResourceIDWorkersNeeded = 1400428281;
simcity.kResourceIDShiftLength = 4227153767;
simcity.kResourceIDNoPrerequisite = 4209529462;
simcity.kResourceIDCanAfford = 815204315;
simcity.kResourceIDShopperW1 = 3940836846;
simcity.kResourceIDShopperW2 = 3940836845;
simcity.kResourceIDShopperW3 = 3940836844;
simcity.kResourceIDShoppersNeededW1 = 2475985746;
simcity.kResourceIDShoppersNeededW2 = 2475985745;
simcity.kResourceIDShoppersNeededW3 = 2475985744;
simcity.kResourceIDTotalShoppers = 3254086073;
simcity.kResourceIDOpenShoppers = 3463331117;
simcity.kResourceIDTouristW1 = 444274501;
simcity.kResourceIDTouristW2 = 444274502;
simcity.kResourceIDTouristW3 = 444274503;
simcity.kResourceIDTouristW1EnteredToday = 1921885289;
simcity.kResourceIDTouristW2EnteredToday = 347227866;
simcity.kResourceIDTouristW3EnteredToday = 2799711511;
simcity.kResourceIDTouristW1EnteredYesterday = 1190645214;
simcity.kResourceIDTouristW2EnteredYesterday = 3573386765;
simcity.kResourceIDTouristW3EnteredYesterday = 964913384;
simcity.kResourceIDTourists_Daily = 4044820634;
simcity.kResourceIDGuestW1 = 415469395;
simcity.kResourceIDGuestW2 = 415469392;
simcity.kResourceIDGuestW3 = 415469393;
simcity.kResourceIDPayout = 1319618451;
simcity.kResourceIDPayout_Prior = 2658851714;
simcity.kResourceIDEventCost = 3521822336;
simcity.kResourceIDOpenGuestsW1 = 1312145318;
simcity.kResourceIDOpenGuestsW2 = 1312145317;
simcity.kResourceIDOpenGuestsW3 = 1312145316;
simcity.kResourceIDTotalGuests = 335331786;
simcity.kResourceIDShoppingToken = 355482452;
simcity.kResourceIDHappinessToken = 3096611079;
simcity.kResourceIDTokensToRemove = 3239829468;
simcity.kResourceIDHappinessTokenLast = 158634211;
simcity.kResourceIDHotItemsW1 = 985114566;
simcity.kResourceIDHotItemsW2 = 985114565;
simcity.kResourceIDHotItemsW3 = 985114564;
simcity.kResourceIDSouvenirsW1 = 1793669541;
simcity.kResourceIDSouvenirsW2 = 1793669542;
simcity.kResourceIDSouvenirsW3 = 1793669543;
simcity.kResourceIDDayShopW1 = 1706472385;
simcity.kResourceIDDayShopW2 = 1706472386;
simcity.kResourceIDDayShopW3 = 1706472387;
simcity.kResourceIDNightShopW1 = 1936110997;
simcity.kResourceIDNightShopW2 = 1936110998;
simcity.kResourceIDNightShopW3 = 1936110999;
simcity.kResourceIDHappinessDisplay = 4197210794;
simcity.kResourceIDHappinessGlobals_MayorRating = 2329165682;
simcity.kResourceIDHappinessTokenW1 = 309736775;
simcity.kResourceIDHappinessTokenW2 = 309736772;
simcity.kResourceIDHappinessTokenW3 = 309736773;
simcity.kResourceIDProfitCTokenW1 = 2074335033;
simcity.kResourceIDProfitCTokenW2 = 2074335034;
simcity.kResourceIDProfitCTokenW3 = 2074335035;
simcity.kResourceIDProfitITokenW1 = 2353346555;
simcity.kResourceIDProfitITokenW2 = 2353346552;
simcity.kResourceIDProfitITokenW3 = 2353346553;
simcity.kResourceIDHappinessTokenW1_Capacity = 1578161702;
simcity.kResourceIDHappinessTokenW2_Capacity = 1897521287;
simcity.kResourceIDHappinessTokenW3_Capacity = 147115436;
simcity.kResourceIDProfitCTokenW1_Capacity = 3159940408;
simcity.kResourceIDProfitCTokenW2_Capacity = 2341862765;
simcity.kResourceIDProfitCTokenW3_Capacity = 3000392978;
simcity.kResourceIDProfitITokenW1_Capacity = 1530020818;
simcity.kResourceIDProfitITokenW2_Capacity = 1068140483;
simcity.kResourceIDProfitITokenW3_Capacity = 1958713080;
simcity.kResourceIDProfitToken = 3478285230;
simcity.kResourceIDProfitTokenLast = 4074177946;
simcity.kResourceIDProfitTokensToRemove = 1392836198;
simcity.kResourceIDFreightCapacityGlobal = 4006316439;
simcity.kResourceIDFreightConsumedToday = 3477098047;
simcity.kResourceIDFreightProducedToday = 2748560409;
simcity.kResourceIDFreightConsumedYesterday = 2922083280;
simcity.kResourceIDFreightProducedYesterday = 3768638830;
simcity.kResourceIDFreightExportedToday = 1899728130;
simcity.kResourceIDFreightExportedYesterday = 1300296021;
simcity.kResourceIDFreightImportedToday = 1252812105;
simcity.kResourceIDFreightImportedYesterday = 3077635774;
simcity.kResourceIDImportedFreightTrucks = 334092794;
simcity.kResourceIDExportedFreightTrucks = 3384332457;
simcity.kResourceIDProtester = 2731587251;
simcity.kResourceIDSadnessFromCrime = 3102995628;
simcity.kResourceIDSadnessFromCrimeAtBuilding = 2676631795;
simcity.kResourceIDSadnessFromDeath = 3014669568;
simcity.kResourceIDSadnessFromGerms = 4098878488;
simcity.kResourceIDSadnessFromInjury = 2711830447;
simcity.kResourceIDSadnessFromNotEnoughSales = 3729974311;
simcity.kResourceIDSadnessFromNoDesirability = 2933493994;
simcity.kResourceIDSadnessFromNoEducation = 265058035;
simcity.kResourceIDSadnessFromNoSkill = 3999968446;
simcity.kResourceIDSadnessFromNoRent = 3794757290;
simcity.kResourceIDSadnessFromGarbage = 1153586619;
simcity.kResourceIDSadnessFromHomelessness = 306806153;
simcity.kResourceIDSadnessFromNoPower = 300030230;
simcity.kResourceIDSadnessFromNotEnoughWorkers = 942604190;
simcity.kResourceIDSadnessFromNotOperational = 332562811;
simcity.kResourceIDSadnessFromNoWater = 2630915076;
simcity.kResourceIDSadnessFromPark = 1043343262;
simcity.kResourceIDSadnessFromPollution = 2342209900;
simcity.kResourceIDSadnessFromSewage = 1456171026;
simcity.kResourceIDSadnessFromSickness = 1012990933;
simcity.kResourceIDSadnessFromTaxes = 3463385665;
simcity.kResourceIDSadnessFromUnemployment = 3085998997;
simcity.kResourceIDHappiness_CanUpgradeTimer_D = 3312452629;
simcity.kResourceIDHappinessFromCrimeSuppression = 788152555;
simcity.kResourceIDHappinessFromCustomers = 2493376395;
simcity.kResourceIDHappinessFromStudentCustomers = 2181284564;
simcity.kResourceIDHappinessFromTouristCustomers = 1941201565;
simcity.kResourceIDHappinessFromFireInspector = 2675856823;
simcity.kResourceIDHappinessFromHealthOutreach = 1327167803;
simcity.kResourceIDHappinessFromPark = 2232061704;
simcity.kResourceIDHappinessFromPoliceOutreach = 3030062443;
simcity.kResourceIDHappinessFromShipments = 125348697;
simcity.kResourceIDHappinessFromShop = 3849002820;
simcity.kResourceIDHappinessFromTaxes = 4134653131;
simcity.kResourceIDPlague = 1131613591;
simcity.kResourceIDZombies = 1721775719;
simcity.kResourceIDNIMBY = 574418664;
simcity.kResourceIDHour = 3584069523;
simcity.kResourceIDYear = 2609628718;
simcity.kResourceIDActiveBuilding = 2048500291;
simcity.kResourceIDActiveCheat = 1415435808;
simcity.kResourceIDOpenForBusiness = 1156960108;
simcity.kResourceIDConnected = 1629494038;
simcity.kResourceIDTriggeredProtestMission = 3217593197;
simcity.kResourceIDConstructionProgress = 1451393771;
simcity.kResourceIDBuildingTaxValue = 2540684511;
simcity.kResourceIDIncome = 276811212;
simcity.kResourceIDIncomeSoFar = 3830709641;
simcity.kResourceIDExpenses = 3986250326;
simcity.kResourceIDSimoleons = 932594546;
simcity.kResourceIDMoneyToken = 1421190854;
simcity.kResourceIDExpensesFromMaintenanceCoal = 2914008682;
simcity.kResourceIDExpensesFromMaintenanceOil = 30287917;
simcity.kResourceIDExpensesFromMaintenanceOre = 3872259493;
simcity.kResourceIDExpensesFromMaintenanceTransport = 665508202;
simcity.kResourceIDExpensesFromMaintenanceAir = 4258438993;
simcity.kResourceIDExpensesFromMaintenanceBoat = 1286812053;
simcity.kResourceIDExpensesFromMaintenanceBus = 3923430943;
simcity.kResourceIDExpensesFromMaintenanceLightRail = 4049820673;
simcity.kResourceIDExpensesFromMaintenanceHeavyRail = 524076852;
simcity.kResourceIDExpensesFromMaintenancePower = 260897934;
simcity.kResourceIDExpensesFromMaintenanceWater = 1626720268;
simcity.kResourceIDExpensesFromMaintenanceSewage = 125463887;
simcity.kResourceIDExpensesFromMaintenancePolice = 857827309;
simcity.kResourceIDExpensesFromMaintenanceOrdinance = 2482326148;
simcity.kResourceIDExpensesFromMaintenanceManufacturing = 2634840555;
simcity.kResourceIDExpensesFromMaintenanceElectronics = 4150433656;
simcity.kResourceIDExpensesFromMaintenanceExtraction = 1304689492;
simcity.kResourceIDExpensesFromMaintenanceImport = 3817061456;
simcity.kResourceIDExpensesFromMaintenanceHealth = 1906560361;
simcity.kResourceIDExpensesFromMaintenanceGarbage = 3854204960;
simcity.kResourceIDExpensesFromMaintenanceFire = 4091161999;
simcity.kResourceIDExpensesFromMaintenanceEducation = 60449099;
simcity.kResourceIDExpensesFromMaintenanceEducationE2 = 1413890478;
simcity.kResourceIDExpensesFromMaintenanceEducationE3 = 1413890479;
simcity.kResourceIDExpensesFromMaintenance = 4227066323;
simcity.kResourceIDExpensesFromTransport = 982827217;
simcity.kResourceIDExpensesFromPower = 2467381325;
simcity.kResourceIDExpensesFromPolice = 1417768676;
simcity.kResourceIDExpensesFromOrdinance = 2079631891;
simcity.kResourceIDExpensesFromManufacturing = 1802501268;
simcity.kResourceIDExpensesFromImport = 2812005065;
simcity.kResourceIDExpensesFromHealth = 767913660;
simcity.kResourceIDExpensesFromGarbage = 2486869479;
simcity.kResourceIDExpensesFromFire = 2209133790;
simcity.kResourceIDExpensesFromEducation = 1143007804;
simcity.kResourceIDExpensesFromWater = 3232477083;
simcity.kResourceIDExpensesFromCultural = 877987596;
simcity.kResourceIDExpensesFromTourism = 1876932877;
simcity.kResourceIDExpensesFromMaintenanceParks = 2873285118;
simcity.kResourceIDExpensesFromMaintenanceGovernment = 3383472214;
simcity.kResourceIDExpensesFromMaintenanceCultural = 4277428933;
simcity.kResourceIDExpensesFromMaintenanceTourism = 2576841198;
simcity.kResourceIDExpensesFromMaintenanceCasinos = 3284417293;
simcity.kResourceIDIncomeFromRW1 = 1546739750;
simcity.kResourceIDIncomeFromRW2 = 1546739749;
simcity.kResourceIDIncomeFromRW3 = 1546739748;
simcity.kResourceIDIncomeFromCW1 = 1544223759;
simcity.kResourceIDIncomeFromCW2 = 1544223756;
simcity.kResourceIDIncomeFromCW3 = 1544223757;
simcity.kResourceIDIncomeFromIW1 = 1542649705;
simcity.kResourceIDIncomeFromIW2 = 1542649706;
simcity.kResourceIDIncomeFromIW3 = 1542649707;
simcity.kResourceIDIncomeFromRW1WithTaxes = 965241869;
simcity.kResourceIDIncomeFromRW2WithTaxes = 1539447596;
simcity.kResourceIDIncomeFromRW3WithTaxes = 1161846911;
simcity.kResourceIDIncomeFromCW1WithTaxes = 4129686426;
simcity.kResourceIDIncomeFromCW2WithTaxes = 621486087;
simcity.kResourceIDIncomeFromCW3WithTaxes = 1937383156;
simcity.kResourceIDIncomeFromIW1WithTaxes = 204820040;
simcity.kResourceIDIncomeFromIW2WithTaxes = 1023666361;
simcity.kResourceIDIncomeFromIW3WithTaxes = 3607063422;
simcity.kResourceIDTaxLevelRW1 = 2546641224;
simcity.kResourceIDTaxLevelRW2 = 2546641227;
simcity.kResourceIDTaxLevelRW3 = 2546641226;
simcity.kResourceIDTaxLevelCW1 = 2544228497;
simcity.kResourceIDTaxLevelCW2 = 2544228498;
simcity.kResourceIDTaxLevelCW3 = 2544228499;
simcity.kResourceIDTaxLevelIW1 = 2543242791;
simcity.kResourceIDTaxLevelIW2 = 2543242788;
simcity.kResourceIDTaxLevelIW3 = 2543242789;
simcity.kResourceIDIncomeFromCasinos = 1309954224;
simcity.kResourceIDIncomeFromCasinosTotal = 2009149070;
simcity.kResourceIDCasinoHQIsPresent = 2884292350;
simcity.kResourceIDCasinoHQUnlocked = 1792557130;
simcity.kResourceIDIncomeFromLandMarks = 1353025343;
simcity.kResourceIDIncomeFromLandMarksTotal = 3661444471;
simcity.kResourceIDAdjustedIncome = 3737293454;
simcity.kResourceIDAdjustedExpenses = 1840332184;
simcity.kResourceIDIncomeFromPower = 3878226289;
simcity.kResourceIDIncomeFromWater = 2691015803;
simcity.kResourceIDIncomeFromSewageTreatment = 1358514474;
simcity.kResourceIDEventPreparation = 3728938950;
simcity.kResourceIDTouristW1SatisfiedToday = 3641764570;
simcity.kResourceIDTouristW2SatisfiedToday = 1236293709;
simcity.kResourceIDTouristW3SatisfiedToday = 676419548;
simcity.kResourceIDTouristW1SatisfiedYesterday = 1503818253;
simcity.kResourceIDTouristW2SatisfiedYesterday = 1924322506;
simcity.kResourceIDTouristW3SatisfiedYesterday = 781280779;
simcity.kResourceIDAttractionLevel = 1425832080;
simcity.kResourceIDTouristsAllowedW1 = 2532529484;
simcity.kResourceIDTouristsAllowedW2 = 2532529487;
simcity.kResourceIDTouristsAllowedW3 = 2532529486;
simcity.kResourceIDTouristW1LeftEarlyYesterday = 3221246613;
simcity.kResourceIDTouristW2LeftEarlyYesterday = 1900087746;
simcity.kResourceIDTouristW3LeftEarlyYesterday = 604786207;
simcity.kResourceIDEventPreparation = 3728938950;
simcity.kResourceIDEventTimer = 194774318;
simcity.kResourceIDPostEventCrowd = 633137976;
simcity.kResourceIDNumberOfT1Stadiums = 732482048;
simcity.kResourceIDNumberOfT2Stadiums = 1570731423;
simcity.kResourceIDNumberOfStadiums = 3639751417;
simcity.kResourceIDCostsFromStadium = 546726786;
simcity.kResourceIDPayoutFromStadiumTotal = 684456002;
simcity.kResourceIDPayoutFromStadiumThisHour = 2225257970;
simcity.kResourceIDPayoutFromStadiumLastHour = 1803061118;
simcity.kResourceIDStadiumID = 273171581;
simcity.kResourceIDActiveEventResearch = 1542617206;
simcity.kResourceIDEventSelection = 497041679;
simcity.kResourceIDFailureDueToToggledOff = 840871793;
simcity.kResourceIDFailureDueToNoWorkers = 2572076332;
simcity.kResourceIDFailureDueToNoPower = 925687770;
simcity.kResourceIDFailureDueToNoWater = 2012641080;
simcity.kResourceIDCasinoSpecialtyIncomeDisplay = 1979876969;
simcity.kResourceIDCasinoTouristW1IncomeDisplay = 1689886443;
simcity.kResourceIDCasinoTouristW2IncomeDisplay = 494332526;
simcity.kResourceIDCasinoTouristW3IncomeDisplay = 2889578413;
simcity.kResourceIDCasinoSpecialtyExpensesDisplay = 1939037327;
simcity.kResourceIDGamblerCapacityW1 = 869266449;
simcity.kResourceIDGamblerCapacityW2 = 869266450;
simcity.kResourceIDGamblerCapacityW3 = 869266451;
simcity.kResourceIDGamblerW1Satisfied = 1316521295;
simcity.kResourceIDGamblerW2Satisfied = 758095178;
simcity.kResourceIDGamblerW3Satisfied = 2539189505;
simcity.kResourceIDGamblersSatisfiedTotal = 3771518506;
simcity.kResourceIDCasinoLodgerW1Satisfied = 203825487;
simcity.kResourceIDCasinoLodgerW2Satisfied = 3940366666;
simcity.kResourceIDCasinoLodgerW3Satisfied = 1426493697;
simcity.kResourceIDCasinoTouristW1Today = 504095377;
simcity.kResourceIDCasinoTouristW2Today = 4070004760;
simcity.kResourceIDCasinoTouristW3Today = 216746127;
simcity.kResourceIDCasinoTouristW1Yesterday = 2795188294;
simcity.kResourceIDCasinoTouristW2Yesterday = 3945522031;
simcity.kResourceIDCasinoTouristW3Yesterday = 2278629440;
simcity.kResourceIDCasinoLodgersSatisfiedTotal = 45623850;
simcity.kResourceIDCasinoLodgingDivUnlock = 2587613669;
simcity.kResourceIDCasinoEntertainmentDivUnlock = 648158039;
simcity.kResourceIDCasinoGameDivUnlock = 1070113771;
simcity.kResourceIDCasinoHQIsPresent = 2884292350;
simcity.kResourceIDCasinoHQUnlocked = 1792557130;
simcity.kResourceIDNumberOfCasinos = 4237041535;
simcity.kResourceIDNumberOfCasinoModules = 1155861783;
simcity.kResourceIDNumberOfCasinoSigns = 3589361662;
simcity.kResourceIDNumberOfCasinoGameModules = 2922732385;
simcity.kResourceIDNumberOfCasinoEntertainmentModules = 1270940893;
simcity.kResourceIDNumberOfCasinoLodgingModules = 1158865535;
simcity.kResourceIDNumberOfSciFiCasinos = 240283289;
simcity.kResourceIDNumberOfStripCasinoAs = 2216626652;
simcity.kResourceIDNumberOfStripCasinoBs = 2233404209;
simcity.kResourceIDNumberOfElegantCasinos = 2194743579;
simcity.kResourceIDNumberOfGamblingDivisions = 3767468092;
simcity.kResourceIDNumberOfEntertainmentDivisions = 2117777875;
simcity.kResourceIDNumberOfLodgingDivisions = 1149236601;
simcity.kResourceIDNumberOfGamblingHouseSigns = 1588378906;
simcity.kResourceIDNumberOfGamblingHouses = 554121707;
simcity.kResourceIDNumberOfNickelSlots = 104662282;
simcity.kResourceIDNumberOfBlackjacks = 4097330622;
simcity.kResourceIDNumberOfCrapsTables = 1279154703;
simcity.kResourceIDNumberOfPokerHouses = 3164228307;
simcity.kResourceIDNumberOfCasinoComedyClubs = 638971984;
simcity.kResourceIDNumberOfCasinoLounges = 2583948285;
simcity.kResourceIDNumberOfCasinoDiscos = 1401826977;
simcity.kResourceIDNumberOfCasinoCelebrityStages = 3890732310;
simcity.kResourceIDNumberOfCasinoRouletteRooms = 3039433788;
simcity.kResourceIDNumberOfCasinoBaccaratRooms = 496141921;
simcity.kResourceIDNumberOfCasinoExclusiveClubs = 3842034955;
simcity.kResourceIDNumberOfCasinoConcertHalls = 346073478;
simcity.kResourceIDNumberOfCasinoRoomsW1 = 1075782960;
simcity.kResourceIDNumberOfCasinoRoomsW2 = 1075782963;
simcity.kResourceIDNumberOfCasinoRoomsW3 = 1075782962;
simcity.kResourceIDUnlockToken = 928475780;
simcity.kResourceIDBuildingLevel = 2673580297;
simcity.kResourceIDLevelUpToGo = 1863618135;
simcity.kResourceIDMayorsMansionUnlocked = 1719295514;
simcity.kResourceIDMayorsHouseSmallUnlocked = 3442351785;
simcity.kResourceIDBusT1StopUnlocked = 2538792199;
simcity.kResourceIDHasBusT1Station = 3814300242;
simcity.kResourceIDUpgradeAvailable = 2714018304;
simcity.kResourceIDCoal = 3469052172;
simcity.kResourceIDMetal = 2473969246;
simcity.kResourceIDAlloy = 504811494;
simcity.kResourceIDOreRaw = 2530163463;
simcity.kResourceIDFuel = 2661514705;
simcity.kResourceIDPlastic = 660835419;
simcity.kResourceIDElectronics = 3202467646;
simcity.kResourceIDComputer = 2376682602;
simcity.kResourceIDTelevision = 3098926425;
simcity.kResourceIDOilCrude = 3212172292;
simcity.kResourceIDCoalDeliveryAllowed = 1819482372;
simcity.kResourceIDMetalDeliveryAllowed = 3189494218;
simcity.kResourceIDAlloyDeliveryAllowed = 361523138;
simcity.kResourceIDOreRawDeliveryAllowed = 4170352897;
simcity.kResourceIDFuelDeliveryAllowed = 3042375407;
simcity.kResourceIDPlasticDeliveryAllowed = 1027770069;
simcity.kResourceIDElectronicsDeliveryAllowed = 287711274;
simcity.kResourceIDComputerDeliveryAllowed = 1606318118;
simcity.kResourceIDTelevisionDeliveryAllowed = 3377021703;
simcity.kResourceIDOilCrudeDeliveryAllowed = 4083535628;
simcity.kResourceIDAlloyProducedThisHour = 3182885740;
simcity.kResourceIDAlloyProducedPerHour = 3305788701;
simcity.kResourceIDMetalProducedThisHour = 145939892;
simcity.kResourceIDMetalProducedPerHour = 3773529877;
simcity.kResourceIDPlasticProducedThisHour = 810606585;
simcity.kResourceIDPlasticProducedPerHour = 1623862798;
simcity.kResourceIDTelevisionProducedThisHour = 106430263;
simcity.kResourceIDTelevisionProducedPerHour = 2802359472;
simcity.kResourceIDElectronicsProducedThisHour = 1788159124;
simcity.kResourceIDElectronicsProducedPerHour = 3734557557;
simcity.kResourceIDComputerProducedThisHour = 3731921376;
simcity.kResourceIDComputerProducedPerHour = 2184097737;
simcity.kResourceIDFuelProducedThisHour = 2880047007;
simcity.kResourceIDFuelProducedPerHour = 3004562504;
simcity.kResourceIDTotalPlasticAssembled = 218637233;
simcity.kResourceIDTotalAlloyAssembled = 1411498114;
simcity.kResourceIDCoalProducedDisplay = 853615038;
simcity.kResourceIDAlloyProducedDisplay = 369761380;
simcity.kResourceIDMetalProducedDisplay = 1307498540;
simcity.kResourceIDOreRawProducedDisplay = 2957549491;
simcity.kResourceIDElectronicsProducedDisplay = 2332537740;
simcity.kResourceIDComputerProducedDisplay = 2410395896;
simcity.kResourceIDTelevisionProducedDisplay = 554846177;
simcity.kResourceIDFuelProducedDisplay = 2663757065;
simcity.kResourceIDOilCrudeProducedDisplay = 734054438;
simcity.kResourceIDPlasticProducedDisplay = 2470116871;
simcity.kResourceIDHeight = 1279776192;
simcity.kResourceIDHeightThreshold = 3026865825;
simcity.kResourceIDExtractorMapLow = 3905066547;
simcity.kResourceIDExtractorMapEmpty = 3800084722;
simcity.kResourceIDStuffMined = 446695464;
simcity.kResourceIDStuffMinedPerDay = 3034801001;
simcity.kResourceIDMiningResourcesSold = 3280663838;
simcity.kResourceIDCoalHarvested = 1322749812;
simcity.kResourceIDCoalHarvested_ThisPeriod = 1300853028;
simcity.kResourceIDCoalHarvested_PerPeriod = 4097110099;
simcity.kResourceIDCoalHarvestedDisplay = 147036502;
simcity.kResourceIDCoalDelivered = 415012756;
simcity.kResourceIDCoalTruckT1 = 3585818960;
simcity.kResourceIDCoalTruckT2 = 3585818963;
simcity.kResourceIDCoalMineUnlocked = 61687530;
simcity.kResourceIDCoalMinesBuilt = 1265620228;
simcity.kResourceIDCoalMinesBuilt_T1 = 3804199702;
simcity.kResourceIDCoalMineT2Unlocked = 1268484616;
simcity.kResourceIDCoalMinesBuilt_T2 = 3804199701;
simcity.kResourceIDCoalShaftsBuilt = 3190577349;
simcity.kResourceIDCoalShaftsBuilt_T1 = 174028141;
simcity.kResourceIDCoalShaftsBuilt_T2 = 174028142;
simcity.kResourceIDCoalGaragesBuilt = 803107994;
simcity.kResourceIDCoalGaragesBuilt_T1 = 3313040836;
simcity.kResourceIDCoalGaragesBuilt_T2 = 3313040839;
simcity.kResourceIDCoalMapEmpty = 1765739621;
simcity.kResourceIDCoalMapLow = 758396592;
simcity.kResourceIDCoalBuyPrice = 2205721339;
simcity.kResourceIDCoalSellPrice = 397488919;
simcity.kResourceIDGlobalMission_MSCoalCoalHQToLevel2 = 56675115;
simcity.kResourceIDGlobalMission_MSCoalCoalHQToLevel3 = 56675114;
simcity.kResourceIDGlobalMission_MSCoalCoalHQToLevel4 = 56675117;
simcity.kResourceIDCoalBurned = 1541996840;
simcity.kResourceIDCoalBurnedThisHour = 2575376022;
simcity.kResourceIDCoalBurnedPerHour = 1907231427;
simcity.kResourceIDHasCoal = 1510379398;
simcity.kResourceIDNoModules = 1359390303;
simcity.kResourceIDHasOre = 1336743113;
simcity.kResourceIDOreMinesBuilt = 1971836291;
simcity.kResourceIDOreMapEmpty = 2154953930;
simcity.kResourceIDOreMapLow = 582561355;
simcity.kResourceIDOreHarvested = 1324776669;
simcity.kResourceIDOreHarvested_ThisPeriod = 360783863;
simcity.kResourceIDOreHarvested_PerPeriod = 1999061562;
simcity.kResourceIDOreHarvestedDisplay = 1929153685;
simcity.kResourceIDHasOil = 1789738817;
simcity.kResourceIDNumberOfOilWells = 3822808170;
simcity.kResourceIDNumberOfOilPumpjacks = 1479411151;
simcity.kResourceIDOilCrudeStorage = 2515576615;
simcity.kResourceIDOilCrudePumped = 115382853;
simcity.kResourceIDOilCrudePumpedPerDay = 2680707156;
simcity.kResourceIDOilCrudePumpedDisplay = 577034589;
simcity.kResourceIDOilCrudeSold = 1495594842;
simcity.kResourceIDOilCrudePumped_ThisPeriod = 2133221439;
simcity.kResourceIDOilCrudePumped_PerPeriod = 690517714;
simcity.kResourceIDOilCrudeBurned = 2688949744;
simcity.kResourceIDOilCrudeBurnedThisHour = 1754683230;
simcity.kResourceIDOilCrudeBurnedPerHour = 3616211099;
simcity.kResourceIDNumberOfMetalManufacturingBases = 1525616142;
simcity.kResourceIDNumberOfOilManufacturingBases = 3316962459;
simcity.kResourceIDNumberOfAlloyAssemblers = 1382660551;
simcity.kResourceIDNumberOfMetalAssemblers = 1997611743;
simcity.kResourceIDNumberOfPlasticAssemblers = 297889326;
simcity.kResourceIDNumberOfFuelAssemblers = 4081186296;
simcity.kResourceIDNumberOfAlloyConsumers = 418497113;
simcity.kResourceIDNumberOfMetalConsumers = 2758454193;
simcity.kResourceIDNumberOfPlasticConsumers = 2372125902;
simcity.kResourceIDNumberOfFuelConsumers = 1822063616;
simcity.kResourceIDNumberOfOreConsumers = 2506735350;
simcity.kResourceIDNumberOfCoalConsumers = 3988714811;
simcity.kResourceIDAlloyDeliveredToday = 1526483933;
simcity.kResourceIDAlloyDeliveredPerDay = 1226479167;
simcity.kResourceIDMetalDeliveredToday = 2430483765;
simcity.kResourceIDMetalDeliveredPerDay = 2878482839;
simcity.kResourceIDPlasticDeliveredToday = 957065676;
simcity.kResourceIDPlasticDeliveredPerDay = 652536936;
simcity.kResourceIDFuelDeliveredToday = 1057307070;
simcity.kResourceIDFuelDeliveredPerDay = 1871327294;
simcity.kResourceIDElectronicsDeliveredToday = 1492395285;
simcity.kResourceIDElectronicsDeliveredPerDay = 1040815095;
simcity.kResourceIDTelevisionDeliveredToday = 76334406;
simcity.kResourceIDTelevisionDeliveredPerDay = 2367596646;
simcity.kResourceIDComputerDeliveredToday = 4152484833;
simcity.kResourceIDComputerDeliveredPerDay = 2428768675;
simcity.kResourceIDCoalDeliveredToday = 1232367775;
simcity.kResourceIDCoalDeliveredPerDay = 1093316741;
simcity.kResourceIDOilCrudeDeliveredToday = 554318647;
simcity.kResourceIDOilCrudeDeliveredPerDay = 2722928253;
simcity.kResourceIDOreRawDeliveredToday = 2722297832;
simcity.kResourceIDOreRawDeliveredPerDay = 3524034500;
simcity.kResourceIDManufacturingTruck = 1350344434;
simcity.kResourceIDHQ_Casino_Built = 3977359027;
simcity.kResourceIDHQ_Casino_IsOn = 3360911126;
simcity.kResourceIDHQ_Casino_Level = 3511379761;
simcity.kResourceIDHQ_Casino_OpenModules = 801657528;
simcity.kResourceIDHQ_Casino_Unlocked = 26304830;
simcity.kResourceIDHQ_Casino_Lodging_Module_Built = 759304535;
simcity.kResourceIDHQ_Casino_Lodging_Module_IsOn = 3281851354;
simcity.kResourceIDHQ_Casino_Entertainment_Module_Built = 2053805237;
simcity.kResourceIDHQ_Casino_Entertainment_Module_IsOn = 1204202580;
simcity.kResourceIDHQ_Casino_Games_Module_Built = 70477528;
simcity.kResourceIDHQ_Casino_Games_Module_IsOn = 1866332371;
simcity.kResourceIDHQ_Electronics_Built = 774789393;
simcity.kResourceIDHQ_Electronics_IsOn = 3482168784;
simcity.kResourceIDHQ_Electronics_Level = 1991765023;
simcity.kResourceIDHQ_Electronics_Unlocked = 1778306596;
simcity.kResourceIDHQ_Electronics_Commerce_Module_IsOn = 2888719063;
simcity.kResourceIDHQ_Electronics_Commerce_Module_Research = 1181200179;
simcity.kResourceIDHQ_Mining_Built = 807978098;
simcity.kResourceIDHQ_Mining_Engineering_Module_Built = 807139023;
simcity.kResourceIDHQ_Mining_Engineering_Module_IsOn = 1864210834;
simcity.kResourceIDHQ_Mining_IsOn = 2404523369;
simcity.kResourceIDHQ_Mining_Level = 1241938196;
simcity.kResourceIDHQ_Mining_OpenModules = 1481364521;
simcity.kResourceIDHQ_Mining_Unlocked = 2834921353;
simcity.kResourceIDHQ_Mining_RnD_Module_Built = 1769969216;
simcity.kResourceIDHQ_Mining_RnD_Module_IsOn = 270866715;
simcity.kResourceIDHQ_Mining_Commerce_Module_IsOn = 65493878;
simcity.kResourceIDHQ_Mining_Commerce_Module_Research = 2201476014;
simcity.kResourceIDHQ_Oil_Built = 1520361480;
simcity.kResourceIDHQ_Oil_IsOn = 3689231555;
simcity.kResourceIDHQ_Oil_Level = 758417306;
simcity.kResourceIDHQ_Oil_Commerce_Module_Unlocked = 1358679104;
simcity.kResourceIDHQ_Oil_Commerce_Module_Built = 48883837;
simcity.kResourceIDHQ_Oil_Commerce_Module_IsOn = 2036406780;
simcity.kResourceIDHQ_Oil_RnD_Module_Unlocked = 3166522173;
simcity.kResourceIDHQ_Oil_RnD_Module_Built = 3481692070;
simcity.kResourceIDHQ_Oil_RnD_Module_IsOn = 4080881245;
simcity.kResourceIDHQ_Oil_Unlocked = 2163490343;
simcity.kResourceIDHQ_Oil_OpenModules = 705374171;
simcity.kResourceIDHQ_ToNextLevel = 2469558203;
simcity.kResourceIDHQ_Trade_Built = 1286867258;
simcity.kResourceIDHQ_Trade_IsOn = 2741599409;
simcity.kResourceIDHQ_Trade_Level = 628386428;
simcity.kResourceIDHQ_Trade_Unlocked = 4100184705;
simcity.kResourceIDHQ_Trade_Metals_Module_Built = 117239308;
simcity.kResourceIDHQ_Trade_Electronics_Module_Built = 3463127895;
simcity.kResourceIDHQ_Trade_Petroleum_Module_Built = 3016663867;
simcity.kResourceIDHQ_University_Level = 883876420;
simcity.kResourceIDHQProgress = 3872971773;
simcity.kResourceIDNumberOfCasinoHQs = 607521748;
simcity.kResourceIDNumberOfCoalHQs = 4228689212;
simcity.kResourceIDNumberOfElectronicHQs = 2711220345;
simcity.kResourceIDNumberOfOilHQs = 1740971601;
simcity.kResourceIDNumberOfTradeHQs = 895967779;
simcity.kResourceIDTradeProfit = 213949715;
simcity.kResourceIDPetroleumSpecialtyLastMonthExpenses = 3316849439;
simcity.kResourceIDPetroleumSpecialtyLastMonthIncome = 2347321209;
simcity.kResourceIDMetalSpecialtyLastMonthExpenses = 80837591;
simcity.kResourceIDMetalSpecialtyLastMonthIncome = 356722737;
simcity.kResourceIDCasinoSpecialtyLastMonthExpenses = 2430600245;
simcity.kResourceIDCasinoSpecialtyLastMonthIncome = 3459385487;
simcity.kResourceIDTradeSpecialtyLastMonthExpenses = 1243707180;
simcity.kResourceIDTradeSpecialtyLastMonthIncome = 3013519842;
simcity.kResourceIDElectronicsSpecialtyLastMonthExpenses = 3907693495;
simcity.kResourceIDElectronicsSpecialtyLastMonthIncome = 28682513;
simcity.kResourceIDCoalCurrentMonthExpenses = 2921692E3;
simcity.kResourceIDCoalCurrentMonthIncome = 1452627382;
simcity.kResourceIDCoalLastMonthExpenses = 1681626433;
simcity.kResourceIDCoalLastMonthIncome = 4192487899;
simcity.kResourceIDAlloyCurrentMonthExpenses = 2399186110;
simcity.kResourceIDAlloyCurrentMonthIncome = 842523988;
simcity.kResourceIDAlloyLastMonthExpenses = 3638289559;
simcity.kResourceIDAlloyLastMonthIncome = 1712427249;
simcity.kResourceIDMetalCurrentMonthExpenses = 3218139750;
simcity.kResourceIDMetalCurrentMonthIncome = 454232732;
simcity.kResourceIDMetalLastMonthExpenses = 3203427855;
simcity.kResourceIDMetalLastMonthIncome = 963041001;
simcity.kResourceIDOreRawCurrentMonthExpenses = 3812552491;
simcity.kResourceIDOreRawCurrentMonthIncome = 3041755525;
simcity.kResourceIDOreRawLastMonthExpenses = 2880748248;
simcity.kResourceIDOreRawLastMonthIncome = 2182177486;
simcity.kResourceIDElectronicsCurrentMonthExpenses = 2366096966;
simcity.kResourceIDElectronicsCurrentMonthIncome = 1731900540;
simcity.kResourceIDElectronicsLastMonthExpenses = 457310063;
simcity.kResourceIDElectronicsLastMonthIncome = 4163058761;
simcity.kResourceIDComputerCurrentMonthExpenses = 582100306;
simcity.kResourceIDComputerCurrentMonthIncome = 3585213976;
simcity.kResourceIDComputerLastMonthExpenses = 3472923235;
simcity.kResourceIDComputerLastMonthIncome = 1157810269;
simcity.kResourceIDTelevisionCurrentMonthExpenses = 3506944737;
simcity.kResourceIDTelevisionCurrentMonthIncome = 2323742331;
simcity.kResourceIDTelevisionLastMonthExpenses = 948712822;
simcity.kResourceIDTelevisionLastMonthIncome = 1397635820;
simcity.kResourceIDFuelCurrentMonthExpenses = 1826395497;
simcity.kResourceIDFuelCurrentMonthIncome = 160139075;
simcity.kResourceIDFuelLastMonthExpenses = 4143470734;
simcity.kResourceIDFuelLastMonthIncome = 1634528164;
simcity.kResourceIDOilCrudeCurrentMonthExpenses = 1036181E3;
simcity.kResourceIDOilCrudeCurrentMonthIncome = 3138058174;
simcity.kResourceIDOilCrudeLastMonthExpenses = 1552819769;
simcity.kResourceIDOilCrudeLastMonthIncome = 3556726419;
simcity.kResourceIDPlasticCurrentMonthExpenses = 1009064015;
simcity.kResourceIDPlasticCurrentMonthIncome = 3015200553;
simcity.kResourceIDPlasticLastMonthExpenses = 2854376420;
simcity.kResourceIDPlasticLastMonthIncome = 906443514;
simcity.kResourceIDTotalIncomeFromTradingGlobalMarketOilCrude = 2346200051;
simcity.kResourceIDTotalIncomeFromTradingGlobalMarketFuel = 3703390122;
simcity.kResourceIDTotalIncomeFromTradingGlobalMarketPlastic = 3620347846;
simcity.kResourceIDCasinoSpecialtyCurrentMonthExpenses = 1038792412;
simcity.kResourceIDCasinoSpecialtyCurrentMonthIncome = 2780020242;
simcity.kResourceIDPetroleumSpecialtyCurrentMonthExpenses = 2744613334;
simcity.kResourceIDPetroleumSpecialtyCurrentMonthIncome = 2620260684;
simcity.kResourceIDMetalSpecialtyCurrentMonthProfit = 3689720695;
simcity.kResourceIDPetroleumSpecialtyCurrentMonthProfit = 3070779183;
simcity.kResourceIDTradeSpecialtyCurrentMonthProfit = 88035854;
simcity.kResourceIDCasinoSpecialtyCurrentMonthProfit = 3736548709;
simcity.kResourceIDElectronicsSpecialtyCurrentMonthProfit = 93660119;
simcity.kResourceIDTotalElectronicsAssembled = 754698314;
simcity.kResourceIDTotalElectronicsAssembledPerDay = 4074522583;
simcity.kResourceIDTotalComputerAssembled = 1607469238;
simcity.kResourceIDNumT1ElectronicsBase = 317920080;
simcity.kResourceIDNumT2ElectronicsBase = 3776200817;
simcity.kResourceIDGlobalMission_MSManufacturingElectronicsHQToLevel2 = 688534268;
simcity.kResourceIDGlobalMission_MSManufacturingElectronicsHQToLevel3 = 688534269;
simcity.kResourceIDNumberOfElectronicHQsConsumerElectronicsWings = 3365789182;
simcity.kResourceIDTotalIncomeFromAllElectronics = 2179650798;
simcity.kResourceIDComputerResearched = 2286945710;
simcity.kResourceIDIncomeFromGlobalMarketExport = 4021347991;
simcity.kResourceIDExpensesFromGlobalMarketImport = 1064686572;
simcity.kResourceIDIncomeHour1 = 744339083;
simcity.kResourceIDIncomeHour2 = 744339080;
simcity.kResourceIDIncomeHour3 = 744339081;
simcity.kResourceIDIncomeHour4 = 744339086;
simcity.kResourceIDIncomeHourTotal = 3714334268;
simcity.kResourceIDExpenseHour1 = 2189616222;
simcity.kResourceIDExpenseHour2 = 2189616221;
simcity.kResourceIDExpenseHour3 = 2189616220;
simcity.kResourceIDExpenseHour4 = 2189616219;
simcity.kResourceIDExpenseHourTotal = 2805098989;
simcity.kResourceIDTotalGlobalMarketExports = 729977193;
simcity.kResourceIDTotalGlobalMarketImports = 1384651186;
simcity.kResourceIDGlobalMarketImportSwitchAlloy = 4224828296;
simcity.kResourceIDGlobalMarketImportSwitchElectronics = 3434348548;
simcity.kResourceIDGlobalMarketImportSwitchComputer = 3727230280;
simcity.kResourceIDGlobalMarketImportSwitchTelevision = 1056961867;
simcity.kResourceIDGlobalMarketImportSwitchFuel = 144585119;
simcity.kResourceIDGlobalMarketImportSwitchMetal = 2471576692;
simcity.kResourceIDGlobalMarketImportSwitchPlastic = 4260496497;
simcity.kResourceIDGlobalMarketImportSwitchOilCrude = 20346938;
simcity.kResourceIDGlobalMarketImportSwitchOreRaw = 842143745;
simcity.kResourceIDGlobalMarketImportSwitchCoal = 1489698110;
simcity.kResourceIDGlobalMarketStorageSwitchAlloy = 3365791684;
simcity.kResourceIDGlobalMarketStorageSwitchElectronics = 1236727784;
simcity.kResourceIDGlobalMarketStorageSwitchComputer = 3053139836;
simcity.kResourceIDGlobalMarketStorageSwitchTelevision = 1279020655;
simcity.kResourceIDGlobalMarketStorageSwitchFuel = 3301552283;
simcity.kResourceIDGlobalMarketStorageSwitchMetal = 1057103032;
simcity.kResourceIDGlobalMarketStorageSwitchPlastic = 547860597;
simcity.kResourceIDGlobalMarketStorageSwitchOilCrude = 3332397918;
simcity.kResourceIDGlobalMarketStorageSwitchOreRaw = 1520358885;
simcity.kResourceIDGlobalMarketStorageSwitchCoal = 3010361306;
simcity.kResourceIDIncomeFromTradingGlobalMarketAlloy = 3296841271;
simcity.kResourceIDIncomeFromTradingGlobalMarketElectronics = 2815455543;
simcity.kResourceIDIncomeFromTradingGlobalMarketComputer = 4050197593;
simcity.kResourceIDIncomeFromTradingGlobalMarketTelevision = 3133188882;
simcity.kResourceIDIncomeFromTradingGlobalMarketFuel = 1601735906;
simcity.kResourceIDIncomeFromTradingGlobalMarketMetal = 1514453991;
simcity.kResourceIDIncomeFromTradingGlobalMarketPlastic = 2949038590;
simcity.kResourceIDIncomeFromTradingGlobalMarketOilCrude = 988882987;
simcity.kResourceIDIncomeFromTradingGlobalMarketOreRaw = 885886012;
simcity.kResourceIDIncomeFromTradingGlobalMarketCoal = 1217290815;
simcity.kResourceIDTotalMoneyExchangedFromTradingGlobalMarket = 1873396370;
simcity.kResourceIDCoalSold = 1289744514;
simcity.kResourceIDCoalSoldPerPeriod = 322831452;
simcity.kResourceIDCoalBought = 836545701;
simcity.kResourceIDCoalBoughtPerPeriod = 1210340541;
simcity.kResourceIDAlloySold = 2613848908;
simcity.kResourceIDAlloySoldPerPeriod = 3883725686;
simcity.kResourceIDAlloyBought = 1214303675;
simcity.kResourceIDAlloyBoughtPerPeriod = 1556699003;
simcity.kResourceIDMetalSold = 2234819268;
simcity.kResourceIDMetalSoldPerPeriod = 1344373566;
simcity.kResourceIDMetalBought = 2737937747;
simcity.kResourceIDMetalBoughtPerPeriod = 3874560195;
simcity.kResourceIDOreRawSold = 3793654149;
simcity.kResourceIDOreRawSoldPerPeriod = 3141343773;
simcity.kResourceIDOreRawBought = 3848335530;
simcity.kResourceIDOreRawBoughtPerPeriod = 2754655540;
simcity.kResourceIDElectronicsSold = 2390706852;
simcity.kResourceIDElectronicsSoldPerPeriod = 1053192094;
simcity.kResourceIDElectronicsBought = 1027977523;
simcity.kResourceIDElectronicsBoughtPerPeriod = 2773559587;
simcity.kResourceIDComputerSold = 3419353448;
simcity.kResourceIDComputerSoldPerPeriod = 3947957066;
simcity.kResourceIDComputerBought = 478960287;
simcity.kResourceIDComputerBoughtPerPeriod = 3304704087;
simcity.kResourceIDTelevisionSold = 176736575;
simcity.kResourceIDTelevisionSoldPerPeriod = 370171767;
simcity.kResourceIDTelevisionBought = 3092291664;
simcity.kResourceIDTelevisionBoughtPerPeriod = 1269655234;
simcity.kResourceIDFuelSold = 181280567;
simcity.kResourceIDFuelSoldPerPeriod = 1530185407;
simcity.kResourceIDFuelBought = 1265611144;
simcity.kResourceIDFuelBoughtPerPeriod = 3387304938;
simcity.kResourceIDOilCrudeSold = 1495594842;
simcity.kResourceIDOilCrudeSoldPerPeriod = 280688644;
simcity.kResourceIDOilCrudeBought = 441274909;
simcity.kResourceIDOilCrudeBoughtPerPeriod = 3896682533;
simcity.kResourceIDPlasticSold = 2342355633;
simcity.kResourceIDPlasticSoldPerPeriod = 3678074289;
simcity.kResourceIDPlasticBought = 636160846;
simcity.kResourceIDPlasticBoughtPerPeriod = 2192732304;
simcity.kResourceIDNumberOfGlobalMarketTruckTripsToday = 1963788054;
simcity.kResourceIDNumberOfGlobalMarketTruckTripsYesterday = 3595790465;
simcity.kResourceIDNumberOfGlobalMarketRailTripsToday = 2234775599;
simcity.kResourceIDNumberOfGlobalMarketRailTripsYesterday = 928297696;
simcity.kResourceIDNumberOfGlobalMarketBoatTripsToday = 3814481661;
simcity.kResourceIDNumberOfGlobalMarketBoatTripsYesterday = 4020012186;
simcity.kResourceIDNumImEx = 2664258250;
simcity.kResourceIDNumImExT2 = 1024576012;
simcity.kResourceIDNumImExT2Rail = 1006493788;
simcity.kResourceIDNumImExT2Boat = 1349457222;
simcity.kResourceIDNumImExElectronicsLots = 1045200723;
simcity.kResourceIDNumImExTelevisionLots = 761894654;
simcity.kResourceIDNumImExComputerLots = 1336216629;
simcity.kResourceIDNumImExCoalLots = 3317445643;
simcity.kResourceIDNumImExMetalLots = 1479508515;
simcity.kResourceIDNumImExPlasticLots = 2577842514;
simcity.kResourceIDNumImExOreRawLots = 293196472;
simcity.kResourceIDNumImExAlloyLots = 38956339;
simcity.kResourceIDNumImExFuelLots = 3312101774;
simcity.kResourceIDNumImExOilCrudeLots = 3837091327;
simcity.kResourceIDNumberOfImExModulesRail = 3281121023;
simcity.kResourceIDNumberOfImExModulesBoat = 2897963837;
simcity.kResourceIDNumberOfImExModulesGarage = 2468342864;
simcity.kResourceIDNumImExUniqueLots = 1278363743;
simcity.kResourceIDPower = 2391494160;
simcity.kResourceIDPowerToTransmit = 1970301135;
simcity.kResourceIDPowerToTransmit_Last = 3380970990;
simcity.kResourceIDPowerToSend = 3989257529;
simcity.kResourceIDPowerGlobals_NumberOfPowerPlants = 2606261736;
simcity.kResourceIDActivePowerModules = 2173889837;
simcity.kResourceIDPowerGlobals_UnpoweredBuildings = 3073328857;
simcity.kResourceIDPowerGlobals_NumberOfPowerConsumers = 2364168533;
simcity.kResourceIDPowerGlobals_TotalPowerTransmitted = 1378387405;
simcity.kResourceIDPowerGlobals_TotalPowerWasted = 1879271684;
simcity.kResourceIDPowerGlobals_TotalPowerTransmittedPerHour = 416922972;
simcity.kResourceIDPowerGlobals_TotalPowerWastedPerHour = 3629553167;
simcity.kResourceIDPowerGlobals_TotalPowerConsumedPerHour = 522916859;
simcity.kResourceIDPowerNeeded = 2285470215;
simcity.kResourceIDPowerSaved = 2314828681;
simcity.kResourcePowerProduction = 1052088121;
simcity.kResourceIDTradeImportedPowerCounter = 3167536464;
simcity.kResourceIDTradeExcessPower = 1849174591;
simcity.kResourceIDTradePowerUsedProfit = 1886172729;
simcity.kResourceIDTradePowerAvailableFromConnection = 1615260137;
simcity.kResourceIDWindSpeed = 1726592700;
simcity.kResourceIDWindDirection = 825623898;
simcity.kResourceIDEnvTemperature = 899752953;
simcity.kResourceIDEnvNumActiveRainStorm = 6230968;
simcity.kResourceIDEnvNumClouds = 3464232719;
simcity.kResourceIDEnvAirPollutionPerHour = 295846734;
simcity.kResourceIDPower_NumberOfWindFarms = 2986464513;
simcity.kResourceIDPower_NumberOfWindTurbines = 2986464513;
simcity.kResourceIDPower_NumberOfWindBatteries = 1593228548;
simcity.kResourceIDPower_NumberOfT1CoalPowerPlants = 158526204;
simcity.kResourceIDPower_NumberOfT2CoalPowerPlants = 2579340361;
simcity.kResourceIDPower_NumberOfT1OilPowerPlants = 2661237096;
simcity.kResourceIDPower_NumberOfSolarUnits = 4071541271;
simcity.kResourceIDPower_NumberOfSolarPlants = 3877125076;
simcity.kResourceIDPower_NumberOfNuclearPowerPlants = 733601808;
simcity.kResourceIDPower_SolarBatteryUnlocked = 341175594;
simcity.kResourceIDPower_NumberOfSolarBatteries = 3667278425;
simcity.kResourceIDSolarAnimBin = 3898125546;
simcity.kResourceIDPower_Nuclear_Unlocked = 3268602197;
simcity.kResourceIDPower_Nuclear_Level2_Unlocked = 3856162070;
simcity.kResourceIDPower_Nuclear_Level3_Unlocked = 3499159141;
simcity.kResourceIDGlobal_TotalCoalBurned = 4249582378;
simcity.kResourceIDGlobal_TotalCoalRemainingAtPowerStations = 717843307;
simcity.kResourceIDLowCoalLevel = 30052478;
simcity.kResourceIDOutOfCoal = 3556542897;
simcity.kResourceIDStoredPower = 390684623;
simcity.kResourceIDPowerGlobals_TotalSolarPowerPerHour = 3227733056;
simcity.kResourceIDPowerGlobals_TotalCoalPowerPerHour = 1467018548;
simcity.kResourceIDPowerGlobals_TotalOilCrudePowerPerHour = 79984296;
simcity.kResourceIDPowerGlobals_TotalWindPowerPerHour = 3668962503;
simcity.kResourceIDPowerGlobals_TotalNuclearPowerPerHour = 3403938237;
simcity.kResourceIDPeakPower = 1164171395;
simcity.kResourceIDWater_Unlocked = 977057198;
simcity.kResourceIDGerms = 2069247941;
simcity.kResourceIDGermsInPump = 2419540322;
simcity.kResourceIDGermsInPumpPossible = 2743111863;
simcity.kResourceIDHabitableBuilding = 3439906669;
simcity.kResourceIDWater = 2654748154;
simcity.kResourceIDWaterToTransmit = 2079986297;
simcity.kResourceIDWaterInMap = 1087599423;
simcity.kResourceIDTradeImportedWaterCounter = 242951582;
simcity.kResourceIDTradeWaterAvailableFromConnection = 1141470647;
simcity.kResourceIDWaterConsumer_Category = 201972339;
simcity.kResourceIDWaterGlobals_TotalWaterReverted = 2428674279;
simcity.kResourceIDWaterGlobals_TotalWaterRevertedPerHour = 746424382;
simcity.kResourceIDWaterGlobals_TotalFilteredWaterReverted = 415590524;
simcity.kResourceIDWaterGlobals_TotalFilteredWaterRevertedPerHour = 842461623;
simcity.kResourceIDWaterGlobals_TotalWaterTransmitted = 1662655973;
simcity.kResourceIDWaterGlobals_TotalWaterTransmittedPerHour = 1194734180;
simcity.kResourceIDWaterGlobals_TotalFilteredWaterTransmitted = 1920891692;
simcity.kResourceIDWaterGlobals_TotalFilteredWaterTransmittedPerHour = 4120791367;
simcity.kResourceIDWaterGlobals_TotalPollutionTransmitted = 3148278792;
simcity.kResourceIDWaterGlobals_UnwateredBuildings = 4014979477;
simcity.kResourceIDWaterGlobals_NumberOfWaterConsumers = 760220921;
simcity.kResourceIDWaterGlobals_MostGermsInOnePump = 2124847579;
simcity.kResourceIDWaterNeeded = 3460700677;
simcity.kResourceIDWaterSaved = 4146722191;
simcity.kResourceIDTradeExcessWater = 3864099713;
simcity.kResourceIDTradeWaterUsedProfit = 3174198451;
simcity.kResourceIDWaterGlobals_TotalWaterConsumed = 2761144568;
simcity.kResourceIDWaterProduction = 2869873311;
simcity.kResourceIDWaterGlobals_TotalWaterConsumedPerHour = 1447027699;
simcity.kResourceIDWaterGlobals_NumberOfWaterPlants = 2577063972;
simcity.kResourceIDWaterGlobals_NumberOfT1WaterPlants = 2696220259;
simcity.kResourceIDWaterGlobals_NumberOfT2WaterPlants = 2148514006;
simcity.kResourceIDWaterTableLow = 3951760264;
simcity.kResourceIDWaterTableDry = 4000710265;
simcity.kResourceIDWaterPolluted = 764394837;
simcity.kResourceIDWaterMin = 728390398;
simcity.kResourceIDWaterGlobals_TotalGermsTransmitted = 662584172;
simcity.kResourceIDWaterGlobals_TotalGermsTransmittedPerHour = 2236897159;
simcity.kResourceIDWaterGlobals_TotalGermsPossiblePerHour = 4031991483;
simcity.kResourceIDPumpingFromRiver = 1824026097;
simcity.kResourceIDSewage = 3441286197;
simcity.kResourceIDSewagePlants = 2844137639;
simcity.kResourceIDSewagePlants_T1 = 2401586943;
simcity.kResourceIDSewagePlants_T2 = 2401586940;
simcity.kResourceIDSewageDumped_PerHour = 3275514806;
simcity.kResourceIDSewageDumped_ThisHour = 83798609;
simcity.kResourceIDSewageProcessedDisplay = 1907491887;
simcity.kResourceIDSewageProcessed_PerHour = 3953690037;
simcity.kResourceIDSewageProcessed_ThisHour = 1636384468;
simcity.kResourceIDSewageTransmitted_PerHour = 4169697046;
simcity.kResourceIDSewageTransmitted_ThisHour = 2212327217;
simcity.kResourceIDSewageTreatedDisplay = 2661322162;
simcity.kResourceIDSewageTreated_PerHour = 3675392238;
simcity.kResourceIDSewageTreated_ThisHour = 451772505;
simcity.kResourceIDSewageMainStorage = 3138363369;
simcity.kResourceIDSewageMainStorage_ThisHour = 1283293498;
simcity.kResourceIDSewageMainStorage_Last = 1773973540;
simcity.kResourceIDSewageMainStorage_Full = 2761963643;
simcity.kResourceIDSewageTreatment_Capacity = 1152457658;
simcity.kResourceIDTradeSewageUsed = 719096374;
simcity.kResourceIDTradeExcessSewageExportAllowed = 3225371826;
simcity.kResourceIDTradeSewageExportAllowedUsed = 1401034738;
simcity.kResourceIDTradeSewageExportAllowedUsedToSendFromBefore = 1735744194;
simcity.kResourceIDSewageTreatmentImportExchangeRate = 3282197541;
simcity.kResourceIDTradeSewageExportAllowedUsedProfit = 4000070540;
simcity.kResourceIDSewageExportAllowed = 1373910137;
simcity.kResourceIDSewageExportAllowedToTransmit = 755822166;
simcity.kResourceIDTradeSewageExportAllowedAvailableFromConnection = 1795085242;
simcity.kResourceIDRoomsOccupied = 3654708327;
simcity.kResourceIDRoomsFree = 2429027557;
simcity.kResourceIDSick = 721332855;
simcity.kResourceIDSickW1 = 3416150199;
simcity.kResourceIDSickW2 = 3416150196;
simcity.kResourceIDSickW3 = 3416150197;
simcity.kResourceIDSickHouses = 2060601528;
simcity.kResourceIDInjury = 100017236;
simcity.kResourceIDInjuryW1 = 2397898272;
simcity.kResourceIDInjuryW2 = 2397898275;
simcity.kResourceIDInjuryW3 = 2397898274;
simcity.kResourceIDDeath = 779278001;
simcity.kResourceIDDeathPerDay = 4130414096;
simcity.kResourceIDDeathFromInjury = 2183338900;
simcity.kResourceIDDeathFromInjuryPerDay = 2201818245;
simcity.kResourceIDAmbulance = 3809484581;
simcity.kResourceIDAmbulanceSuccesses = 2622519670;
simcity.kResourceIDSickHealingW1 = 301986399;
simcity.kResourceIDSickHealingW2 = 301986396;
simcity.kResourceIDSickHealingW3 = 301986397;
simcity.kResourceIDSickWaiting = 3896854408;
simcity.kResourceIDSickWaitingW1 = 1586605964;
simcity.kResourceIDSickWaitingW2 = 1586605967;
simcity.kResourceIDSickWaitingW3 = 1586605966;
simcity.kResourceIDInjuryHealingW1 = 2176436982;
simcity.kResourceIDInjuryHealingW2 = 2176436981;
simcity.kResourceIDInjuryHealingW3 = 2176436980;
simcity.kResourceIDInjuryWaiting = 3825955281;
simcity.kResourceIDInjuryWaitingW1 = 1469184685;
simcity.kResourceIDInjuryWaitingW2 = 1469184686;
simcity.kResourceIDInjuryWaitingW3 = 1469184687;
simcity.kResourceIDWaitingRoom = 688112595;
simcity.kResourceIDHospitalsBuilt = 2514784742;
simcity.kResourceIDT1HospitalsBuilt = 240239751;
simcity.kResourceIDT2HospitalsBuilt = 3484217500;
simcity.kResourceIDHospitalGaragesBuilt = 1141362145;
simcity.kResourceIDWaitingRoomIsFull = 534885744;
simcity.kResourceIDWaitingRoomIsAlmostFull = 2987146474;
simcity.kResourceIDTotalSickTreated = 2194328826;
simcity.kResourceIDTotalInjuryTreated = 2712725895;
simcity.kResourceIDNeighborRoomsOccupied = 4020159333;
simcity.kResourceIDNeighborHospitalRooms = 2551666427;
simcity.kResourceIDHospitalRooms = 255679233;
simcity.kResourceIDSickHealing = 2748482431;
simcity.kResourceIDInjuryHealing = 2788082702;
simcity.kResourceIDSurgeryCenterUnlocked = 2507958630;
simcity.kResourceIDSickGlobal = 2698308234;
simcity.kResourceIDSickGlobal_PerDay = 3336377824;
simcity.kResourceIDInjuryGlobal = 1670060833;
simcity.kResourceIDInjuryGlobal_PerDay = 393869773;
simcity.kResourceIDSickHealed = 31969966;
simcity.kResourceIDSickHealedDisplay = 2487810256;
simcity.kResourceIDSickHealed_PerDay = 3547645092;
simcity.kResourceIDSickToInjured = 571110619;
simcity.kResourceIDSickToInjured_PerDay = 2403448379;
simcity.kResourceIDSickToNormal = 1409835085;
simcity.kResourceIDSickToNormal_PerDay = 3574097577;
simcity.kResourceIDInjuryHealed = 1803074941;
simcity.kResourceIDInjuryHealedDisplay = 1874156469;
simcity.kResourceIDInjuryHealed_PerDay = 581291193;
simcity.kResourceIDMeltdown_TimerImminent = 3573132440;
simcity.kResourceIDDisasterMeltdown_InProgress = 2565106093;
simcity.kResourceIDDisasterMeltdown_HadMeltdown = 1328915890;
simcity.kResourceIDDisasterMeltdown_Recent = 941446812;
simcity.kResourceIDDisasterMeltdown_TimerRecentMeltdown = 2337119395;
simcity.kResourceIDNuclearReactor_LowSkill = 1322853549;
simcity.kResourceIDNuclearReactor_MediumSkill = 1114403040;
simcity.kResourceIDSlacker = 417810726;
simcity.kResourceIDHomeless = 1134006559;
simcity.kResourceIDHomelessForaging = 2828460396;
simcity.kResourceIDHomelessPanhandling = 1884585487;
simcity.kResourceIDHomelessSleeping = 4070836136;
simcity.kResourceIDHomelessPerPeriod = 293503959;
simcity.kResourceIDHomelessThisPeriod = 1285724032;
simcity.kResourceIDHomelessDisplay = 3680114479;
simcity.kResourceIDHomelessDead = 1721735285;
simcity.kResourceIDNumberOfBuildingsBurnedDown = 3599668696;
simcity.kResourceIDNumberOfBuildingsBurnedDownPerDay = 1364884217;
simcity.kResourceIDNumberOfFiresExtinguishedDisplay = 3888681899;
simcity.kResourceIDNumberOfFiresExtinguished = 4249512003;
simcity.kResourceIDNumberOfFiresExtinguishedPerDay = 3560249318;
simcity.kResourceIDIsBurning = 2018489714;
simcity.kResourceIDIsSmoking = 1411913709;
simcity.kResourceIDNumberOfFires = 628314840;
simcity.kResourceIDNumberOfHazMatFires = 2100610503;
simcity.kResourceIDNumberOfGarages = 531821913;
simcity.kResourceIDHazMatFireTrucksAvailable = 251332573;
simcity.kResourceIDNumberOfConnectedFlagPoles = 1526740117;
simcity.kResourceIDNumberOfConnectedSigns = 1608206460;
simcity.kResourceIDNumberOfFireDispatchModules = 2710077002;
simcity.kResourceIDT2FireStationUnlocked = 145258902;
simcity.kResourceIDMissionFireCost = 3313367558;
simcity.kResourceIDFireTradeToken = 3703805660;
simcity.kResourceIDAmountOfRubble = 4182034904;
simcity.kResourceIDAmountOfAbandoned = 2117976370;
simcity.kResourceIDFireRisk = 2645400692;
simcity.kResourceIDFlammableBuilding = 392496542;
simcity.kResourceIDFirefighter = 408865432;
simcity.kResourceIDNumberOfFireStations = 3713431570;
simcity.kResourceIDNumberOfT2FireStations = 1419205672;
simcity.kResourceIDNumberOfT1FireStations = 282350843;
simcity.kResourceIDHazmatGarageUnlocked = 2403112628;
simcity.kResourceIDHeat = 3448274455;
simcity.kResourceIDFireFuel = 1881207573;
simcity.kResourceIDFireLevel = 2458181481;
simcity.kResourceIDNumberOfHazMatFiresStarted = 1311069994;
simcity.kResourceIDNumberOfHazMatFiresStartedPerDay = 3046939575;
simcity.kResourceIDNumberOfHazMatFiresExtinguishedDisplay = 4224550078;
simcity.kResourceIDNumberOfHazMatFiresExtinguished = 3125239420;
simcity.kResourceIDNumberOfHazMatFiresExtinguishedPerDay = 1349067133;
simcity.kResourceIDFireHelicopter = 237357014;
simcity.kResourceIDHazMatTruck = 1664109457;
simcity.kResourceIDKid = 1115957451;
simcity.kResourceIDKidE2 = 440145198;
simcity.kResourceIDKidE3 = 440145199;
simcity.kResourceIDStudent = 740139282;
simcity.kResourceIDEducatedAtModule = 704127089;
simcity.kResourceIDKnowledgeToken = 2286658974;
simcity.kResourceIDStudentTokenE2 = 2520886016;
simcity.kResourceIDStudentTokenE3 = 2520886017;
simcity.kResourceIDSpotsForKids = 98217382;
simcity.kResourceIDSpotsForKidsE2 = 2176723623;
simcity.kResourceIDSpotsForKidsE3 = 2176723622;
simcity.kResourceIDSpotsForKidsE2Yesterday = 3491541885;
simcity.kResourceIDSpotsForKidsE3Yesterday = 49613830;
simcity.kResourceIDOverCrowding = 346657110;
simcity.kResourceIDKnowledgeLevel = 3636108215;
simcity.kResourceIDSkillLevelE2 = 3809638447;
simcity.kResourceIDKnowledgeLevelE2 = 2402132834;
simcity.kResourceIDEducationLevel = 232759661;
simcity.kResourceIDPreviouslyEducated = 3564237080;
simcity.kResourceIDStudentE2 = 34434427;
simcity.kResourceIDTradeExcessStudentE2 = 1893297692;
simcity.kResourceIDStudentStudyingE2 = 3473635378;
simcity.kResourceIDSkillLevel = 1501738158;
simcity.kResourceIDSkillLevelE3 = 3809638446;
simcity.kResourceIDKnowledgeLevelE3 = 2402132835;
simcity.kResourceIDStudentE3 = 34434426;
simcity.kResourceIDTradeExcessStudentE3 = 1893297693;
simcity.kResourceIDStudentStudyingE3 = 3473635379;
simcity.kResourceIDStudentToLeave = 2094443002;
simcity.kResourceIDSkillTokenE2 = 3879054254;
simcity.kResourceIDSkillTokenE3 = 3879054255;
simcity.kResourceIDResearch = 3895945778;
simcity.kResourceIDResearchNeeded = 866952621;
simcity.kResourceIDChoseNotToBeACriminal = 1941242284;
simcity.kResourceIDDidntGetSick = 2902165652;
simcity.kResourceIDStudentsNeeded_00 = 1197110181;
simcity.kResourceIDStudentsNeeded_03 = 1197110182;
simcity.kResourceIDStudentsNeeded_06 = 1197110179;
simcity.kResourceIDStudentsNeeded_09 = 1197110188;
simcity.kResourceIDStudentsNeeded_12 = 1180332592;
simcity.kResourceIDStudentsNeeded_15 = 1180332599;
simcity.kResourceIDStudentsNeeded_18 = 1180332602;
simcity.kResourceIDStudentsNeeded_21 = 1163554910;
simcity.kResourceIDLowSkill = 3015282364;
simcity.kResourceIDPower_SolarAdvanced_Unlocked = 3081991888;
simcity.kResourceIDPowerGlobals_LargeTurbine_Unlocked = 3621586015;
simcity.kResourceIDPower_Coal_Level3_Unlocked = 1492467248;
simcity.kResourceIDPower_OilCrude_Level3_Unlocked = 1957988;
simcity.kResourceIDNumberOfUniversities = 1083498385;
simcity.kResourceIDNumberOfGradeSchoolBases = 3887711568;
simcity.kResourceIDNumberOfGradeSchoolClassrooms = 1268332486;
simcity.kResourceIDNumberOfGradeSchoolLots = 3270524974;
simcity.kResourceIDNumberOfGradeSchoolBusStops = 1006854443;
simcity.kResourceIDNumberOfHighSchoolBases = 917921497;
simcity.kResourceIDNumberOfHighSchoolLots = 95643033;
simcity.kResourceIDNumberOfHighSchoolWings = 3367215595;
simcity.kResourceIDNumberOfHighSchoolGyms = 1605020049;
simcity.kResourceIDNumberOfCollegeBases = 2107386330;
simcity.kResourceIDNumberOfCollegeWings = 4269697596;
simcity.kResourceIDNumberOfAthleticsWings = 3121219368;
simcity.kResourceIDNumberOfBusinessWings = 4097152405;
simcity.kResourceIDNumberOfEducationWings = 2306587915;
simcity.kResourceIDNumberOfEngineeringWings = 1380060006;
simcity.kResourceIDNumberOfLawWings = 806951873;
simcity.kResourceIDNumberOfMedicineWings = 1594127707;
simcity.kResourceIDNumberOfScienceWings = 398637047;
simcity.kResourceIDNumberOfDormWings = 704863715;
simcity.kResourceIDT1GradeSchoolLotUnlocked = 2579792801;
simcity.kResourceIDSchoolBusT1StopUnlocked = 2406422179;
simcity.kResourceIDT1CollegeBaseUnlocked = 2789753771;
simcity.kResourceIDT2HighSchoolBaseUnlocked = 100759655;
simcity.kResourceIDT2UniversityBaseUnlocked = 1375519319;
simcity.kResourceIDExamsPassedE2 = 162463022;
simcity.kResourceIDExamsPassedE3 = 162463023;
simcity.kResourceIDUniversityStudents = 2343050577;
simcity.kResourceIDExamsPassedTodayE2 = 4067506367;
simcity.kResourceIDExamsPassedTodayE3 = 4067506366;
simcity.kResourceIDExamsPassedYesterdayE2 = 699705304;
simcity.kResourceIDExamsPassedYesterdayE3 = 699705305;
simcity.kResourceIDLocalStudentsTodayE2 = 3740669344;
simcity.kResourceIDLocalStudentsTodayE3 = 3740669345;
simcity.kResourceIDLocalStudentsYesterdayE2 = 2442378631;
simcity.kResourceIDLocalStudentsYesterdayE3 = 2442378630;
simcity.kResourceIDTradeStudentW1 = 1010515150;
simcity.kResourceIDTradeStudentW2 = 1010515149;
simcity.kResourceIDTradeStudentW3 = 1010515148;
simcity.kResourceIDFromTradingConnection = 4284702440;
simcity.kResourceIDNumberOfLibraries = 946409126;
simcity.kResourceIDNumberOfParks = 3919575048;
simcity.kResourceIDNumberOfT1Parks = 1105413579;
simcity.kResourceIDNumberOfT2Parks = 3547829422;
simcity.kResourceIDNumberOfT3Parks = 3861897597;
simcity.kResourceIDParkVisitors = 3617895960;
simcity.kResourceIDParkVisitorsW1ThisPeriod = 716048171;
simcity.kResourceIDParkVisitorsW2ThisPeriod = 858020864;
simcity.kResourceIDParkVisitorsW3ThisPeriod = 1175000809;
simcity.kResourceIDParkVisitorsW1PerPeriod = 3525565542;
simcity.kResourceIDParkVisitorsW2PerPeriod = 1480752471;
simcity.kResourceIDParkVisitorsW3PerPeriod = 1520338880;
simcity.kResourceIDCulturalVisitorsW1ThisPeriod = 1011508605;
simcity.kResourceIDCulturalVisitorsW2ThisPeriod = 1102856182;
simcity.kResourceIDCulturalVisitorsW3ThisPeriod = 259679967;
simcity.kResourceIDCulturalVisitorsW1PerPeriod = 1404846524;
simcity.kResourceIDCulturalVisitorsW2PerPeriod = 1653926529;
simcity.kResourceIDCulturalVisitorsW3PerPeriod = 1998420978;
simcity.kResourceIDParkKid = 3926021311;
simcity.kResourceIDParkGlobals_TouristsDisplay = 3694149307;
simcity.kResourceIDParkGlobals_Tourists = 3732098067;
simcity.kResourceIDParkGlobals_TouristsPerDay = 3442763798;
simcity.kResourceIDParkGlobals_KidsDisplay = 2604781581;
simcity.kResourceIDParkGlobals_Kids = 1855609397;
simcity.kResourceIDParkGlobals_KidsPerDay = 943514404;
simcity.kResourceIDParkGlobals_LocalsDisplay = 3218409028;
simcity.kResourceIDParkGlobals_Locals = 2870853610;
simcity.kResourceIDParkGlobals_LocalsPerDay = 585103479;
simcity.kResourceIDParkGlobals_Homeless = 4163994496;
simcity.kResourceIDParkGlobals_HomelessPerDay = 3983377073;
simcity.kResourceIDNumberOfCultural = 2176476263;
simcity.kResourceIDCulturalVisitors = 3089971634;
simcity.kResourceIDGarbage = 2092055118;
simcity.kResourceIDGarbageToBurn = 1116260754;
simcity.kResourceIDGarbageBurnedPerHour = 2083566345;
simcity.kResourceIDGarbageDisplay = 1422559728;
simcity.kResourceIDGarbageInDump = 2001853293;
simcity.kResourceIDGarbageDumpCapacity = 2012180508;
simcity.kResourceIDNeighborGarbageInDump = 3091007075;
simcity.kResourceIDNeighborGarbageDumpCapacity = 1912199982;
simcity.kResourceIDGarbagePickedUpYesterday = 1042773031;
simcity.kResourceIDGarbageProducedYesterday = 1269705882;
simcity.kResourceIDNumberOfDumpDocks = 2474366461;
simcity.kResourceIDGarbagePickedUpToday = 900913296;
simcity.kResourceIDGarbageProducedToday = 2418247421;
simcity.kResourceIDGarbagePollutionToday = 505976303;
simcity.kResourceIDGarbagePollutionYesterday = 317495968;
simcity.kResourceIDNumIncinerators = 1483232536;
simcity.kResourceIDNumberOfGarbageProducers = 2100950799;
simcity.kResourceIDGarbageDisplayCount = 1422559728;
simcity.kResourceIDGarbagePickedUpRecord = 2235301706;
simcity.kResourceIDGarbagePickUpNeeded = 4134097061;
simcity.kResourceIDGarbageInCityPerDay = 767419539;
simcity.kResourceIDRecyclingInCityPerDay = 4139349220;
simcity.kResourceIDGarbageInCityPerDay_Last = 2546219826;
simcity.kResourceIDRecyclingInCityPerDay_Last = 1852581215;
simcity.kResourceIDRecyclablesPickUpNeeded = 3864048725;
simcity.kResourceIDGarbageTruck = 1782312919;
simcity.kResourceIDGarbageLost = 4294081512;
simcity.kResourceIDGarbageLostPerDay = 4037031209;
simcity.kResourceIDRecyclablesLost = 4024725176;
simcity.kResourceIDRecyclablesLostPerDay = 809563353;
simcity.kResourceIDRecyclables = 551108766;
simcity.kResourceIDAvailableRecyclingCenter = 627676295;
simcity.kResourceIDRecyclableDisplay = 1191146176;
simcity.kResourceIDRecyclablesCapacity = 1974714610;
simcity.kResourceIDRecyclablesPickedUpToday = 289279968;
simcity.kResourceIDRecyclablesProducedToday = 2550194061;
simcity.kResourceIDRecyclablesPickedUpYesterday = 3008408535;
simcity.kResourceIDRecyclablesProducedYesterday = 2867503114;
simcity.kResourceIDNumberOfRecyclingCenters = 4025811973;
simcity.kResourceIDNumberOfPlasticRecoverers = 1071221463;
simcity.kResourceIDNumberOfMetalRecoverers = 2280604842;
simcity.kResourceIDNumberOfAlloyRecoverers = 1116983938;
simcity.kResourceIDRecyclingLevel = 3504198833;
simcity.kResourceIDRecyclingTruck = 2161441970;
simcity.kResourceIDLandmarkSpecialtyIncomeDisplay = 436116592;
simcity.kResourceIDLandmarkSpecialtyExpensesDisplay = 787050322;
simcity.kResourceIDHasLandmark = 996218559;
simcity.kResourceIDHasLandmarkBigBen = 2638741178;
simcity.kResourceIDHasLandmarkEiffelTower = 1820676685;
simcity.kResourceIDHasLandmarkTokyoTower = 2771774834;
simcity.kResourceIDHasLandmarkBrandenburggate = 3356701108;
simcity.kResourceIDLandmarksUnlocked = 1262648471;
simcity.kResourceIDPoliceStationsBuilt = 1293645856;
simcity.kResourceIDPoliceStationsT1Built = 3195604778;
simcity.kResourceIDPoliceStationsT2Built = 3195604777;
simcity.kResourceIDNumberOfPoliceCars = 1306127202;
simcity.kResourceIDPolice = 291106007;
simcity.kResourceIDPoliceDetectiveVan = 2017795159;
simcity.kResourceIDPoliceDetectiveVan_Parking = 2772202942;
simcity.kResourceIDPoliceHelicopter = 1792517440;
simcity.kResourceIDCriminalsArrested = 3969035757;
simcity.kResourceIDCriminalsArrestedPerDay = 1304762412;
simcity.kResourceIDCriminalsArrestedDisplay = 2344037413;
simcity.kResourceIDRegionalCrimesCommitted_ThisDay = 260071832;
simcity.kResourceIDRegionalCrimesCommitted_PerDay = 802678475;
simcity.kResourceIDCriminalRobber = 3072965302;
simcity.kResourceIDCriminalMurderer = 4039250154;
simcity.kResourceIDCriminalRobberAvailable = 334606379;
simcity.kResourceIDCriminalMurdererAvailable = 549533239;
simcity.kResourceIDCriminalArsonistAvailable = 2076692708;
simcity.kResourceIDRegionalCriminalRobber_Arrested = 3500530816;
simcity.kResourceIDRegionalCriminalMurderer_Arrested = 1132834384;
simcity.kResourceIDRegionalCriminalArsonist_Arrested = 547650187;
simcity.kResourceIDRegionalCriminalEmbezzler_Arrested = 3488315592;
simcity.kResourceIDRegionalCriminalsIncarcerated = 3319542441;
simcity.kResourceIDCrimeLevel_ThisDay = 2190858014;
simcity.kResourceIDCrimeLevel_PerDay = 1408842461;
simcity.kResourceIDCriminal = 504673986;
simcity.kResourceIDCriminalShoplifter = 210128832;
simcity.kResourceIDCriminalMugger = 831598359;
simcity.kResourceIDCriminalArsonist = 489608795;
simcity.kResourceIDCriminalArsonistLight = 578176265;
simcity.kResourceIDCriminalLevel = 472412220;
simcity.kResourceIDCriminalViolence = 1667152949;
simcity.kResourceIDCriminalVandalism = 70341145;
simcity.kResourceIDCriminalTheft = 1440298021;
simcity.kResourceIDCriminalWhiteCollar = 2252979462;
simcity.kResourceIDCriminalTaxEvader = 878884418;
simcity.kResourceIDCriminalEmbezzler = 3793237216;
simcity.kResourceIDCriminalHome = 2554664627;
simcity.kResourceIDCriminalXP = 656078922;
simcity.kResourceIDArson = 1197405812;
simcity.kResourceIDNearArson = 3648115806;
simcity.kResourceIDShoplifting = 2469405894;
simcity.kResourceIDNearShoplifting = 3678368572;
simcity.kResourceIDRobbery = 3627131386;
simcity.kResourceIDNearRobbery = 3918001720;
simcity.kResourceIDMugging = 3118140107;
simcity.kResourceIDNearMugging = 677187317;
simcity.kResourceIDMurder = 3288599948;
simcity.kResourceIDNearMurder = 2800827634;
simcity.kResourceIDEmbezzling = 3771148900;
simcity.kResourceIDEmbezzlingCost = 3453697323;
simcity.kResourceIDCrimesCommitted = 3969752110;
simcity.kResourceIDCrimesCommitted_PerDay = 798709028;
simcity.kResourceIDCriminalsAtLarge = 323121511;
simcity.kResourceIDCriminalsAtLargePerDay = 2137315242;
simcity.kResourceIDArsonistsAtLarge = 449847969;
simcity.kResourceIDCriminalsIncarcerated = 3192894076;
simcity.kResourceIDCriminalsInJailPerDay = 134950725;
simcity.kResourceIDCriminalsRehabilitated = 2960242855;
simcity.kResourceIDCriminalsRehabilitatedToday = 1663983338;
simcity.kResourceIDCriminalsRehabilitatedPerDay = 1984162026;
simcity.kResourceIDCriminalsReleasedOvercrowding = 122084851;
simcity.kResourceIDCriminalsReleasedOvercrowdingToday = 3695701462;
simcity.kResourceIDCriminalsReleasedOvercrowdingPerDay = 204908534;
simcity.kResourceIDVandalismLevel = 3967031134;
simcity.kResourceIDTotalCells = 3130193432;
simcity.kResourceIDNeighborTotalCells = 2554438882;
simcity.kResourceIDOpenCells = 2801080940;
simcity.kResourceIDDetectiveWingUnlocked = 2969418732;
simcity.kResourceIDDetectiveWingsBuilt = 546841254;
simcity.kResourceIDOutreachWingsBuilt = 1015652820;
simcity.kResourceIDNumberOfConnections = 2420041124;
simcity.kResourceIDNumberOfClaimedConnections = 182553747;
simcity.kResourceIDHasMayorsMansion = 772640335;
simcity.kResourceIDHasMayorsHouseSmall = 3602055689;
simcity.kResourceIDOverDriveTimer = 2440987956;
simcity.kResourceIDOverDriveTimerForMansion = 871363660;
simcity.kResourceIDMansionUpgradeTarget = 3605773391;
simcity.kResourceIDMayorUpgradeAvailable = 273805726;
simcity.kResourceIDRating_LocalForUnlock = 532307531;
simcity.kResourceIDTutorialEnabled = 3085667686;
simcity.kResourceIDRegional_HQ_CityHall_IsOn = 2312380229;
simcity.kResourceIDHQ_CityHall_Built = 1131078174;
simcity.kResourceIDHQ_CityHall_IsOn = 3376403637;
simcity.kResourceIDHQ_CityHall_Level2_IsOn = 2304628942;
simcity.kResourceIDTotalBonds1 = 3750279930;
simcity.kResourceIDTotalBonds2 = 3750279929;
simcity.kResourceIDTotalBonds3 = 3750279928;
simcity.kResourceIDExpensesFromBonds1 = 912516801;
simcity.kResourceIDExpensesFromBonds2 = 912516802;
simcity.kResourceIDExpensesFromBonds3 = 912516803;
simcity.kResourceIDExpensesFromBondsInterest1 = 3229502908;
simcity.kResourceIDExpensesFromBondsInterest2 = 3229502911;
simcity.kResourceIDExpensesFromBondsInterest3 = 3229502910;
simcity.kResourceIDHQ_CityHall_Level = 897245280;
simcity.kResourceIDHQ_CityHall_OpenModules = 2879354421;
simcity.kResourceIDHQ_CityHall_Unlocked = 226625445;
simcity.kResourceIDHQ_CityHall_Education_Module_IsOn = 3923095905;
simcity.kResourceIDHQ_CityHall_Finance_Module_IsOn = 567687869;
simcity.kResourceIDHQ_CityHall_Safety_Module_IsOn = 215766017;
simcity.kResourceIDHQ_CityHall_Tourism_Module_IsOn = 3212839908;
simcity.kResourceIDHQ_CityHall_Transportation_Module_IsOn = 2181372253;
simcity.kResourceIDHQ_CityHall_Utilities_Module_IsOn = 2970167355;
simcity.kResourceIDHQ_CityHall_Transportation_Module_Built = 2483746982;
simcity.kResourceIDHandshakeSent = 610756730;
simcity.kResourceIDHandshakeReceived = 2190472937;
simcity.kResourceIDNorth = 4279573130;
simcity.kResourceIDSouth = 992193856;
simcity.kResourceIDEast = 529018174;
simcity.kResourceIDWest = 1723483016;
simcity.kResourceIDTradeDealMyPowerRequest = 919910727;
simcity.kResourceIDTradeDealMyPowerAgreement = 4282683288;
simcity.kResourceIDTradeDealPowerStatus = 3106217408;
simcity.kResourceIDTradeDealPowerSize = 343268165;
simcity.kResourceIDTradeDealMyWaterRequest = 2867838445;
simcity.kResourceIDTradeDealMyWaterAgreement = 4133997914;
simcity.kResourceIDTradeDealWaterStatus = 228341758;
simcity.kResourceIDTradeDealWaterSize = 2286467667;
simcity.kResourceIDTradeGiftSimoleonsSize = 2361644679;
simcity.kResourceIDNumberOfRegionalWorks = 1760472636;
simcity.kResourceIDConnected = 1629494038;
simcity.kResourceIDWorkerTruck = 1935164160;
simcity.kResourceIDClaimedBox = 3501625368;
simcity.kResourceIDTradeGiftSendingSimoleons = 3982444360;
simcity.kResourceIDTradeGiftSimoleonsSize = 2361644679;
simcity.kResourceIDTradeTrackingTotalPower = 2825663747;
simcity.kResourceIDTradeTrackingExcessPower = 2064475082;
simcity.kResourceIDTradeTrackingDeficitPower = 2070310611;
simcity.kResourceIDTradeTrackingNeededPower = 154028464;
simcity.kResourceIDTradePowerUsedToSend = 513060426;
simcity.kResourceIDTradePowerUsedToSendFromBefore = 2204609991;
simcity.kResourceIDPowerImportExchangeRate = 1899495326;
simcity.kResourceIDTradeTrackingSwitchConnectionPower = 1897010737;
simcity.kResourceIDTradeTrackingTotalWater = 205888501;
simcity.kResourceIDTradeTrackingExcessWater = 3800635496;
simcity.kResourceIDTradeTrackingDeficitWater = 2713311365;
simcity.kResourceIDTradeTrackingNeededWater = 417282202;
simcity.kResourceIDTradeWaterUsedToSend = 1924344012;
simcity.kResourceIDTradeWaterUsedToSendFromBefore = 3824472781;
simcity.kResourceIDWaterImportExchangeRate = 100106280;
simcity.kResourceIDTradeTrackingSwitchConnectionWater = 2775184975;
simcity.kResourceIDTradeTrackingTreatedSewage = 170180669;
simcity.kResourceIDTradeTrackingExcessSewage = 1375844891;
simcity.kResourceIDTradeTrackingTotalSewage = 286011656;
simcity.kResourceIDTradeSewageExportAllowedUsedToSend = 1462675935;
simcity.kResourceIDTradeTrackingSwitchConnectionSewage = 2176822418;
simcity.kResourceIDTradeTrackingTotalGarbage = 1944814113;
simcity.kResourceIDTradeTrackingGarbageDumpCapacity = 2751523129;
simcity.kResourceIDTradeTrackingGarbagePickup = 2149039580;
simcity.kResourceIDTradeTrackingGarbageRewards = 3652000609;
simcity.kResourceIDTradeTrackingGarbageTruckR1 = 1476299975;
simcity.kResourceIDTradeTrackingTotalRecycling = 997405154;
simcity.kResourceIDTradeTrackingRecyclablesCapacity = 915051315;
simcity.kResourceIDTradeTrackingRecyclingPickedUp = 1963508395;
simcity.kResourceIDTradeTrackingRecyclingRewards = 658544808;
simcity.kResourceIDTradeTrackingRecyclingTruckR2 = 497754253;
simcity.kResourceIDTradeTrackingTotalFires = 1576817527;
simcity.kResourceIDTradeTrackingUnattendedFires = 3598643151;
simcity.kResourceIDTradeTrackingFireRewards = 1647276942;
simcity.kResourceIDTradeTrackingFireTruckR1 = 2672516396;
simcity.kResourceIDTradeTrackingFireTruckR2 = 2672516399;
simcity.kResourceIDTradeTrackingHazMatTruckR2 = 1092274640;
simcity.kResourceIDTradeTrackingFireInspectorR2 = 2483763065;
simcity.kResourceIDTradeTrackingFireHelicopterR2 = 3001853005;
simcity.kResourceIDTradeTrackingTotalCrimes = 3348240957;
simcity.kResourceIDTradeTrackingCriminalsCaught = 542997796;
simcity.kResourceIDTradeTrackingTotalCells = 185119231;
simcity.kResourceIDTradeTrackingCriminalsAtLarge = 169350308;
simcity.kResourceIDTradeTrackingPoliceCarR1 = 3835374665;
simcity.kResourceIDTradeTrackingPoliceDetectiveVanR2 = 948934452;
simcity.kResourceIDTradeTrackingPoliceOutreachVanR2 = 3451440152;
simcity.kResourceIDTradeTrackingPoliceHelicopterR2 = 693966119;
simcity.kResourceIDTradeTrackingT2FireStations = 1643611927;
simcity.kResourceIDTradeTrackingT1GarbageBases = 1362349058;
simcity.kResourceIDTradeTrackingT2GarbageBases = 2837792889;
simcity.kResourceIDTradeTrackingT2Hospitals = 738599137;
simcity.kResourceIDTradeTrackingT2PoliceStations = 4236188317;
simcity.kResourceIDTradeTrackingImportedResidentWorkerW1 = 2072485076;
simcity.kResourceIDTradeTrackingImportedResidentWorkerW2 = 2072485079;
simcity.kResourceIDTradeTrackingImportedResidentWorkerW3 = 2072485078;
simcity.kResourceIDTradeTrackingExportedWorkerW1 = 3264242193;
simcity.kResourceIDTradeTrackingExportedWorkerW2 = 3264242194;
simcity.kResourceIDTradeTrackingExportedWorkerW3 = 3264242195;
simcity.kResourceIDTradeTrackingImportedJobsW1 = 334865198;
simcity.kResourceIDTradeTrackingImportedJobsW2 = 334865197;
simcity.kResourceIDTradeTrackingImportedJobsW3 = 334865196;
simcity.kResourceIDTradeTrackingImportedResidentShopperW1 = 96784483;
simcity.kResourceIDTradeTrackingImportedResidentShopperW2 = 96784480;
simcity.kResourceIDTradeTrackingImportedResidentShopperW3 = 96784481;
simcity.kResourceIDTradeTrackingImportedShoppersNeededW1 = 388378261;
simcity.kResourceIDTradeTrackingImportedShoppersNeededW2 = 388378262;
simcity.kResourceIDTradeTrackingImportedShoppersNeededW3 = 388378263;
simcity.kResourceIDTradeTrackingExportedShopperW1 = 1863409004;
simcity.kResourceIDTradeTrackingExportedShopperW2 = 1863409007;
simcity.kResourceIDTradeTrackingExportedShopperW3 = 1863409006;
simcity.kResourceIDTradeTrackingImportedKid = 4278195042;
simcity.kResourceIDTradeTrackingImportedStudentsE2 = 3971993227;
simcity.kResourceIDTradeTrackingImportedStudentsE3 = 3971993226;
simcity.kResourceIDTradeTrackingImportedFreightProducer = 1429838581;
simcity.kResourceIDTradeTrackingImportedFreightConsumerD1 = 3069218622;
simcity.kResourceIDTradeTrackingImportedFreightConsumerD2 = 3069218621;
simcity.kResourceIDTradeTrackingImportedFreightConsumerD3 = 3069218620;
simcity.kResourceIDTradeTrackingResidentialWorkerW1 = 994370214;
simcity.kResourceIDTradeTrackingResidentialWorkerW2 = 994370213;
simcity.kResourceIDTradeTrackingResidentialWorkerW3 = 994370212;
simcity.kResourceIDTradeTrackingDayJobsW1 = 2907248936;
simcity.kResourceIDTradeTrackingDayJobsW2 = 2907248939;
simcity.kResourceIDTradeTrackingDayJobsW3 = 2907248938;
simcity.kResourceIDTradeTrackingNightJobsW1 = 2209438356;
simcity.kResourceIDTradeTrackingNightJobsW2 = 2209438359;
simcity.kResourceIDTradeTrackingNightJobsW3 = 2209438358;
simcity.kResourceIDTradeTrackingResidentialShopperW1 = 2823007977;
simcity.kResourceIDTradeTrackingResidentialShopperW2 = 2823007978;
simcity.kResourceIDTradeTrackingResidentialShopperW3 = 2823007979;
simcity.kResourceIDTradeTrackingHotItemsW1ProducedYesterday_Day = 436044244;
simcity.kResourceIDTradeTrackingHotItemsW2ProducedYesterday_Day = 2567516917;
simcity.kResourceIDTradeTrackingHotItemsW3ProducedYesterday_Day = 2107391642;
simcity.kResourceIDTradeTrackingHotItemsW1ProducedYesterday_Night = 1180475536;
simcity.kResourceIDTradeTrackingHotItemsW2ProducedYesterday_Night = 4288225481;
simcity.kResourceIDTradeTrackingHotItemsW3ProducedYesterday_Night = 1460279358;
simcity.kResourceIDTradeTrackingHotItemsW1ConsumedYesterday_Day = 3301253642;
simcity.kResourceIDTradeTrackingHotItemsW2ConsumedYesterday_Day = 1454982443;
simcity.kResourceIDTradeTrackingHotItemsW3ConsumedYesterday_Day = 43830436;
simcity.kResourceIDTradeTrackingHotItemsW1ConsumedYesterday_Night = 625769006;
simcity.kResourceIDTradeTrackingHotItemsW2ConsumedYesterday_Night = 3672481127;
simcity.kResourceIDTradeTrackingHotItemsW3ConsumedYesterday_Night = 2743040480;
simcity.kResourceIDTradeTrackingFreightCapacityGlobal = 44618754;
simcity.kResourceIDTradeTrackingFreightProducer = 3958037009;
simcity.kResourceIDTradeTrackingFreightConsumedYesterday = 2201488459;
simcity.kResourceIDTradeTrackingFreightProducedYesterday = 3557538141;
simcity.kResourceIDTradeTrackingFreightExportedToday = 2710463005;
simcity.kResourceIDTradeTrackingFreightExportedYesterday = 3070536890;
simcity.kResourceIDTradeTrackingFreightImportedToday = 965101814;
simcity.kResourceIDTradeTrackingFreightImportedYesterday = 2446006113;
simcity.kResourceIDTradeTrackingTotalKids = 2036203095;
simcity.kResourceIDTradeTrackingLocalStudentsYesterday = 197785297;
simcity.kResourceIDTradeTrackingLocalStudentsYesterdayE2 = 1813541280;
simcity.kResourceIDTradeTrackingLocalStudentsYesterdayE3 = 1813541281;
simcity.kResourceIDTradeTrackingSpotsForKids = 4098104485;
simcity.kResourceIDTradeTrackingSpotsForKidsE2 = 2011204636;
simcity.kResourceIDTradeTrackingSpotsForKidsE3 = 2011204637;
simcity.kResourceIDTradeTrackingExamsPassedTodayE2 = 109533772;
simcity.kResourceIDTradeTrackingExamsPassedTodayE3 = 109533773;
simcity.kResourceIDTradeTrackingHospitalRooms = 1371452676;
simcity.kResourceIDTradeTrackingSickHealing = 3951031362;
simcity.kResourceIDTradeTrackingInjuryHealing = 1659303859;
simcity.kResourceIDTradeTrackingTotalSickAndInjured = 990442076;
simcity.kResourceIDTradeTrackingAmbulanceR1 = 339387647;
simcity.kResourceIDTradeTrackingCommunityOutreachVanR2 = 1033645175;
simcity.kResourceIDTradeTrackingBusR2PassengersToday = 455274306;
simcity.kResourceIDTradeTrackingSchoolBusR2PassengersToday = 3631226262;
simcity.kResourceIDTradeTrackingTrainT2PassengersToday = 1388385232;
simcity.kResourceIDTradeTrackingFerryT1PassengersToday = 1837932671;
simcity.kResourceIDTradeTrackingMayorRating = 4197480713;
simcity.kResourceIDTradeTrackingSimoleons = 183911047;
simcity.kResourceIDTradeTrackingTotalResidential = 758431106;
simcity.kResourceIDTradeTrackingNumImEx = 2392059991;
simcity.kResourceIDTradeTrackingNumImExT2 = 1373917985;
simcity.kResourceIDTradeTrackingNumImExT2Rail = 4219056289;
simcity.kResourceIDTradeTrackingNumImExT2Boat = 2629882187;
simcity.kResourceIDTradeTrackingCoalImported = 2272506407;
simcity.kResourceIDTradeTrackingCoalExported = 706091494;
simcity.kResourceIDTradeTrackingCoalHarvested = 3300439569;
simcity.kResourceIDTradeTrackingCoalConsumed = 2085672197;
simcity.kResourceIDTradeTrackingCoalConsumedByProducer = 4287139332;
simcity.kResourceIDTradeTrackingCoalCapacity = 2031454803;
simcity.kResourceIDTradeTrackingCoalStored = 2808200618;
simcity.kResourceIDTradeTrackingOreRawImported = 836581336;
simcity.kResourceIDTradeTrackingOreRawExported = 1484651513;
simcity.kResourceIDTradeTrackingOreRawHarvested = 217778684;
simcity.kResourceIDTradeTrackingOreRawConsumedByProducer = 1317040855;
simcity.kResourceIDTradeTrackingOreRawCapacity = 3074432104;
simcity.kResourceIDTradeTrackingOreRawStored = 603518537;
simcity.kResourceIDTradeTrackingOilCrudeImported = 1681643515;
simcity.kResourceIDTradeTrackingOilCrudeExported = 2471395642;
simcity.kResourceIDTradeTrackingOilCrudeHarvested = 1071359997;
simcity.kResourceIDTradeTrackingOilCrudeConsumed = 1423367025;
simcity.kResourceIDTradeTrackingOilCrudeConsumedByProducer = 2130772096;
simcity.kResourceIDTradeTrackingOilCrudeCapacity = 2012710871;
simcity.kResourceIDTradeTrackingOilCrudeStored = 3434951062;
simcity.kResourceIDTradeTrackingPlasticImported = 3884226602;
simcity.kResourceIDTradeTrackingPlasticExported = 3308497499;
simcity.kResourceIDTradeTrackingPlasticAssembled = 3778649082;
simcity.kResourceIDTradeTrackingPlasticConsumedByProducer = 3885730093;
simcity.kResourceIDTradeTrackingPlasticCapacity = 1016408938;
simcity.kResourceIDTradeTrackingPlasticStored = 555294567;
simcity.kResourceIDTradeTrackingFuelImported = 4173075510;
simcity.kResourceIDTradeTrackingFuelExported = 3690774791;
simcity.kResourceIDTradeTrackingFuelAssembled = 191880670;
simcity.kResourceIDTradeTrackingFuelConsumedByProducer = 4274148897;
simcity.kResourceIDTradeTrackingFuelCapacity = 410643942;
simcity.kResourceIDTradeTrackingFuelStored = 600025499;
simcity.kResourceIDTradeTrackingMetalImported = 1943226479;
simcity.kResourceIDTradeTrackingMetalExported = 3486734846;
simcity.kResourceIDTradeTrackingMetalAssembled = 1368044365;
simcity.kResourceIDTradeTrackingMetalConsumedByProducer = 3290396812;
simcity.kResourceIDTradeTrackingMetalCapacity = 230574379;
simcity.kResourceIDTradeTrackingMetalStored = 2460314418;
simcity.kResourceIDTradeTrackingAlloyImported = 211824479;
simcity.kResourceIDTradeTrackingAlloyExported = 3299664462;
simcity.kResourceIDTradeTrackingAlloyAssembled = 842595325;
simcity.kResourceIDTradeTrackingAlloyConsumedByProducer = 603949948;
simcity.kResourceIDTradeTrackingAlloyCapacity = 1063076059;
simcity.kResourceIDTradeTrackingAlloyStored = 194485282;
simcity.kResourceIDTradeTrackingElectronicsImported = 4198493631;
simcity.kResourceIDTradeTrackingElectronicsExported = 1502897070;
simcity.kResourceIDTradeTrackingElectronicsAssembled = 642627805;
simcity.kResourceIDTradeTrackingElectronicsConsumedByProducer = 1655447260;
simcity.kResourceIDTradeTrackingElectronicsCapacity = 754881083;
simcity.kResourceIDTradeTrackingElectronicsStored = 928483714;
simcity.kResourceIDTradeTrackingTelevisionImported = 3986417094;
simcity.kResourceIDTradeTrackingTelevisionExported = 1960514231;
simcity.kResourceIDTradeTrackingTelevisionAssembled = 2394888302;
simcity.kResourceIDTradeTrackingTelevisionConsumedByProducer = 3635908721;
simcity.kResourceIDTradeTrackingTelevisionCapacity = 185980726;
simcity.kResourceIDTradeTrackingTelevisionStored = 3536891307;
simcity.kResourceIDTradeTrackingComputerImported = 1549863737;
simcity.kResourceIDTradeTrackingComputerExported = 1875289888;
simcity.kResourceIDTradeTrackingComputerAssembled = 4241072751;
simcity.kResourceIDTradeTrackingComputerConsumedByProducer = 2124001594;
simcity.kResourceIDTradeTrackingComputerCapacity = 454820893;
simcity.kResourceIDTradeTrackingComputerStored = 1111156840;
simcity.kResourceIDAlloyTransport = 2094769101;
simcity.kResourceIDAlloyTransportToSend = 2211053392;
simcity.kResourceIDCoalTransport = 129362091;
simcity.kResourceIDCoalTransportToSend = 1168959818;
simcity.kResourceIDComputerTransport = 1426305929;
simcity.kResourceIDComputerTransportToSend = 2578398228;
simcity.kResourceIDElectronicsTransport = 837876277;
simcity.kResourceIDElectronicsTransportToSend = 1638454328;
simcity.kResourceIDFuelTransport = 1465669288;
simcity.kResourceIDFuelTransportToSend = 2831910513;
simcity.kResourceIDMetalTransport = 3586627541;
simcity.kResourceIDMetalTransportToSend = 2786169304;
simcity.kResourceIDOilCrudeTransport = 1939187731;
simcity.kResourceIDOilCrudeTransportToSend = 3923639794;
simcity.kResourceIDOreRawTransport = 3194563238;
simcity.kResourceIDOreRawTransportToSend = 3058520683;
simcity.kResourceIDPlasticTransport = 3157718626;
simcity.kResourceIDPlasticTransportToSend = 3698475599;
simcity.kResourceIDTelevisionTransport = 18550752;
simcity.kResourceIDTelevisionTransportToSend = 1231596297;
simcity.kResourceIDNumberOfGreatWorksAvailable = 3064543031;
simcity.kResourceIDWorkersSent = 3591689416;
simcity.kResourceIDWorkerTruck = 1935164160;
simcity.kResourceIDSimsInjuredInMission = 2069161297;
simcity.kResourceIDMissionCompleted = 1627245352;
simcity.kResourceIDMissionStarted = 419590612;
simcity.kResourceIDIsSelected = 3358518502;
simcity.kResourceIDMissionProgress = 973586624;
simcity.kResourceIDLocalMissionProgress = 4183714305;
simcity.kResourceIDGlobalMissionProgress = 3746722863;
simcity.kResourceIDMissionProgressDisplay = 4154147290;
simcity.kResourceIDPower_RegionalSolarPlant_Unlocked = 2819741462;
simcity.kResourceIDHQ_University_Science_Module_IsOn = 915861573;
simcity.kResourceIDHQ_University_Engineering_Module_IsOn = 946389442;
simcity.kResourceIDRegionSolarPlantUnlocked = 3234225566;
simcity.kResourceIDInternationalAirportUnlocked = 2383687319;
simcity.kResourceIDRegionInternationalAirportUnlocked = 175499503;
simcity.kResourceIDSpaceCenterUnlocked = 3825521097;
simcity.kResourceIDRegionSpaceCenterUnlocked = 4085370929;
simcity.kResourceIDHQ_Electronics_ConsumerElectronics_Module_IsOn = 284482545;
simcity.kResourceIDRegionCoalHQIsPresent = 3251041550;
simcity.kResourceIDArcologyUnlocked = 2057105206;
simcity.kResourceIDRegionArcologyUnlocked = 3567012286;
simcity.kResourceIDGWConstructionStage = 1485155782;
simcity.kResourceIDGWOperationalStage = 4291847016;
simcity.kResourceIDGWRegionalConstructionWorkersTotal = 2435950116;
simcity.kResourceIDGWRegionalConstructionWorkersSent = 1206299136;
simcity.kResourceIDGreatWorksSignedUpCounter = 2541729299;
simcity.kResourceIDGreatWorksOperational = 1315684666;
simcity.kResourceIDGreatWorksResourceDelivered = 3202272862;
simcity.kResourceIDGreatWorksResource1Delivered = 1136547621;
simcity.kResourceIDGreatWorksResource2Delivered = 1595600012;
simcity.kResourceIDGreatWorksResource3Delivered = 3824525519;
simcity.kResourceIDConstructionWorkersStalled = 496418028;
simcity.kResourceIDGreatWorksUnlocked = 1540571913;
simcity.kResourceIDHelicopterUnlock_IsOn = 4149371850;
simcity.kResourceIDRegionalBuildingActive = 3564852728;
simcity.kResourceIDRegionalAttractionLevelTotal = 593596809;
simcity.kResourceIDRegionalPowerOperating = 4061587982;
simcity.kResourceIDRegionalWaterOperating = 1990851096;
simcity.kResourceIDRegionalWorkersTotal = 1994308351;
simcity.kResourceIDCountedPower = 3351100072;
simcity.kResourceIDRegionalPowerTotal = 111888553;
simcity.kResourceIDRegionalWaterTotal = 3561486351;
simcity.kResourceIDTrackingPassengerAirplaneT2 = 2345532582;
simcity.kResourceIDTrackingTouristW2 = 3835689959;
simcity.kResourceIDTrackingTouristW3 = 3835689958;
simcity.kResourceIDTrackingPotentialTouristW2 = 1113374941;
simcity.kResourceIDTrackingPotentialTouristW3 = 1113374940;
simcity.kResourceIDTrackingCargoAirplaneT1 = 3798476589;
simcity.kResourceIDTrackingCargoAirplaneT2 = 3798476590;
simcity.kResourceIDHasSolarFarm = 3145586614;
simcity.kResourceIDHasInternationalAirport = 468510354;
simcity.kResourceIDHasSpaceCenter = 353164660;
simcity.kResourceIDHasArcology = 3011308239;
simcity.kResourceIDBypassOperationalCheck = 2018215597;
simcity.kResourceIDReceivingPowerFromSolarFarm = 1384663895;
simcity.kResourceIDPowerSentFromGreatWorks = 1114786261;
simcity.kResourceIDGreatWorkImportedPowerCounter = 255515766;
simcity.kResourceIDGreatWorksOperatingMissionInProgress = 2102740475;
simcity.kResourceIDActiveSatelliteLaunch = 238264067;
simcity.kResourceIDBuildingSatellite = 963782616;
simcity.kResourceIDArcologyPopulationLevel = 1062896262;
simcity.kResourceIDGreatWorksOperatingMissionInProgress = 2102740475;
simcity.kResourceIDSpaceCenterRocketOnPad = 2431448096;
simcity.kResourceIDSatelliteLaunched = 992762266;
simcity.kResourceIDSpaceCenterSkillBoostCounter = 1940872510;
simcity.kResourceIDSpaceCenterOperatingPhase = 3102749500;
simcity.kResourceIDSpaceCenterLaunchAvailable = 2873912652;
simcity.kResourceIDMissionCountdownClock = 1216012096;
simcity.kResourceIDMissionResource1 = 2630414794;
simcity.kResourceIDMissionResource2 = 2630414793;
simcity.kResourceIDMissionResource3 = 2630414792;
simcity.kResourceIDMissionResource4 = 2630414799;
simcity.kResourceIDMissionResource5 = 2630414798;
simcity.kResourceIDMissionResource6 = 2630414797;
simcity.kResourceIDMissionResource7 = 2630414796;
simcity.kResourceIDMissionResource8 = 2630414787;
simcity.kResourceIDLocalMissionResource1 = 228444021;
simcity.kResourceIDLocalMissionResource2 = 228444022;
simcity.kResourceIDLocalMissionResource3 = 228444023;
simcity.kResourceIDLocalMissionResource4 = 228444016;
simcity.kResourceIDLocalMissionResource5 = 228444017;
simcity.kResourceIDLocalMissionResource6 = 228444018;
simcity.kResourceIDLocalMissionResource7 = 228444019;
simcity.kResourceIDLocalMissionResource8 = 228444028;
simcity.kResourceIDSignedUpForAlloy = 2156529816;
simcity.kResourceIDSignedUpForCoal = 1481550350;
simcity.kResourceIDSignedUpForElectronics = 837943636;
simcity.kResourceIDSignedUpForFuel = 141660303;
simcity.kResourceIDSignedUpForMetal = 3746338052;
simcity.kResourceIDSignedUpForOilCrude = 1784084810;
simcity.kResourceIDSignedUpForOreRaw = 2035346673;
simcity.kResourceIDSignedUpForPlastic = 2801046657;
simcity.kResourceIDSignedUpForComputer = 641178008;
simcity.kResourceIDSignedUpForTelevision = 104428475;
simcity.kResourceIDSignedUpForAlloyStored = 4225686509;
simcity.kResourceIDSignedUpForCoalStored = 2878945903;
simcity.kResourceIDSignedUpForElectronicsStored = 2557484649;
simcity.kResourceIDSignedUpForFuelStored = 2405481186;
simcity.kResourceIDSignedUpForMetalStored = 3769877433;
simcity.kResourceIDSignedUpForOilCrudeStored = 2334454315;
simcity.kResourceIDSignedUpForOreRawStored = 109432152;
simcity.kResourceIDSignedUpForPlasticStored = 696591432;
simcity.kResourceIDSignedUpForComputerStored = 3180848365;
simcity.kResourceIDSignedUpForTelevisionStored = 2970679966;
simcity.kResourceRegionalBoxUniqueID = 700441987;
simcity.kResourceNumberOfBoxes = 2015828812;
simcity.kResourceNumberOfClaimedBoxes = 2137317727;
simcity.kResourceClaimedEnoughBoxesInRegion = 659947770;
simcity.kResourceIDDNorth = 4279573130;
simcity.kResourceIDDWest = 1723483016;
simcity.kResourceIDDEast = 529018174;
simcity.kResourceIDDSouth = 992193856;
simcity.kResourceIDExcessPower = 1849174591;
simcity.kResourceIDExcessWater = 3864099713;
simcity.kResourceIDRoadNearby = 3196262326;
simcity.kResourceIDFireTruckT1 = 2461985119;
simcity.kResourceIDFireTruckT2 = 2461985116;
simcity.kResourceIDFireTruckR1 = 2495540389;
simcity.kResourceIDFireTruckR2 = 2495540390;
simcity.kResourceIDHazMatTruckR2 = 3186883601;
simcity.kResourceIDFireInspector = 3944701420;
simcity.kResourceIDFireInspectorR2 = 2558046576;
simcity.kResourceIDFireHelicopterR2 = 3496374658;
simcity.kResourceIDTradeExcessFireTruckR1 = 96453850;
simcity.kResourceIDTradeExcessFireTruckR2 = 96453849;
simcity.kResourceIDTradeExcessHazMatTruckR2 = 2871591582;
simcity.kResourceIDTradeExcessFireInspectorR2 = 1582936235;
simcity.kResourceIDTradeExcessFireHelicopterR2 = 3998138123;
simcity.kResourceIDFireTruckR1ToSend = 407618920;
simcity.kResourceIDFireTruckR2ToSend = 1474626667;
simcity.kResourceIDExcessFireTruckR1 = 96453850;
simcity.kResourceIDExcessFireTruckR2 = 96453849;
simcity.kResourceIDExcessHazMatTruckR2 = 2871591582;
simcity.kResourceIDFireServiceToken = 2647607289;
simcity.kResourceIDFireServiceTokenCounter = 196028751;
simcity.kResourceIDFireServiceTokenGranted = 341534070;
simcity.kResourceIDPoliceCarR1 = 1253104808;
simcity.kResourceIDTradeExcessPoliceCarR1 = 1875029739;
simcity.kResourceIDPoliceDetectiveVanR2 = 4169623735;
simcity.kResourceIDTradeExcessPoliceDetectiveVanR2 = 2560245302;
simcity.kResourceIDPoliceOutreachVan = 2162739333;
simcity.kResourceIDPoliceOutreachVan_Parking = 280243312;
simcity.kResourceIDPoliceOutreachVanR2 = 3960689125;
simcity.kResourceIDTradeExcessPoliceOutreachVanR2 = 1931225770;
simcity.kResourceIDPoliceHelicopterR2 = 1404252420;
simcity.kResourceIDTradeExcessPoliceHelicopterR2 = 1583167837;
simcity.kResourceIDPoliceServiceToken = 864842123;
simcity.kResourceIDPoliceServiceTokenCounter = 485477509;
simcity.kResourceIDPoliceServiceTokenGranted = 3105023984;
simcity.kResourceIDGarbageTruckR1 = 2123311156;
simcity.kResourceIDTradeExcessGarbageTruckR1 = 3019757953;
simcity.kResourceIDGarbageServiceToken = 2835982466;
simcity.kResourceIDGarbageServiceTokenCounter = 2188438626;
simcity.kResourceIDGarbageServiceTokenGranted = 910807239;
simcity.kResourceIDRecyclingTruckR2 = 3408695102;
simcity.kResourceIDTradeExcessRecyclingTruckR2 = 3427430143;
simcity.kResourceIDRecyclingServiceToken = 3184416497;
simcity.kResourceIDAmbulanceR1 = 2596175366;
simcity.kResourceIDTradeExcessAmbulanceR1 = 3649714245;
simcity.kResourceIDCommunityOutreachVan = 1390367256;
simcity.kResourceIDCommunityOutreachVanR2 = 2431124988;
simcity.kResourceIDTradeExcessCommunityOutreachVanR2 = 1508816545;
simcity.kResourceIDHealthServiceToken = 3307902383;
simcity.kResourceIDHealthServiceTokenCounter = 546429865;
simcity.kResourceIDHealthServiceTokenGranted = 2254544100;
simcity.kResourceIDFireDispatchAccepted = 3987602660;
simcity.kResourceIDTradeExcessFreightProducer = 2948667523;
simcity.kResourceIDFreightProducer = 1386446216;
simcity.kResourceIDFreightConsumerD1 = 2849473655;
simcity.kResourceIDFreightConsumerD2 = 2849473652;
simcity.kResourceIDFreightConsumerD3 = 2849473653;
simcity.kResourceIDFreightToday = 3018095613;
simcity.kResourceIDTradeExcessFreightConsumerD1 = 770566680;
simcity.kResourceIDTradeExcessFreightConsumerD2 = 770566683;
simcity.kResourceIDTradeExcessFreightConsumerD3 = 770566682;
simcity.kResourceIDTradeExcessResidentWorkerW1 = 600654254;
simcity.kResourceIDTradeExcessResidentWorkerW2 = 600654253;
simcity.kResourceIDTradeExcessResidentWorkerW3 = 600654252;
simcity.kResourceIDTradeExcessResidentShopperW1 = 1734645633;
simcity.kResourceIDTradeExcessResidentShopperW2 = 1734645634;
simcity.kResourceIDTradeExcessResidentShopperW3 = 1734645635;
simcity.kResourceIDExcessKids = 3880117816;
simcity.kResourceIDExcessStudentE2 = 1893297692;
simcity.kResourceIDExcessStudentE3 = 1893297693;
simcity.kResourceIDExcessShoppersNeededW1 = 2366253995;
simcity.kResourceIDExcessShoppersNeededW2 = 2366253992;
simcity.kResourceIDExcessShoppersNeededW3 = 2366253993;
simcity.kResourceIDTradeExcessDayJobsW1 = 384855186;
simcity.kResourceIDTradeExcessDayJobsW2 = 384855185;
simcity.kResourceIDTradeExcessDayJobsW3 = 384855184;
simcity.kResourceIDTradeExcessNightJobsW1 = 2578154342;
simcity.kResourceIDTradeExcessNightJobsW2 = 2578154341;
simcity.kResourceIDTradeExcessNightJobsW3 = 2578154340;
simcity.kResourceIDImportedResidents = 4115925573;
simcity.kResourceIDImportedResidentsW1 = 1206356745;
simcity.kResourceIDImportedResidentsW2 = 1206356746;
simcity.kResourceIDImportedResidentsW3 = 1206356747;
simcity.kResourceIDImportedResidentShopperW1 = 3504366446;
simcity.kResourceIDImportedResidentShopperW2 = 3504366445;
simcity.kResourceIDImportedResidentShopperW3 = 3504366444;
simcity.kResourceIDImportedShoppersNeededW1 = 1306257730;
simcity.kResourceIDImportedShoppersNeededW2 = 1306257729;
simcity.kResourceIDImportedShoppersNeededW3 = 1306257728;
simcity.kResourceIDImportedResidentWorkerW1 = 2511648399;
simcity.kResourceIDImportedResidentWorkerW2 = 2511648396;
simcity.kResourceIDImportedResidentWorkerW3 = 2511648397;
simcity.kResourceIDImportedJobsW1 = 237552489;
simcity.kResourceIDImportedJobsW2 = 237552490;
simcity.kResourceIDImportedJobsW3 = 237552491;
simcity.kResourceIDImportedKid = 1119693563;
simcity.kResourceIDIncomingTradeCarTraffic = 3794878840;
simcity.kResourceIDIncomingTouristCarTraffic = 2153055568;
simcity.kResourceIDOutgoingTradeCarTraffic = 2892462054;
simcity.kResourceIDKidToSend = 1128019306;
simcity.kResourceIDTradeSwitchEducation = 3610436769;
simcity.kResourceIDTradeSwitchFire = 2566217525;
simcity.kResourceIDTradeSwitchJobs = 1429448921;
simcity.kResourceIDTradeSwitchKids = 3639239926;
simcity.kResourceIDTradeSwitchPower = 2471292092;
simcity.kResourceIDTradeSwitchResidents = 3610705880;
simcity.kResourceIDTradeSwitchShopping = 3115018657;
simcity.kResourceIDTradeSwitchWater = 3733951318;
simcity.kResourceIDTradeSwitchPreviousWater = 2230743323;
simcity.kResourceIDTradeSwitchSewage = 2597425153;
simcity.kResourceIDTradeSwitchConnectionEducation = 2700336689;
simcity.kResourceIDTradeSwitchConnectionFire = 43618437;
simcity.kResourceIDTradeSwitchConnectionJobs = 3749146665;
simcity.kResourceIDTradeSwitchConnectionKids = 1653627654;
simcity.kResourceIDTradeSwitchConnectionPower = 3998749676;
simcity.kResourceIDTradeSwitchConnectionResidents = 2224992936;
simcity.kResourceIDTradeSwitchConnectionShopping = 2255324145;
simcity.kResourceIDTradeSwitchConnectionWater = 627284102;
simcity.kResourceIDTradeSwitchConnectionSewage = 1045983025;
simcity.kResourceIDDemolishedByDisaster = 3880439877;
simcity.kResourceIDDisasterActive = 475159146;
simcity.kResourceIDDisasterActiveRobot = 3172786374;
simcity.kResourceIDDisasterActiveBigLizard = 2936636340;
simcity.kResourceIDDisasterActiveUFO = 1544975258;
simcity.kResourceIDDisasterActiveZombie = 3819837388;
simcity.kResourceIDDisasterActiveTornado = 4175683069;
simcity.kResourceIDDisasterActiveEarthquake = 3817279809;
simcity.kResourceIDDisasterActivePlague = 1751436168;
simcity.kResourceIDDisasterActiveMeteor = 2439014578;
simcity.kResourceIDDisasterActiveMeltdown = 54522384;
simcity.kResourceIDRadiated = 71000479;
simcity.kResourceIDZombie = 1721775719;
simcity.kResourceIDDestroyedByZombie = 3502347711;
simcity.kResourceIDMeteorShowerStage = 3527801851;
simcity.kResourceIDCarW1 = 179625953;
simcity.kResourceIDCarW2 = 179625954;
simcity.kResourceIDCarW3 = 179625955;
simcity.kResourceIDPickUp = 3978245845;
simcity.kResourceIDPickUpByBus = 1495886308;
simcity.kResourceIDPickUpByCoach = 3783750388;
simcity.kResourceIDCruiseShipPickUp = 2895034266;
simcity.kResourceIDFerryPickUp = 4106525607;
simcity.kResourceIDPickedUp = 3593755026;
simcity.kResourceIDPickedUpByBus = 4274955557;
simcity.kResourceIDPickedUpByCoach = 1982778545;
simcity.kResourceIDPickedUpByCruiseShip = 1833157294;
simcity.kResourceIDPickedUpByFerry = 651958343;
simcity.kResourceIDNotPickedUp = 2076060703;
simcity.kResourceIDNotPickedUpByBus = 1657553854;
simcity.kResourceIDNotPickedUpBySchoolBus = 1441072122;
simcity.kResourceIDNotPickedUpByCoach = 230366378;
simcity.kResourceIDNotPickedUpByLightTrain = 3607259574;
simcity.kResourceIDNotPickedUpByTrain = 1768098354;
simcity.kResourceIDNotPickedUpByFerry = 2028102968;
simcity.kResourceIDConnectedToStation = 462100759;
simcity.kResourceIDAccessToOutside = 4287126537;
simcity.kResourceIDAccessToOutsideCapacity = 3065919109;
simcity.kResourceIDLocalW1PickedUpByBusToday = 198922811;
simcity.kResourceIDLocalW2PickedUpByBusToday = 3092711620;
simcity.kResourceIDLocalW1PickedUpByBusYesterday = 1048533540;
simcity.kResourceIDLocalW2PickedUpByBusYesterday = 134664051;
simcity.kResourceIDTouristW1PickedUpByBusToday = 2863121624;
simcity.kResourceIDTouristW2PickedUpByBusToday = 613911519;
simcity.kResourceIDTouristW1PickedUpByBusYesterday = 4271583023;
simcity.kResourceIDTouristW2PickedUpByBusYesterday = 2318696560;
simcity.kResourceIDLocalW1PickedUpByLightTrainToday = 1998780939;
simcity.kResourceIDLocalW2PickedUpByLightTrainToday = 3949678414;
simcity.kResourceIDLocalW1PickedUpByLightTrainYesterday = 3501678100;
simcity.kResourceIDLocalW2PickedUpByLightTrainYesterday = 1229039673;
simcity.kResourceIDTouristW1PickedUpByLightTrainToday = 778164714;
simcity.kResourceIDTouristW2PickedUpByLightTrainToday = 3944093959;
simcity.kResourceIDTouristW1PickedUpByLightTrainYesterday = 213690493;
simcity.kResourceIDTouristW2PickedUpByLightTrainYesterday = 1485885944;
simcity.kResourceIDLocalW1PickedUpByTrainToday = 3635219655;
simcity.kResourceIDLocalW2PickedUpByTrainToday = 3885380148;
simcity.kResourceIDLocalW1PickedUpByTrainYesterday = 2545495480;
simcity.kResourceIDLocalW2PickedUpByTrainYesterday = 3177674691;
simcity.kResourceIDTouristW1PickedUpByTrainToday = 958783584;
simcity.kResourceIDTouristW2PickedUpByTrainToday = 761895475;
simcity.kResourceIDTouristW1PickedUpByTrainYesterday = 1006961751;
simcity.kResourceIDTouristW2PickedUpByTrainYesterday = 1114423292;
simcity.kResourceIDLocalW1PickedUpByBoatToday = 2147542143;
simcity.kResourceIDLocalW2PickedUpByBoatToday = 1372234094;
simcity.kResourceIDLocalW3PickedUpByBoatToday = 1258583105;
simcity.kResourceIDLocalW1PickedUpByBoatYesterday = 3874856208;
simcity.kResourceIDLocalW2PickedUpByBoatYesterday = 538797401;
simcity.kResourceIDLocalW3PickedUpByBoatYesterday = 1531949142;
simcity.kResourceIDTouristW1PickedUpByBoatToday = 2669259714;
simcity.kResourceIDTouristW2PickedUpByBoatToday = 2226544835;
simcity.kResourceIDTouristW3PickedUpByBoatToday = 2698189464;
simcity.kResourceIDTouristW1PickedUpByBoatYesterday = 3845601557;
simcity.kResourceIDTouristW2PickedUpByBoatYesterday = 158441324;
simcity.kResourceIDTouristW3PickedUpByBoatYesterday = 2684440047;
simcity.kResourceIDBusStationUnlocked = 1267367868;
simcity.kResourceIDBus = 714721605;
simcity.kResourceIDBusT1 = 3750291136;
simcity.kResourceIDBusT2 = 3750291139;
simcity.kResourceIDTransitBusStop = 2211328792;
simcity.kResourceIDBusR2Stop = 3811986621;
simcity.kResourceIDBusPassenger = 4189067127;
simcity.kResourceIDBusTripsToday = 104916694;
simcity.kResourceIDBusTripsYesterday = 2825726017;
simcity.kResourceIDNumberOfBusT1Stops = 2543327979;
simcity.kResourceIDNumberOfBusT2Stops = 101227258;
simcity.kResourceIDNumberOfBusT1Garages = 2547598790;
simcity.kResourceIDNumberOfBusT2Garages = 1495901003;
simcity.kResourceIDBusT2StopUnlocked = 318227296;
simcity.kResourceIDMinutesWaitedForBusToday = 1479788868;
simcity.kResourceIDMinutesWaitedForBusYesterday = 252647411;
simcity.kResourceIDLeftBusStopToday = 2598015915;
simcity.kResourceIDLeftBusStopYesterday = 1082208436;
simcity.kResourceIDNumberOfRoadConnections = 1819330754;
simcity.kResourceIDBusPickUp = 4267116117;
simcity.kResourceIDTradeBusPickUp = 234755401;
simcity.kResourceIDCoach = 2308599143;
simcity.kResourceIDCoachPassenger = 330729179;
simcity.kResourceIDCoachTripsToday = 2981021506;
simcity.kResourceIDCoachTripsYesterday = 2363657365;
simcity.kResourceIDMinutesWaitedForCoachToday = 1384857760;
simcity.kResourceIDMinutesWaitedForCoachYesterday = 3434080407;
simcity.kResourceIDLeftCoachStopToday = 1842660811;
simcity.kResourceIDLeftCoachStopYesterday = 1127755732;
simcity.kResourceIDCoachPickUp = 3200020585;
simcity.kResourceIDTradeCoachPickUp = 3169816669;
simcity.kResourceIDTradeExcessBusR2 = 1045956962;
simcity.kResourceIDTradeExcessBusR2Stop = 3521009370;
simcity.kResourceIDTradeExcessBusR2Station = 3878085646;
simcity.kResourceIDSchoolBus = 3826984073;
simcity.kResourceIDSchoolBusT1 = 1369282620;
simcity.kResourceIDSchoolBusT2 = 1369282623;
simcity.kResourceIDSchoolBusR2 = 1268616873;
simcity.kResourceIDSchoolBusPassenger = 1584058483;
simcity.kResourceIDSchoolBusTripsToday = 2495024458;
simcity.kResourceIDSchoolBusTripsYesterday = 3639481821;
simcity.kResourceIDTradeExcessSchoolBusR2 = 2636466174;
simcity.kResourceIDTradeExcessSchoolBusR2Stop = 533710806;
simcity.kResourceIDTradeExcessSchoolBusR2Station = 453662962;
simcity.kResourceIDLeftSchoolBusStopToday = 3782194799;
simcity.kResourceIDLeftSchoolBusStopYesterday = 564478752;
simcity.kResourceIDFerryT1Stop = 3607048138;
simcity.kResourceIDFerryPassenger = 556969825;
simcity.kResourceIDFerryTripsToday = 1860616748;
simcity.kResourceIDFerryTripsYesterday = 2808285691;
simcity.kResourceIDNumberOfFerryT1Stops = 2422694861;
simcity.kResourceIDNumberOfFerryT1Garages = 504469036;
simcity.kResourceIDNumberOfBoatConnections = 2126456866;
simcity.kResourceIDMinutesWaitedForFerryToday = 32864094;
simcity.kResourceIDMinutesWaitedForFerryYesterday = 3827135785;
simcity.kResourceIDLeftFerryStopToday = 1961108665;
simcity.kResourceIDLeftFerryStopYesterday = 995074318;
simcity.kResourceIDTradeExcessFerryT1Stop = 3103783157;
simcity.kResourceIDCruiseShipT2Stop = 3693542656;
simcity.kResourceIDCruiseShipPassenger = 688848862;
simcity.kResourceIDCruiseShipTripsToday = 4113118981;
simcity.kResourceIDCruiseShipTripsYesterday = 2920531170;
simcity.kResourceIDNumberOfCruiseShipT2Stops = 3552480691;
simcity.kResourceIDMinutesWaitedForCruiseShipToday = 4103995125;
simcity.kResourceIDMinutesWaitedForCruiseShipYesterday = 4103742130;
simcity.kResourceIDLeftCruiseShipStopToday = 3819407512;
simcity.kResourceIDLeftCruiseShipStopYesterday = 1060019183;
simcity.kResourceIDLightTrain = 169392071;
simcity.kResourceIDLightTrainT1 = 3511031570;
simcity.kResourceIDLightTrainPassenger = 2119409729;
simcity.kResourceIDLightTrainTripsToday = 1498184588;
simcity.kResourceIDLightTrainTripsYesterday = 2677794139;
simcity.kResourceIDNumberOfLightTrainT1Stops = 641465773;
simcity.kResourceIDNumberOfLightTrainT1Garages = 816272908;
simcity.kResourceIDFreight = 3183939650;
simcity.kResourceIDMinutesWaitedForLightTrainToday = 3901361358;
simcity.kResourceIDMinutesWaitedForLightTrainYesterday = 988724665;
simcity.kResourceIDLeftLightTrainStopToday = 1902644379;
simcity.kResourceIDLeftLightTrainStopYesterday = 272732548;
simcity.kResourceIDTrainT2StopUnlocked = 3680034280;
simcity.kResourceIDTrainT2 = 1338428763;
simcity.kResourceIDTrainT2Stop = 2952376667;
simcity.kResourceIDTrainPassenger = 2229367087;
simcity.kResourceIDTrainTripsToday = 3765884158;
simcity.kResourceIDTrainTripsYesterday = 735445193;
simcity.kResourceIDNumberOfTrainT2Stops = 3566814322;
simcity.kResourceIDNumberOfRailConnections = 49028268;
simcity.kResourceIDMinutesWaitedForTrainToday = 769533620;
simcity.kResourceIDMinutesWaitedForTrainYesterday = 593114179;
simcity.kResourceIDLeftTrainStopToday = 4115668327;
simcity.kResourceIDLeftTrainStopYesterday = 2675474776;
simcity.kResourceIDTradeExcessTrainT2Stop = 2952296420;
simcity.kResourceIDRunway = 3965271245;
simcity.kResourceIDNumberOfAirTouristsToday = 685919593;
simcity.kResourceIDNumberOfAirTouristsYesterday = 1143867102;
simcity.kResourceIDNumberOfAirTouristsW2ArrivingToday = 1191555184;
simcity.kResourceIDNumberOfAirTouristsW2LeavingToday = 3417631458;
simcity.kResourceIDNumberOfAirTouristsW3ArrivingToday = 4171920487;
simcity.kResourceIDNumberOfAirTouristsW3LeavingToday = 1763210535;
simcity.kResourceIDNumberOfAirTouristsW2ArrivingYesterday = 623941127;
simcity.kResourceIDNumberOfAirTouristsW2LeavingYesterday = 3588127541;
simcity.kResourceIDNumberOfAirTouristsW3ArrivingYesterday = 132204632;
simcity.kResourceIDNumberOfAirTouristsW3LeavingYesterday = 1861324824;
simcity.kResourceIDAirCargoOutToday = 1258298642;
simcity.kResourceIDAirCargoOutYesterday = 3608506245;
simcity.kResourceIDAirportLowAttractionW2 = 2471830392;
simcity.kResourceIDAirportLowAttractionW3 = 2471830393;
simcity.kResourceIDNumberOfAirports = 95801457;
simcity.kResourceIDNumberOfAirportRunways = 1441572457;
simcity.kResourceIDNumberOfAirportCargoTerminals = 2104226977;
simcity.kResourceIDNumberOfAirportPassengerTerminals = 2361483993;
simcity.kResourceIDCargoToken = 1461559886;
simcity.kResourceIDPassengerToken = 2805427830;
simcity.kResourceIDPassengerAirplaneT2 = 2548916995;
simcity.kResourceIDPassengerAirplaneT1W2 = 2928432743;
simcity.kResourceIDPassengerAirplaneT1W3 = 2928432742;
simcity.kResourceIDTourist_Leaving = 209074924;
simcity.kResourceIDMinutesWaitedForPlaneToday = 3176808940;
simcity.kResourceIDMinutesWaitedForPlaneYesterday = 2921274043;
simcity.kResourceIDSpecialization_Education = 3461677465;
simcity.kResourceIDSpecialization_Gambling = 3742950856;
simcity.kResourceIDSpecialization_Metals = 3228802589;
simcity.kResourceIDSpecialization_Petroleum = 2304903770;
simcity.kResourceIDSpecialization_Trade = 1543642725;
simcity.kResourceIDSpecialization_Electronics = 342194522;
simcity.kResourceIDSpecialization_Guided = 2128108757;
simcity.kResourceIDSpecializationNumber = 3834949841;
simcity.kResourceIDTradeTrackingSpecializationNumber = 4149866982;
simcity.kResourceIDParis = 2073910180;
simcity.kResourceIDLondon = 699808721;
simcity.kResourceIDBerlin = 1535794783;
simcity.kResourceIDHeroesAndVillains = 2321936720;
simcity.kResourceIDDLC_RomanCasino = 3372236679;
simcity.kResourceIDCurrentMissions = 4175140589;
simcity.kResourceIDMissionTimer = 1693444796;
simcity.kResourceIDTotalObjectivesComplete = 252940416;
simcity.kResourceIDTotalObjectives = 3499206737;
simcity.kResourceIDLinearObjectives = 2144919862;
simcity.kResourceIDGlobalMission_MSTutorialCreateResidentialPt2 = 3879209279;
simcity.kResourceIDGlobalMission_MSTutorialGovernment = 3701754366;
simcity.kResourceIDGlobalMission_MSTutorialClickGreatWorkSpeechBubble = 586776623;
simcity.kResourceIDGlobalMission_MSTutorialClickSewageSpeechBubble = 3446499045;
simcity.kResourceIDGlobalMission_MSTutorialClickGarbageSpeechBubble = 2434760902;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble = 2213868619;
simcity.kResourceIDGlobalMission_MSCivicCreateResidential = 3352395677;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble2 = 94147107;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble3 = 94147106;
simcity.kResourceIDGlobalMission_MSCivicZoneIndustrial = 3870197806;
simcity.kResourceIDGlobalMission_MSCivicTutorialCreateSchool = 2853402327;
simcity.kResourceIDGlobalMission_MSCivicZoneCommercial = 852667817;
simcity.kResourceIDGlobalMission_MSCivicPowerWantPower = 121174061;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble6 = 94147111;
simcity.kResourceIDGlobalMission_MSCivicTutorialModules = 476261186;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble7 = 94147110;
simcity.kResourceIDGlobalMission_MSCivicBuildRoad = 2507435577;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble5 = 94147108;
simcity.kResourceIDGlobalMission_MSCivicClickSpeechBubble4 = 94147109;
simcity.kResourceIDGlobalMission_MSCivicTutorialCreateFireStation = 1614780409;
simcity.kResourceIDGlobalMission_MSCivicBuildRoadToCityConnection = 576251903;
simcity.kResourceIDGlobalMission_MSCivicTutorialBudget = 1515569036;
simcity.kResourceIDGlobalMission_MSCivicTutorialDeselectDemolishTool = 3786618521;
simcity.kResourceIDGlobalMission_MSCivicTutorialCoalPower = 2693848181;
simcity.kResourceIDGlobalMission_MSCivicTutorialEnd = 1570715066;
simcity.kResourceIDGlobalMission_MSCivicTutorialSpeedControls = 3107480378;
simcity.kResourceIDGlobalMission_MSCrimeExpandPolice = 1079805979;
simcity.kResourceIDGlobalMission_MSCivicBalanceTheBudget = 602089599;
simcity.kResourceIDGlobalMission_MSCivicGettingStarted = 108108054;
simcity.kResourceIDGlobalMission_MSCivicBuildCityHall = 2727311327;
simcity.kResourceIDGlobalMission_MSCivicBuildMayorsHouse = 728854500;
simcity.kResourceIDGlobalMission_MSCoalTutorialStripMine = 1712335721;
simcity.kResourceIDGlobalMission_MSCoalPlaceCoalMine = 3681260405;
simcity.kResourceIDGlobalMission_MSCoalExtendCoalMine = 3321307040;
simcity.kResourceIDGlobalMission_MSCommercialNeedShops = 541297306;
simcity.kResourceIDGlobalMission_MSCrimeNeedPolice = 2801189047;
simcity.kResourceIDGlobalMission_MSFireArsonist = 3975263620;
simcity.kResourceIDGlobalMission_MSFireBuildFireStation = 3743811193;
simcity.kResourceIDGlobalMission_MSFireHeatWave = 2613467968;
simcity.kResourceIDGlobalMission_MSHealthNeedMoreAmbulances = 2720567733;
simcity.kResourceIDGlobalMission_MSJobsNeedJobs = 1634898049;
simcity.kResourceIDGlobalMission_MSPowerNeedPower = 2101463207;
simcity.kResourceIDGlobalMission_TutorialSpeechBubble = 3545973611;
simcity.kResourceIDGlobalMission_MSTutorialReclaimCity = 2755963149;
simcity.kResourceIDGlobalMission_MSTutorialClickRegionSpeechBubble = 1364388285;
simcity.kResourceIDGlobalMission_MSPowerNeedMorePowerForIndustry = 4179444541;
simcity.kResourceIDGlobalMission_MSPowerImportCoal = 2242556846;
simcity.kResourceIDGlobalMission_MSPowerAddCoalTrucks = 3714447040;
simcity.kResourceIDGlobalMission_MSResidentialMoreHouses = 14182385;
simcity.kResourceIDGlobalMission_MSResidentialIncreaseW2Housing = 3705408971;
simcity.kResourceIDGlobalMission_MSTradeConnectToNeighbour = 2653492967;
simcity.kResourceIDGlobalMission_MSTradeBuildBridge = 1281926668;
simcity.kResourceIDGlobalMission_MSWaterNeedWater = 3422757611;
simcity.kResourceIDGlobalMission_MSWaterNeedMoreWaterForIndustry = 1855077613;
simcity.kResourceIDGlobalMission_MSCoalPlaceHQ = 231824156;
simcity.kResourceIDGlobalMission_MSCoalRemoveAllCoal = 715366196;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutSickness = 3355307142;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutTaxes = 1164007788;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutPollution = 3659154265;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutNoWater = 3359132361;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutNoPower = 3181212887;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutGarbage = 2404482678;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutNoRent = 2970058381;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutNoDesirability = 3136214553;
simcity.kResourceIDGlobalMission_MSCivicProtestAboutCrime = 3015720457;
simcity.kResourceIDGlobalMission_MSCivicCreateTownHall = 3702561096;
simcity.kResourceIDGlobalMission_MSGameRockCity1 = 1729074402;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool1 = 3895237884;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool2 = 3895237887;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool3 = 3895237886;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool4 = 3895237881;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool5 = 3895237880;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool6 = 3895237883;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool7 = 3895237882;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool8 = 3895237877;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool9 = 3895237876;
simcity.kResourceIDGlobalMission_MSEducationBackToSchool10 = 2050695300;
simcity.kResourceIDGlobalMission_MSGameMissionChainTest1 = 1178772435;
simcity.kResourceIDGlobalMission_MSGameMissionChainTest2 = 1178772432;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble1 = 1642057161;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble2 = 1642057162;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble3 = 1642057163;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble4 = 1642057164;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble5 = 1642057165;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble5_Event = 3656553728;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble6 = 1642057166;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble7 = 1642057167;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble8 = 1642057152;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble9 = 1642057153;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble10 = 3696292699;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble10_EventStarted = 3514025645;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble11 = 3696292698;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble12 = 3696292697;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble13 = 3696292696;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble14 = 3696292703;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble15 = 3696292702;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble16 = 3696292701;
simcity.kResourceIDGlobalMission_MSBusinessGamblingBigGamble17 = 3696292700;
simcity.kResourceIDGlobalMission_MSCivicHighwayConnection = 2255928586;
simcity.kResourceIDGlobalMission_MSTutorialClickPoliceSpeechBubble = 3133544067;
simcity.kResourceIDGlobalMission_MSTutorialPoliceStation = 4057625903;
simcity.kResourceIDGlobalMission_MSCivicTutorialCreateSchool = 2853402327;
simcity.kResourceIDGlobalMission_MSTutorialClickSchoolSpeechBubble = 3069258105;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown1 = 995763111;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown2 = 995763108;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown3 = 995763109;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown4 = 995763106;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown5 = 995763107;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown6 = 995763104;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown6_EventStarted = 231060860;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown7 = 995763105;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown8 = 995763118;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown9 = 995763119;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown10 = 367402965;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown11 = 367402964;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown12 = 367402967;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown13 = 367402966;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown14 = 367402961;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown15 = 367402960;
simcity.kResourceIDGlobalMission_MSBusinessMetalsCoalTown16 = 367402963;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields1 = 892324973;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields2 = 892324974;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields3 = 892324975;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields4 = 892324968;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields5 = 892324969;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields6 = 892324970;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields6_EventStarted = 1285698982;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields7 = 892324971;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields8 = 892324964;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields9 = 892324965;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields10 = 658427815;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields11 = 658427814;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields12 = 658427813;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields13 = 658427812;
simcity.kResourceIDGlobalMission_MSBusinessOilOilFields14 = 658427811;
simcity.kResourceIDGlobalMission_MSBusinessElectronicsZTronix2 = 2069738958;
simcity.kResourceIDGlobalMission_MSBusinessElectronicsZTronix4 = 2069738952;
simcity.kResourceIDGlobalMission_MSBusinessElectronicsZTronix6 = 2069738954;
simcity.kResourceIDGlobalMission_MSBusinessElectronicsZTronix7 = 2069738955;
simcity.kResourceIDGlobalMission_MSBusinessElectronicsZTronix13 = 25506180;
simcity.kResourceIDGlobalMission_MSBusinessTradeFreeMarket12 = 1271820632;
simcity.kMapIDPolice = 291106007;
simcity.kMapIDSoil = 687380132;
simcity.kMapIDSoilLayer = 1872718515;
simcity.kMapIDCoalDeposit = 3615082870;
simcity.kMapIDRadiation = 493973294;
simcity.kMapIDOreDeposit = 3612013099;
simcity.kMapIDAirPollution = 1597524951;
simcity.kMapIDGroundPollution = 4137546182;
simcity.kMapIDOilReservoir = 1993412594;
simcity.kMapIDWaterTable = 261282902;
simcity.kMapIDWind = 1537061107;
simcity.kMapIDDesirability_RW2 = 3428137420;
simcity.kMapIDDesirability_RW3 = 3428137421;
simcity.kMapIDDesirability_CW2 = 3430550245;
simcity.kMapIDDesirability_CW3 = 3430550244;
simcity.kToolIDPathSelector = 3342964767;
simcity.kToolIDRoadDraw_Path_Main_MainStreet_N = 1734870231;
simcity.kToolIDRoadDraw_Path_Main_4LaneRoad_N = 1091932133;
simcity.kToolIDRoadDraw_Path_Main_Avenue_N = 751907027;
simcity.kToolIDPlop_T_Transport_Shuttle_T1_Base_Modern_01 = 2046029075;
simcity.kToolIDPlop_T_Transport_Bus_T2_Base_01 = 1437917007;
simcity.kToolIDLotZoneResidential = 3592775070;
simcity.kToolIDLotZoneIndustrial = 3248163797;
simcity.kToolIDLotZoneCommercial = 3536316930;
simcity.kToolIDPlop_T_PowerCoal_T1_Base_01_01_N = 2427954603;
simcity.kToolIDPlop_Coal_ExcavatorGarage_T2 = 1182525564;
simcity.kToolIDPlop_Coal_RetrieverGarage_T2 = 1121316591;
simcity.kToolIDPlop_Coal_TruckGarage_T2 = 3654966590;
simcity.kToolIDPlop_T_PowerWind_PlantBase_01_01_N = 3162783387;
simcity.kToolIDPlopT_Power_CoalT1_Generator_01_01_N = 915293976;
simcity.kToolIDPlop_T_Edu_T1_GradeSchoolBase_01_01_N = 696729506;
simcity.kToolIDPlop_T_Fire_T1_Base = 1828861422;
simcity.kToolIDPlop_T_Garbage_T1_Garage = 2180458371;
simcity.kToolIDPlop_T_Water_T1_WaterTower_01_01_N = 1938059915;
simcity.kToolIDPlop_T_HQ_Casino_Commerce_01 = 3093343809;
simcity.kToolIDPlop_T_Transport_Rail_T2_Base_01 = 3900255577;
simcity.kToolIDRoadDraw_Path_Main_HeavyRail_N = 3673579640;
simcity.kToolIDPlop_T_Air_T1_AirStripBase_01_01_N = 3059032927;
simcity.kToolIDBulldozer = 2536567712;
simcity.kToolIDPlop_T_PowerWind_SmallTurbine_01_01_N = 517089645;
simcity.kToolIDPlop_T_Edu_T1_GradeSchoolClassroom_01_01_N = 2650093832;
simcity.kToolIDPlop_T_Sewage_T1_Base_01_01_N = 3197468449;
simcity.kToolIDPlop_T_ImEx_T1_StorageLot_Coal_01 = 2056252440;
simcity.kToolIDPlop_T_ImEx_T1_StorageLot_Alloy_01 = 2351148906;
simcity.kToolIDPlop_T_ImEx_T1_StorageLot_OreRaw_01 = 3020790721;
simcity.kToolIDPlop_T_ImEx_T1_StorageLot_OilCrude_01 = 4268232492;
simcity.kToolIDPlop_T_ImEx_T2_Garage_01 = 880301932;
simcity.kToolIDPlop_T_ImEx_Crate_T2_Rail_Base_01 = 2453591775;
simcity.kToolIDPlop_T_ImEx_Crate_T2_Boat_Base_01 = 877575481;
simcity.kRuleIDSCPlayerRuleToggleImportExport = 207700323;
simcity.kRuleIDSCPlayerRuleToggleOnOff = 207700320;
simcity.kRuleIDSCPlayerRuleUpgradeBuilding = 236183465;
simcity.kRuleIDSCPlayerRuleCycleDeliveries = 245353295;
simcity.kRuleIDSCPlayerRuleToggleDeliveries = 207700324;
simcity.kRuleIDSCPlayerRuleToggleGlobalTrade = 207700325;
simcity.kRuleIDSCPlayerRuleRunCheats = 218716699;
simcity.kRuleIDSCPlayerRuleCycleResearch = 227885025;
simcity.kRuleIDSCPlayerRuleCancelResearch = 227885026;
simcity.kRuleIDSCPlayerRuleStartResearch = 227885027;
simcity.kRuleIDSCPlayerRuleCheckObjectives = 227885028;
simcity.kRuleIDSCPlayerRuleOnExitBox = 2214556984;
simcity.kUnitFlagUnpowered = 0;
simcity.kUnitFlagUnwatered = 1;
simcity.kUnitFlagChance25Percent = 4;
simcity.kUnitFlagChance50Percent = 5;
simcity.kUnitFlagChance75Percent = 6;
simcity.kUnitFlagIDDeliveriesAllowed = 7;
simcity.kUnitFlagEvacuation = 8;
simcity.kUnitFlagIDImportLot = 9;
simcity.kUnitFlagIDExportLot = 10;
simcity.kUnitFlagOpenForBusiness = 19;
simcity.kUnitFlagOperational = 3;
simcity.kUnitFlagAbandoned = 11;
simcity.kUnitFlagBurning = 12;
simcity.kUnitFlagFoundation = 13;
simcity.kUnitFlagNormal = 14;
simcity.kUnitFlagRubble = 15;
simcity.kUnitFlagUnderConstruction = 16;
simcity.kUnitFlagIsOnFire = 20;
simcity.kUnitFlagVacant = 22;
simcity.kUnitFlagCrimeInProgress = 28;
simcity.kUnitFlagActiveBuilding = 29;
simcity.kUnitFlagProgressAllowed = 32;
simcity.kUnitFlagGreatWorksConstructionSite = 33;
simcity.kUnitFlagDoNotBulldoze = 38;
simcity.kUnitFlagGreatWorksOperational = 39;
simcity.kUnitFlagIDIsToy = 41;
simcity.kUnitFlagIDContinuousWorkplace = 44;
simcity.kUnitFlagIDEventSet = 47;
simcity.kUnitFlagActiveBuildingLock = 55;
simcity.kResourceIDElectronicsBaseUnlocked = 556089978;
simcity.kResourceIDGamblingHallUnlocked = 1279496530;
simcity.kResourceIDOilT1BaseUnlocked = 3752123782;
simcity.kResourceIDOreMineUnlocked = 1001527221;
simcity.kResourceIDTownHallBubbles = 2877554989;
simcity.ToyTaskPanelUI = {};
simcity.cToyTaskPanelUIHandler = function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mParentControl = this.mMouseEaterWindow = null
};
simcity.cToyTaskPanelUIHandler.kBtnClose = 236354934;
simcity.cToyTaskPanelUIHandler.kBtnDismiss = 236354919;
simcity.cToyTaskPanelUIHandler.kBtnAccept = 236354876;
simcity.cToyTaskPanelUIHandler.kBtnClickPanel = 235734144;
simcity.cToyTaskPanelUIHandler.kBtnRight = 235045474;
simcity.cToyTaskPanelUIHandler.kBtnLeft = 235045473;
simcity.cToyTaskPanelUIHandler.kRightImageWindow = 235488781;
simcity.cToyTaskPanelUIHandler.kLeftImageWindow = 235488799;
simcity.cToyTaskPanelUIHandler.kCenterImageWindow = 235488809;
simcity.cToyTaskPanelUIHandler.kPosterGroupWindow = 235043597;
simcity.cToyTaskPanelUIHandler.kDescriptionText = 235053604;
simcity.cToyTaskPanelUIHandler.kHeaderText = 235039745;
simcity.cToyTaskPanelUIHandler.kEventTitleText = 233947634;
simcity.cToyTaskPanelUIHandler.kCostText = 246543986;
simcity.cToyTaskPanelUIHandler.kProfitText = 249659556;
simcity.cToyTaskPanelUIHandler.kTipText = 235054034;
simcity.cToyTaskPanelUIHandler.kMainPosterWindow = 235557468;
simcity.cToyTaskPanelUIHandler.kProgressText = 235053592;
simcity.cToyTaskPanelUIHandler.kAnimLeft = 235045566;
simcity.cToyTaskPanelUIHandler.kAnimRight = 235043381;
simcity.cToyTaskPanelUIHandler.kLockedWindow = 239206332;
simcity.cToyTaskPanelUIHandler.kLockedDescriptionText = 239206402;
goog.inherits(simcity.cToyTaskPanelUIHandler, scrui.cUIHandler);
simcity.cToyTaskPanelUIHandler.prototype.Init = function (a) {
this.mLayout = gUIManager.LoadAndCacheLayout("Layouts/ToyTaskPanel/ToyTaskPanel.js", a);
this.mLayout.SetVisibility(!1);
this.mSelectedOption = 0;
this.mCurrentEventIndex = -1;
this.mLeftWindow = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kLeftImageWindow);
this.mCenterWindow = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kCenterImageWindow);
this.mRightWindow = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kRightImageWindow);
this.mMainPoster = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kMainPosterWindow);
this.mDescriptionText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kDescriptionText);
this.mPosterGroup = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kPosterGroupWindow);
this.mProgressText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kProgressText);
this.mHeaderText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kHeaderText);
this.mTipText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kTipText);
this.mEventTitleText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kEventTitleText);
this.mCostText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kCostText);
this.mProfitText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kProfitText);
this.mAcceptButton = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kBtnAccept);
this.mRightButton = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kBtnRight);
this.mLeftButton = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kBtnLeft);
this.mLockedWindow = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kLockedWindow);
this.mLockedDescriptionText = this.mLayout.FindControlByID(simcity.cToyTaskPanelUIHandler.kLockedDescriptionText);
this.mToolPickerBindings = {};
this.mUniquePickers = {};
this.mCurrentPicker = void 0;
this.mReasearchCostLocale = new scrui.cLocaleString("ToyTaskPanel.json", "0x0ee1a91b", "Research Cost");
this.mReasearchProfitLocale = new scrui.cLocaleString("ToyTaskPanel.json", "0x0ee1a91c", "Research Profit");
this.mEventCostLocale =
new scrui.cLocaleString("ToyTaskPanel.json", "0x0ee7fcaa", "Event Cost");
this.mEventProfitLocale = new scrui.cLocaleString("ToyTaskPanel.json", "0x0ee7fcab", "Event Profit");
for (a = 0; a < simcity.Pickers.length; a++) {
simcity.Pickers[a].pickerTool && (this.mUniquePickers[simcity.Pickers[a].pickerTool] = {
picker : simcity.Pickers[a]
});
for (var b = 0; b < simcity.Pickers[a].tools.length; b++)
this.mToolPickerBindings[simcity.Pickers[a].tools[b][0]] = {
picker : simcity.Pickers[a],
index : b
}
}
};
simcity.cToyTaskPanelUIHandler.prototype.Start = function (a) {
var b = !1;
this.IsAUniquePicker(a) && (b = !0);
if (!0 === this.ToolHasAPicker(a) || !0 === b) {
for (var c = [], d = this.mCurrentPicker = !0 === b ? this.mUniquePickers[a].picker : this.mToolPickerBindings[a].picker, b = [], e = 0; e < d.tools.length; ++e)
b[e] = scrui.BuildRequestQuery(["tools", d.tools[e][0], "toolPickerInfo"]);
scrui.RequestGameData(b, function (a) {
for (var b = 0; b < a.length; b++) {
var e = a[b];
if (e) {
var i = e.toolName,
j = e.toolDescription,
k = scrui.DecimalToHex(i.stringID),
l =
scrui.DecimalToHex(j.stringID);
c[b] = {
marqueeImage : scrui.PathFromResourceKey(e.marqueeImage),
eventTitleText : new scrui.cLocaleString("Units.json", k, i.placeholder),
textDescription : new scrui.cLocaleString("Tools.json", l, j.placeholder),
textChooseType : d.textChooseType,
textHeader : d.textHeader
}
}
}
});
this.mCurrentDataBindings = c;
this.mTotalOptions = this.mCurrentDataBindings.length;
this.mLayout.SetVisibility(!0);
this.mSelectedOption = this.mToolPickerBindings[a].index
} else
this.mCurrentPicker = void 0, this.mCurrentDataBindings =
a, this.mTotalOptions = this.mCurrentDataBindings.length, this.mLayout.SetVisibility(!0), this.mSelectedOption = 0;
this.RedrawPanels();
this.mRightButton.SetVisibility(1 < this.mTotalOptions);
this.mLeftButton.SetVisibility(1 < this.mTotalOptions)
};
simcity.cToyTaskPanelUIHandler.prototype.ToolHasAPicker = function (a) {
return this.mToolPickerBindings.hasOwnProperty(a)
};
simcity.cToyTaskPanelUIHandler.prototype.IsAUniquePicker = function (a) {
return this.mUniquePickers.hasOwnProperty(a)
};
simcity.cToyTaskPanelUIHandler.prototype.SetUnit = function (a) {
var b = this;
b.mUnitRef = a;
b.mBaseUnitString = scrui.RequestStringFromUnitRef(a);
a = [scrui.BuildRequestQuery(["units", b.mBaseUnitString, "bins", simcity.kResourceIDActiveEventResearch])];
scrui.RequestGameData(a, function (a) {
b.mCurrentEventIndex = a[0].amount
})
};
simcity.cToyTaskPanelUIHandler.prototype.SetVisible = function (a) {
this.mLayout.SetVisibility(a)
};
simcity.cToyTaskPanelUIHandler.prototype.RedrawPanels = function () {
var a = this.mSelectedOption - 1,
b = this.mSelectedOption,
c = this.mSelectedOption + 1;
0 > a && (a = this.mTotalOptions - 1);
c > this.mTotalOptions - 1 && (c = 0);
this.mLeftWindow.SetWindowImage(this.mCurrentDataBindings[a].marqueeImage);
this.mDescriptionText.SetLocaleText(this.mCurrentDataBindings[b].textDescription);
this.mHeaderText.SetLocaleText(this.mCurrentDataBindings[b].textHeader);
this.mTipText.SetLocaleText(this.mCurrentDataBindings[b].textChooseType);
this.mCenterWindow.SetWindowImage(this.mCurrentDataBindings[b].marqueeImage);
this.mRightWindow.SetWindowImage(this.mCurrentDataBindings[c].marqueeImage);
this.mMainPoster.SetWindowImage(this.mCurrentDataBindings[b].marqueeImage);
this.mProgressText.SetRawText(" " + (this.mSelectedOption + 1) + "/" + this.mTotalOptions);
this.mCurrentDataBindings[b].eventTitleText && (this.mEventTitleText.SetVisibility(!0), this.mEventTitleText.SetLocaleText(this.mCurrentDataBindings[b].eventTitleText));
var d = !1,
e = !1;
if (this.mCurrentDataBindings[b].hasOwnProperty("completedGlobalBin")) {
var f =
this;
scrui.RequestGameData([scrui.BuildRequestQuery(["bins", this.mCurrentDataBindings[b].completedGlobalBin])], function (a) {
if (a[0].amount > 0)
d = e = true
})
}
!d && this.mCurrentDataBindings[b].hasOwnProperty("lockedGlobalBin") && (f = this, scrui.RequestGameData([scrui.BuildRequestQuery(["bins", this.mCurrentDataBindings[b].lockedGlobalBin])], function (a) {
a[0].amount == 0 && (d = true)
}));
e ? this.mLockedDescriptionText.SetLocaleText(new scrui.cLocaleString("GlobalUI.json", "0x0f065a6d", "kResearchCompleted")) : d && this.mCurrentDataBindings[b].hasOwnProperty("lockedTextDescription") ?
this.mLockedDescriptionText.SetLocaleText(this.mCurrentDataBindings[b].lockedTextDescription) : this.mLockedDescriptionText.SetRawText("");
this.mLockedWindow.SetOpacity(1);
this.mLockedWindow.SetVisibility(d);
this.mAcceptButton.SetVisibility(!d);
this.mCurrentDataBindings[b].hasOwnProperty("researchCost") ? (f = this, a = [scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDSimoleons]), scrui.BuildRequestQuery([simcity.kDataUnits, f.mBaseUnitString, simcity.kDataProperties, this.mCurrentDataBindings[b].researchCost])],
scrui.RequestGameData(a, function (a) {
f.mCostText.SetVisibility(true);
f.mProfitText.SetVisibility(false);
f.mProfitText.mParentControl.SetVisibility(false);
f.mCostText.SetLocaleText(f.mReasearchCostLocale, {
currency : a[1]
});
if (a[0] < a[1] || a[2]) {
f.mCostText.SetTextColor("red");
f.mAcceptButton.SetEnabled(false)
} else {
f.mCostText.SetTextColor("green");
f.mAcceptButton.SetEnabled(true)
}
})) : this.mCurrentDataBindings[b].hasOwnProperty("eventCost") ? (f = this, a = [scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDSimoleons])],
scrui.RequestGameData(a, function (a) {
f.mCostText.SetVisibility(true);
f.mProfitText.SetVisibility(true);
f.mProfitText.mParentControl.SetVisibility(true);
f.mCostText.SetLocaleText(f.mEventCostLocale, {
currency : f.mCurrentDataBindings[b].eventCost
});
f.mProfitText.SetLocaleText(f.mEventProfitLocale, {
currency : f.mCurrentDataBindings[b].eventProfit
});
if (a[0] < f.mCurrentDataBindings[b].eventCost || a[2]) {
f.mCostText.SetTextColor("red");
f.mAcceptButton.SetEnabled(false)
} else {
f.mCostText.SetTextColor("green");
f.mAcceptButton.SetEnabled(true)
}
})) :
(f = this, a = [scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDSimoleons]), scrui.BuildRequestQuery(["tools", this.mCurrentPicker.tools[this.mSelectedOption], "isLocked"])], scrui.RequestGameData(a, function (a) {
a[1] ? f.mAcceptButton.SetEnabled(false) : f.mAcceptButton.SetEnabled(true)
}), f.mCostText.SetVisibility(!1), f.mCostText.mParentControl.SetVisibility(!1), f.mProfitText.SetVisibility(!1), f.mProfitText.mParentControl.SetVisibility(!1))
};
simcity.cToyTaskPanelUIHandler.prototype.HandleUIMessage = function (a, b, c) {
var d = !1,
e = 0;
scrui.cUIHandler.prototype.HandleUIMessage.call(this, a, b, c);
switch (a) {
case scrui.kMsgTypeButtonClicked:
switch (b) {
case simcity.cToyTaskPanelUIHandler.kBtnClose:
case simcity.cToyTaskPanelUIHandler.kBtnDismiss:
this.SetVisible(!1);
break;
case simcity.cToyTaskPanelUIHandler.kBtnAccept:
a = 0;
0 > this.mCurrentEventIndex ? a = this.mSelectedOption : this.mSelectedOption < this.mCurrentEventIndex ? a = this.mTotalOptions - this.mCurrentEventIndex +
this.mSelectedOption : this.mSelectedOption > this.mCurrentEventIndex && (a = this.mSelectedOption - this.mCurrentEventIndex);
++a;
for (b = 0; b < a; ++b)
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", this.mBaseUnitString, this.mCurrentDataBindings[this.mSelectedOption].playerRule]));
scrui.PostGameCommand(scrui.BuildCommand(["runUnitPlayerRule", this.mBaseUnitString, this.mCurrentDataBindings[this.mSelectedOption].finalizePlayerRule]));
void 0 !== this.mCurrentPicker && scrui.PostGameCommand(scrui.BuildCommand(["selectTool",
this.mCurrentPicker.tools[this.mSelectedOption]]));
this.SetVisible(!1);
break;
case simcity.cToyTaskPanelUIHandler.kBtnRight:
this.mSelectedOption + 1 < this.mTotalOptions ? this.mSelectedOption++ : this.mSelectedOption = 0;
this.mCostText.SetVisibility(!1);
this.mProfitText.SetVisibility(!1);
this.mEventTitleText.SetRawText("");
this.mDescriptionText.SetRawText("");
e = gUIManager.FindAnimationByID(simcity.cToyTaskPanelUIHandler.kAnimRight);
d = !0;
break;
case simcity.cToyTaskPanelUIHandler.kBtnLeft:
0 <= this.mSelectedOption -
1 ? this.mSelectedOption-- : this.mSelectedOption = this.mTotalOptions - 1,
this.mCostText.SetVisibility(!1),
this.mProfitText.SetVisibility(!1),
this.mEventTitleText.SetRawText(""),
this.mDescriptionText.SetRawText(""),
e = gUIManager.FindAnimationByID(simcity.cToyTaskPanelUIHandler.kAnimLeft),
d = !0
}
}
if (d) {
this.mMainPoster.SetWindowImage(this.mCurrentDataBindings[this.mSelectedOption].marqueeImage);
var f = this;
e.RegisterEventCallback(scrui.cAnimation.kEventStopped, function () {
f.RedrawPanels()
})
}
};
simcity.UIToolbox = {};
simcity.gUIToolbox = function (a, b) {
this.mPageIDs = a;
this.mRootLayout = b
};
simcity.gUIToolbox.LocaleString = {
kFutureMinutes : new scrui.cLocaleString("GameEntry.json", "0x0e9d0957", "~minutes:number~ ^choose:~minutes~:minute:minutes^"),
kFutureHours : new scrui.cLocaleString("GameEntry.json", "0x0e9d0958", "~hours:number~ ^choose:~hours~:hour:hours^"),
kFutureDays : new scrui.cLocaleString("GameEntry.json", "0x0e9d094e", "~days:number~ ^choose:~days~:Tomorrow:days^"),
kFutureWeeks : new scrui.cLocaleString("GameEntry.json", "0x0e9d094f", "~weeks:number~ ^choose:~weeks~:week:weeks^"),
kPastMinutes : new scrui.cLocaleString("GameEntry.json",
"0x0e9d0951", "~minutes:number~ ^choose:~minutes~:Just now:minutes^ ago"),
kPastHours : new scrui.cLocaleString("GameEntry.json", "0x0e9d0952", "~hours:number~ ^choose:~hours~:hour:hours^ ago"),
kPastDays : new scrui.cLocaleString("GameEntry.json", "0x0e9d0953", "~days:number~ ^choose:~days~:Yesterday:days^ ago"),
kPastWeeks : new scrui.cLocaleString("GameEntry.json", "0x0e9d0954", "~weeks:number~ ^choose:~weeks~:week:weeks^ ago"),
kTimeShorthandMinutes : new scrui.cLocaleString("GameEntry.json", "0x0f20f6bf"),
kTimeShorthandHours : new scrui.cLocaleString("GameEntry.json",
"0x0f20f6b8"),
kTimeShorthandDays : new scrui.cLocaleString("GameEntry.json", "0x0f20f6b1"),
kTimeShorthandMonths : new scrui.cLocaleString("GameEntry.json", "0x0f337533"),
kDate : new scrui.cLocaleString("GameEntry.json", "0x0e9d0956", "~date:date~"),
kJustNow : new scrui.cLocaleString("GameEntry.json", "0x0e9d0959", "Just now")
};
simcity.gUIToolbox.Patterns = {
kHTMLTag : /<\S[^><]*>/g,
kInvalidCharacters : /[\\"\<\>]/g
};
simcity.gUIToolbox.kMissingAvatar = "Graphics/Common/MissingAvatar.png";
simcity.gUIToolbox.prototype.HideByKeys = function (a) {
if (a && a.length)
for (var b in a)
this.HideByKey(a[b])
};
simcity.gUIToolbox.prototype.HideByKey = function (a) {
var b = this.mRootLayout.FindControlByID(this.mPageIDs[a]);
b ? b.SetVisibility(!1) : this.DebugMsg("Error: Control not found " + a)
};
simcity.gUIToolbox.prototype.ShowByKey = function (a) {
var b = this.mRootLayout.FindControlByID(this.mPageIDs[a]);
b ? b.SetVisibility(!0) : this.DebugMsg("Error: Control not found " + a)
};
simcity.gUIToolbox.prototype.ClearViewByKey = function (a) {
var b = this.mRootLayout.FindControlByID(this.mPageIDs[a]);
b ? this.ClearLayoutByKey(b, a) : this.DebugMsg("container not found")
};
simcity.gUIToolbox.prototype.ClearLayoutByKey = function (a, b) {
var c = a.FindControlByID(this.mPageIDs[b]);
c ? c.DestroyChildren() : this.DebugMsg("ID not found: " + b)
};
simcity.gUIToolbox.prototype.AddEventListeners = function (a, b) {
var c = this.mPageIDs;
if (b && a)
for (var d in b)
c[d] && "function" == typeof b[d] ? simcity.gEventManager.AddEventListener(a, c[d], b[d]) : this.DebugMsg("AddEventListeners: invalid key for " + d)
};
simcity.gUIToolbox.prototype.RemoveEventListeners = function (a, b) {
var c = this.mPageIDs;
if (b && a)
for (var d in b)
c[d] && "function" == typeof b[d] ? simcity.gEventManager.RemoveEventListener(a, c[d], b[d]) : this.DebugMsg("RemoveEventListeners: invalid key for " + d)
};
simcity.gUIToolbox.ResetRawText = function (a, b) {
if (a) {
var c = a.FindControlByID(b);
c && c.SetRawText("")
}
};
simcity.gUIToolbox.ClearControl = function (a) {
a && a.mChildren && a.DestroyChildren()
};
simcity.gUIToolbox.DebugMsg = function (a) {
simcity.cLauncher3D ? simcity.cLauncher3D.DebugMsg(a) : Panel.mStateController && Panel.mStateController.DebugMsg(a)
};
simcity.gUIToolbox.PreloadImage = function (a, b, c, d) {
if (!document.getElementById(a)) {
var e = new Image;
e.setAttribute("id", a);
e.id = a;
e.src = b;
e.width = c;
e.height = d;
e.style.display = "none";
document.body.appendChild(e)
}
};
simcity.gUIToolbox.GetKeys = function (a) {
var b = [],
c;
for (c in a)
b.push(c);
return b
};
simcity.gUIToolbox.FindKeyNoCase = function (a, b) {
for (var c in a)
if (c.trim().toLowerCase() == b.trim().toLowerCase())
return a[c];
return null
};
simcity.gUIToolbox.GetSortedKeysByAttribute = function (a, b) {
var c = {},
d;
for (d in a) {
var e = 0;
a[d][b] && (e = a[d][b]);
c[e] || (c[e] = {}, c[e].data = []);
c[e].data.push(d)
}
d = simcity.gUIToolbox.GetKeys(c).sort();
for (var e = [], f = 0, g = d.length; f < g; f++)
e = e.concat(c[d[f]].data);
return e
};
simcity.gUIToolbox.ParseDate = function (a) {
a = a.match(/(\d+)/g);
return new Date(a[0], a[1] - 1, a[2], a[3], a[4])
};
simcity.gUIToolbox.UtcMsToLocalDate = function (a) {
var b = new Date;
b.setTime(a);
return b
};
simcity.gUIToolbox.PrettyDateUtcMs = function (a) {
a = simcity.gUIToolbox.UtcMsToLocalDate(a);
return simcity.gUIToolbox.PrettyDate(a)
};
simcity.gUIToolbox.PrettyDate = function (a) {
var b = ((new Date).getTime() - a.getTime()) / 6E4;
return 44640 < Math.abs(b) ? simcity.gUIToolbox.LocaleString.kDate.LoadAndGetTextSynchronous({
date : a
}) : 0 > b ? this.GetFutureDateString(b) : this.GetPastDateString(b)
};
simcity.gUIToolbox.GetFutureDateString = function (a) {
var a = Math.floor(Math.abs(a)),
b = Math.floor(a / 60),
c = Math.floor(b / 24),
d = Math.ceil(c / 7);
if (1 > a)
return simcity.gUIToolbox.LocaleString.kJustNow.LoadAndGetTextSynchronous();
if (60 > a)
return simcity.gUIToolbox.LocaleString.kFutureMinutes.LoadAndGetTextSynchronous({
minutes : a
});
if (1440 > a)
return simcity.gUIToolbox.LocaleString.kFutureHours.LoadAndGetTextSynchronous({
hours : b
});
if (10080 > a)
return simcity.gUIToolbox.LocaleString.kFutureDays.LoadAndGetTextSynchronous({
days : c
});
if (44640 > a)
return simcity.gUIToolbox.LocaleString.kFutureWeeks.LoadAndGetTextSynchronous({
weeks : d
})
};
simcity.gUIToolbox.GetPastDateString = function (a) {
var a = Math.floor(Math.abs(a)),
b = Math.floor(a / 60),
c = Math.floor(b / 24),
d = Math.ceil(c / 7);
if (1 > a)
return simcity.gUIToolbox.LocaleString.kJustNow.LoadAndGetTextSynchronous();
if (60 > a)
return simcity.gUIToolbox.LocaleString.kPastMinutes.LoadAndGetTextSynchronous({
minutes : a
});
if (1440 > a)
return simcity.gUIToolbox.LocaleString.kPastHours.LoadAndGetTextSynchronous({
hours : b
});
if (10080 > a)
return simcity.gUIToolbox.LocaleString.kPastDays.LoadAndGetTextSynchronous({
days : c
});
if (44640 > a)
return simcity.gUIToolbox.LocaleString.kPastWeeks.LoadAndGetTextSynchronous({
weeks : d
})
};
simcity.gUIToolbox.PrettyDateFromString = function (a) {
return simcity.gUIToolbox.PrettyDate(simcity.gUIToolbox.ParseDate(a))
};
simcity.gUIToolbox.ElapsedTicks = function (a) {
if (0 > a)
return "";
if (172800 < a) {
var b = Math.floor(a / 172800),
c;
c = Math.floor((a - 172800 * b) / 7200);
return b + "SC days " + c + " hrs"
}
if (7200 < a && 172800 > a)
return c = Math.floor(a / 7200), a = Math.floor((a - 7200 * c) / 120), c = 1 < c ? c + " SC hrs " : c + " SC hr ", 0 < a && (c += a + " mins"), c;
a = Math.floor(a / 120);
return a + " SC mins"
};
simcity.gUIToolbox.MsToTimeString = function (a) {
if (0 >= a)
return "";
var b = Math.floor(a / 864E5),
c = Math.floor(a / 36E5 % 24),
d = Math.floor(a / 6E4 % 60),
a = Math.floor(a / 1E3 % 60),
e = "";
1 < b ? e = b + " Days " : 1 == b && (e = b + " Day ");
return e + (10 > c ? "0" + c : c) + ":" + (10 > d ? "0" + d : d) + ":" + (10 > a ? "0" + a : a) + " Left"
};
simcity.gUIToolbox.Constants = {
kSecondsPerMinute : 60,
kMinutesPerHour : 60,
kHoursPerDay : 24,
kDaysPerMonth : 30,
kSecondsPer : {
SECOND : 1,
MINUTE : 60,
HOUR : 3600,
DAY : 86400,
MONTH : 2592E3
}
};
simcity.gUIToolbox.ConvertMillisToTimeString = function (a, b) {
var c = simcity.gUIToolbox.Constants,
d = function (b) {
switch (b) {
case "M":
return simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.MONTH);
case "MM":
return simcity.gUIToolbox.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.MONTH), 0, 2);
case "d":
return simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.DAY, c.kDaysPerMonth);
case "dd":
return simcity.gUIToolbox.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a,
c.kSecondsPer.DAY, c.kDaysPerMonth), 0, 2);
case "h":
return simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.HOUR, c.kHoursPerDay);
case "hh":
return simcity.gUIToolbox.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.HOUR, c.kHoursPerDay), 0, 2);
case "m":
return simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.MINUTE, c.kMinutesPerHour);
case "mm":
return simcity.gUIToolbox.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.MINUTE,
c.kMinutesPerHour), 0, 2);
case "s":
return simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.SECOND, c.kSecondsPerMinute);
case "ss":
return simcity.gUIToolbox.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.SECOND, c.kSecondsPerMinute), 0, 2)
}
};
if (!a || 0 > a)
return "";
if (b)
return b.split(":").map(d).join(":");
var d = this.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.DAY), 0, 2),
e = this.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a,
c.kSecondsPer.HOUR, c.kHoursPerDay), 0, 2),
f = this.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.MINUTE, c.kMinutesPerHour), 0, 2),
g = this.LeftPad(simcity.gUIToolbox.Private_ConvertMillisToTimeUnit(a, c.kSecondsPer.SECOND, c.kSecondsPerMinute), 0, 2);
return d + ":" + e + ":" + f + ":" + g
};
simcity.gUIToolbox.Private_ConvertMillisToTimeUnit = function (a, b, c) {
return c ? (Math.floor(a / (1E3 * b)) % c).toString() : Math.floor(a / (1E3 * b)).toString()
};
simcity.gUIToolbox.LeftPad = function (a, b, c) {
var d = "";
null != a && void 0 != a && (d = a.toString());
if (!b && !c)
return d;
for (; d.length < c; )
d = b + d;
return d
};
simcity.gUIToolbox.TimeRemaining = function (a) {
if (0 >= a)
return "time's up";
if (6E4 >= a)
return "less than a minute";
if (36E5 >= a)
return Math.floor(a / 6E4) + " minutes";
if (864E5 >= a)
var b = "", c = Math.floor(a / 36E5), a = Math.floor(Math.floor(a - 36E5 * c) / 6E4);
else {
var b = "",
d = Math.floor(a / 864E5),
c = Math.floor((a - 864E5 * d) / 36E5),
a = Math.floor((a - 36E5 * c - 864E5 * d) / 6E4);
1 < d && (b += d + " days ")
}
1 < c && (b += c + " hours ");
1 < a && (b += a + " minutes");
return b
};
simcity.gUIToolbox.ShallowEquals = function (a, b) {
if (a === b)
return !0;
if (!a || !b || Object.keys(a).length !== Object.keys(b).length)
return !1;
for (var c in a)
if (a[c] !== b[c])
return !1;
return !0
};
simcity.gUIToolbox.IsNumber = function (a) {
return !isNaN(parseFloat(a)) && isFinite(a)
};
simcity.gUIToolbox.NumberToString = function (a, b) {
var c = (new String(a)).split(".");
c[0] && (c[0] = scrui.LocalizeNumber(c[0]));
0 == b ? c.length = 1 : c[1] && 0 < b && (c[1] = c[1].substr(0, b));
return c.join(".")
};
simcity.gUIToolbox.ToBoolean = function (a) {
return "string" === typeof a ? "true" === a : "boolean" === typeof a ? a : !1
};
simcity.gUIToolbox.StripHTML = function (a) {
return a.replace(simcity.gUIToolbox.Patterns.kHTMLTag, "")
};
simcity.gUIToolbox.HasHTML = function (a) {
return null != a.match(simcity.gUIToolbox.Patterns.kHTMLTag)
};
simcity.gUIToolbox.StripInvalidChars = function (a) {
return a.replace(simcity.gUIToolbox.Patterns.kInvalidCharacters, " ")
};
simcity.gUIToolbox.HasInvalidChars = function (a) {
return null != a.match(simcity.gUIToolbox.Patterns.kInvalidCharacters)
};
simcity.gUIToolbox.Sanitize = function (a) {
return simcity.gUIToolbox.StripHTML(a.trim()).replace(simcity.gUIToolbox.Patterns.kInvalidCharacters, "")
};
simcity.gUIToolbox.Encode = function (a) {
return a ? encodeURIComponent(a.trim()) : ""
};
simcity.gUIToolbox.SetControlAspectRatio = function (a, b) {
var c = a.mHeight,
d = a.mWidth;
if (d / c >= b) {
var e = b * c;
d > e && a.SetPosition(a.mLeft + (d - e) / 2, 0, e, c)
} else
e = d / b, c > e && a.SetPosition(0, a.mTop + (c - e) / 2, d, e)
};
simcity.gUIToolbox.IsPointWithinControl = function (a, b, c) {
a = a.GetAbsoluteBoundingBox();
return b > a[0] && b < a[2] && c > a[1] && c < a[5]
};
simcity.gUIToolbox.SetAvatar = function (a, b, c, d) {
if (a) {
var e = simcity.gUIToolbox.kMissingAvatar;
b && (e = simcity.gUIToolbox.GetAvatarUrl(b, c, d));
a.SetWindowImage(e);
a.mImageElement && (a.mImageElement.onerror = function () {
a.mImageElement.src = simcity.gUIToolbox.kMissingAvatar
})
}
};
simcity.gUIToolbox.SetAvatarByUrl = function (a, b) {
if (a && (b || (b = simcity.gUIToolbox.kMissingAvatar), a.SetWindowImage(b), a.mImageElement))
a.mImageElement.onerror = function () {
a.mImageElement.src = simcity.gUIToolbox.kMissingAvatar
}
};
simcity.gUIToolbox.GetAvatarUrl = function (a, b, c) {
var b = b ? b : 64,
c = c ? c : 64,
d = simcity.gConfigurationValues.mAvatarUrl;
if (simcity.IsMainTutorialInProgress && simcity.IsMainTutorialInProgress() && a == simcity.TutorialFakeUserData.creator.screenName)
return simcity.TutorialFakeUserData.creator.avatarImage;
if (null == d)
return scrui.GetRestPath() + "user/" + a + "/avatar?w=" + b + "&h=" + c;
var e = Math.max(b, c),
f = "LARGE";
64 >= e ? f = "SMALL" : 128 >= e && (f = "MEDIUM");
d = d.replace(/~screenName~/g, a);
d = d.replace(/~userId~/g, a);
d = d.replace(/~width~/g,
b);
d = d.replace(/~height~/g, c);
return d = d.replace(/~size~/g, f)
};
simcity.gUIToolbox.GetAvatarFrame = function (a, b, c) {
return !a ? simcity.cConstants.kPresenceAvatarFrames.OFFLINE : a.id == simcity.gSessionManager.mUserID ? simcity.gPresenceManager.IsOffline() ? simcity.cConstants.kPresenceAvatarFrames.OFFLINE : simcity.cConstants.kPresenceAvatarFrames.LOGGED_IN_USER : !a.isOnline || "false" == a.isOnline ? simcity.cConstants.kPresenceAvatarFrames.OFFLINE : a.inTutorial || !a.currentPlayingRegionId || a.currentPlayingRegionId != b && (c ? a.currentPlayingBoxId != c : 1) ? simcity.cConstants.kPresenceAvatarFrames.AWAY :
simcity.cConstants.kPresenceAvatarFrames.ONLINE
};
simcity.Tokenizer = function (a, b) {
this.tokens = a;
this.template = b;
this.regex = /{(\d+)}/ig
};
simcity.Tokenizer.prototype.Parse = function () {
for (var a = this.template, b = this.template.match(this.regex), c = 0; c < b.length; c++) {
var d = b[c].match(/\d+/)[0];
this.tokens[d] ? (d = this.LinkWrap(this.tokens[d], "simcity.Route"), a = a.replace(b[c], d)) : a = a.replace(b[c], "#not_found:" + key + "#")
}
return a
};
simcity.Tokenizer.prototype.LinkWrap = function (a, b) {
var c = a.split(/:/g);
return "<a href='javascript:" + b + "('" + c[1] + "');'>" + c[0] + "</a>"
};
simcity.Tokenizer.prototype.Quote = function (a) {
return a.replace(/([.?*+^$[\]\\(){}-])/g, "\\$1")
};
simcity.gUIToolbox.LabeledCheckbox = function (a) {
this.mLayer = a.mLayer;
this.mStateValue = a.mStateValue;
this.mControlKey = a.mControlKey;
this.mStatusTextKey = a.mStatusTextKey;
this.mImageOn = a.mImageOn;
this.mImageOff = a.mImageOff;
this.mLocaleTextOn = a.mLocaleTextOn;
this.mLocaleTextOff = a.mLocaleTextOff
};
simcity.gUIToolbox.LabeledCheckbox.prototype.Toggle = function () {
this.mStateValue = !this.mStateValue;
var a = this.mLayer.FindControlByID(this.mControlKey),
b = this.mLayer.FindControlByID(this.mStatusTextKey);
this.mStateValue ? (a.SetButtonImage(this.mImageOn), b.SetLocaleText(this.mLocaleTextOn)) : (a.SetButtonImage(this.mImageOff), b.SetLocaleText(this.mLocaleTextOff))
};
simcity.gUIToolbox.GetSelectedIdsFromControl = function (a, b, c) {
var a = a.mChildren,
d = [];
if (!a)
return d;
if (a && a.length)
for (var e = 0, f = a.length; e < f; e++) {
var g = a[e].FindControlByID(b);
if (g && g instanceof scrui.cWindow && g.mIsVisible || g instanceof scrui.cButton && g.mIsSelected)
g = g.GetParentLayout()[c], d.push(g)
}
return d
};
simcity.gUIToolbox.ResetSelectedIdsFromScrollWindow = function (a, b, c) {
if ((a = a.FindControlByID(b).mChildren) && a.length)
for (var b = 0, d = a.length; b < d; b++) {
var e = a[b].FindControlByID(c);
e && e.SetSelected(!1)
}
};
simcity.gUIToolbox.TimedCachedObject = function () {
var a = function (a, c) {
a || (a = 10);
this.expireAtTime = new Date;
this.expireAtTime.setMinutes(this.expireAtTime.getMinutes() + a);
this.data = c
};
a.prototype.isExpired = function () {
return (new Date).getTime() >= this.expireAtTime.getTime()
};
a.prototype.getData = function () {
return this.data
};
a.prototype.setData = function (a) {
this.data = a
};
return a
}
();
simcity.gUIToolbox.GetExponentialPopulation = function (a) {
if (500 >= a)
return a;
if (40845 < a)
return Math.floor(8.25 * a);
a = Math.pow(a - 500, 1.2) + 500;
return Math.round(a)
};
simcity.gUIToolbox.OpenSCHelpSiteWithAuth = function (a) {
var b = gUIManager.mLocaleManager.mLocaleCode,
c = simcity.gConfigurationValues.mHelpLinkUrl,
d = /^(https?:\/\/)?help.ea.com/,
b = simcity.gUIToolbox.StringStartsWith(c, d) ? {
locale : b,
returnUrl : c.replace(d, "")
}
: {
communityUrl : c.replace(/#[a-zA-Z0-9]*$/, "")
};
a ? simcity.cOriginUtilities.OpenExternalBrowserWithAuth(simcity.cConstants.kHelpSiteSsoURL, simcity.cConstants.kHelpSiteTokenKey, b) : simcity.cOriginUtilities.OpenBrowserWithAuth(simcity.cConstants.kHelpSiteSsoURL,
simcity.cConstants.kHelpSiteTokenKey, b)
};
simcity.gUIToolbox.OpenSCHelpSite = function (a) {
var b = simcity.gConfigurationValues.mHelpLinkUrl;
a ? scrui.OpenExternalBrowserWithAuth(b) : simcity.cOriginUtilities.OpenBrowserWithAuth(b)
};
simcity.gUIToolbox.OpenHelpArticleSite = function (a) {
var b = simcity.gConfigurationValues.mWWCEArticleURL;
a ? scrui.OpenExternalBrowser(b) : simcity.cOriginUtilities.OpenBrowserWithAuth(b)
};
simcity.gUIToolbox.OpenArticleLink = function (a) {
var b,
c = /^(https?:\/\/)?help.ea.com/,
d = gUIManager.mLocaleManager.mLocaleCode;
simcity.gUIToolbox.StringStartsWith(a, /^(https?:\/\/)?answers.ea.com/) ? b = {
communityUrl : simcity.gUIToolbox.GetURLWithFormattedLocale(a.replace(/#[a-zA-Z0-9]*$/, ""))
}
: simcity.gUIToolbox.StringStartsWith(a, c) && (b = {
locale : d,
returnUrl : simcity.gUIToolbox.GetURLWithFormattedLocale(a.replace(c, ""))
});
b ? simcity.cOriginUtilities.OpenExternalBrowserWithAuth(simcity.cConstants.kHelpSiteSsoURL,
simcity.cConstants.kHelpSiteTokenKey, b) : scrui.OpenExternalBrowser(a)
};
simcity.gUIToolbox.OpenSCGameManual = function () {
scrui.OpenExternalBrowser(simcity.gConfigurationValues.mGameManualUrl)
};
simcity.gUIToolbox.GetURLWithFormattedLocale = function (a) {
if (!a)
return a;
if (a) {
var b = gUIManager.mLocaleManager.mLocaleCode;
b && (b = b.split("-"), b[0] && (b[0] = b[0].toLowerCase()), b[1] && (b[1] = b[1].toUpperCase()), b = b.join("-"));
var c = /~locale~/g,
d = /~-locale~/g,
e = /~lang~/g,
f = /~country~/g;
null !== a.match(c) && (a = a.replace(c, b.replace(/-/g, "_")));
null !== a.match(d) && (a = a.replace(d, b));
null !== a.match(e) && (a = a.replace(e, b.substr(0, 2)));
null !== a.match(f) && (a = a.replace(f, b.substr(3)))
}
return a
};
simcity.gUIToolbox.GetLocale = function () {
var a;
gUIManager.mLocaleManager.mLocaleCode && (a = gUIManager.mLocaleManager.mLocaleCode.replace("-", "_"));
return a ? a : "en_us"
};
simcity.gUIToolbox.GetDurationInShorthandFormat = function (a) {
var a = (0 < a ? simcity.gUIToolbox.ConvertMillisToTimeString(a, "M:d:h:m") : "0:0:0:0").split(":"),
b = "";
"0" !== a[0] && "00" !== a[0] && (b += a[0] + simcity.gUIToolbox.LocaleString.kTimeShorthandMonths.LoadAndGetTextSynchronous(), b += " ");
b += a[1] + simcity.gUIToolbox.LocaleString.kTimeShorthandDays.LoadAndGetTextSynchronous();
b += " " + a[2] + simcity.gUIToolbox.LocaleString.kTimeShorthandHours.LoadAndGetTextSynchronous();
return b += " " + a[3] + simcity.gUIToolbox.LocaleString.kTimeShorthandMinutes.LoadAndGetTextSynchronous()
};
simcity.gUIToolbox.TrimString = function (a) {
return a.replace(/^\s+|\s+$/g, "")
};
simcity.gUIToolbox.StringStartsWith = function (a, b) {
return b instanceof RegExp ? null !== a.match(b) : null !== a.match(RegExp("^" + b))
};
simcity.gUIToolbox.StringEndsWith = function (a, b) {
return b instanceof RegExp ? null !== a.match(b) : null !== a.match(RegExp(b + "$"))
};
simcity.gUIToolbox.UnwrapId = function (a) {
if (!a)
return "";
for (var a = window.atob(a), b = a.length, c = "", d = 0; d < b; ++d)
var e = "20ce46kgg256254708gewr65gdd4gyy"[d % 31].charCodeAt(0), f = a[d].charCodeAt(0), c = c + String.fromCharCode(f^e);
return c
};
simcity.gUIToolbox.kTrackingUri = "user/notifications/";
simcity.gUIToolbox.GetTrackingValue = function (a, b, c) {
a = {
url : scrui.GetRestPath() + simcity.gUIToolbox.kTrackingUri + a + ".json",
onSuccess : function (a) {
a = a.json.date_updated;
"function" == typeof b && b(a)
},
onError : c,
method : "get"
};
scrui.XHR.Request(a)
};
simcity.gUIToolbox.SetTrackingValue = function (a) {
a = {
url : scrui.GetRestPath() + simcity.gUIToolbox.kTrackingUri + a,
method : "post"
};
scrui.XHR.Request(a)
};
simcity.FriendController = {};
simcity.cFriendController = function () {
this.mFriendCache = null;
this.mFriendPresenceSubscriptions = {};
this.mFriendListChangedSubscribed = !1;
this.mIsFirstUpdate = !0;
this.mFriendRequestCache = null;
this.mDoingServerSync = this.mUpdatingFriendRequestCache = !1;
this.mFriendCache = null;
this.mUpdatingFriendCache = !1;
this.mPendingRequestCache = null;
this.mUpdatingPendingRequestCache = !1;
this.mServiceURLs = {
FRIEND_REQUESTS : "user/friendRequests",
PENDING_REQUESTS : "user/friendInvites",
ORIGIN_SYNC : "user/friends/origin"
}
};
simcity.cFriendController.kMaxRequestsToFetch = 100;
simcity.cFriendController.kMaxPendingRequestsToFetch = 100;
simcity.cFriendController.kRequestCacheMin = 2;
simcity.cFriendController.kFriendCacheMin = 2;
simcity.cFriendController.kMsgRequestsChanged = 246549693;
simcity.cFriendController.kMsgFriendsChanged = 247669359;
simcity.cFriendController.kMsgFriendsPresenceChanged = 40901455;
simcity.cFriendController.kUserInfoRestUrl = "user/";
simcity.cFriendController.kFriendsUri = "/friends.json";
simcity.cFriendController.kUnfriendUri = "/friends/";
simcity.cFriendController.kSocketEventGuid = 237906218;
simcity.cFriendController.kSocketPresenceMessageType = 2343608712;
simcity.cFriendController.kSocketPresenceResponseEventId = 3498425072;
simcity.cFriendController.kSocketGameEntryMessageType = 2565274370;
simcity.cFriendController.kSocketListChangedEventId = 311058824;
simcity.cFriendController.kSocketListChangedGuid = 249588249;
simcity.cFriendController.prototype.GetOnlineFriends = function () {
for (var a = this.GetCachedFriends(), b = [], c = 0; a && a.length && c < a.length; c++)
(!0 === a[c].isOnline || "true" === a[c].isOnline) && b.push(a[c]);
return b
};
simcity.cFriendController.prototype.GetOfflineFriends = function () {
for (var a = this.GetCachedFriends(), b = [], c = 0; a && a.length && c < a.length; c++)
(!1 === a[c].isOnline || "false" === a[c].isOnline) && b.push(a[c]);
return b
};
simcity.cFriendController.prototype.GetCachedFriendRequests = function () {
(!this.mFriendRequestCache || this.mFriendRequestCache.isExpired()) && this.UpdateFriendRequestsFromServer();
return this.mFriendRequestCache ? this.mFriendRequestCache.getData() : []
};
simcity.cFriendController.prototype.GetCachedFriends = function () {
(!this.mFriendCache || this.mFriendCache.isExpired()) && this.UpdateFriendsFromServer();
return this.mFriendCache ? this.mFriendCache.getData().friends : []
};
simcity.cFriendController.prototype.IsFriendListFirstUpdate = function () {
return this.mIsFirstUpdate && this.mUpdatingFriendCache
};
simcity.cFriendController.prototype.UpdateFriendRequestsFromServer = function () {
if (!this.mUpdatingFriendRequestCache) {
this.mUpdatingFriendRequestCache = !0;
var a = this,
b = function () {
a.mUpdatingFriendRequestCache = !1;
a.mFriendRequestCache || (a.mFriendRequestCache = new simcity.gUIToolbox.TimedCachedObject(simcity.cFriendController.kRequestCacheMin, []))
},
c = {
url : scrui.GetRestPath() + this.mServiceURLs.FRIEND_REQUESTS + ".json",
params : [["start", 0], ["count", simcity.cFriendController.kMaxRequestsToFetch]],
onSuccess : function (c) {
c.json &&
c.json.error ? b(c) : (a.mUpdatingFriendRequestCache = !1, c = c.json && c.json.users ? c.json.users : [], delete a.mFriendRequestCache, a.mFriendRequestCache = new simcity.gUIToolbox.TimedCachedObject(simcity.cFriendController.kRequestCacheMin, c), gUIManager.SendMessage(simcity.cFriendController.kMsgRequestsChanged))
},
onError : b,
method : "get"
};
scrui.XHR.Request(c)
}
};
simcity.cFriendController.prototype.GetCachedPendingRequests = function () {
(!this.mPendingRequestCache || this.mPendingRequestCache.isExpired()) && this.UpdatePendingRequestsFromServer();
return this.mPendingRequestCache ? this.mPendingRequestCache.getData() : []
};
simcity.cFriendController.prototype.IsRequestPending = function (a) {
var b = this.GetCachedPendingRequests(),
c;
for (c in b) {
var d = b[c];
if (d && d.id == a)
return !0
}
return !1
};
simcity.cFriendController.prototype.UpdatePendingRequestsFromServer = function () {
if (!this.mUpdatingPendingRequestCache) {
this.mUpdatingPendingRequestCache = !0;
var a = this,
b = function () {
a.mUpdatingPendingRequestCache = !1;
a.mPendingRequestCache || (a.mPendingRequestCache = new simcity.gUIToolbox.TimedCachedObject(simcity.cFriendController.kRequestCacheMin, []))
},
c = {
url : scrui.GetRestPath() + this.mServiceURLs.PENDING_REQUESTS + ".json",
params : [["start", 0], ["count", simcity.cFriendController.kMaxPendingRequestsToFetch]],
onSuccess : function (c) {
c.json && c.json.error ? b(c) : (a.mUpdatingPendingRequestCache = !1, c = c.json && c.json.users ? c.json.users : [], delete a.mPendingRequestCache, a.mPendingRequestCache = new simcity.gUIToolbox.TimedCachedObject(simcity.cFriendController.kRequestCacheMin, c), gUIManager.SendMessage(simcity.cFriendController.kMsgRequestsChanged))
},
onError : b,
method : "get"
};
scrui.XHR.Request(c)
}
};
simcity.cFriendController.prototype.AcceptFriendRequest = function (a, b, c) {
var d = this;
this.AddFriend(a, function (c) {
d.Private_RemoveFromRequestCache(a);
d.UpdateFriendsFromServer();
"function" == typeof b && b(c)
}, c)
};
simcity.cFriendController.prototype.IgnoreFriendRequest = function (a, b) {
var c = this,
d = {
url : scrui.GetRestPath() + this.mServiceURLs.FRIEND_REQUESTS + "/" + a + ".json",
onSuccess : function (d) {
c.Private_RemoveFromRequestCache(a);
"function" == typeof b && b(d)
},
method : "delete"
};
scrui.XHR.Request(d)
};
simcity.cFriendController.prototype.Private_RemoveFromRequestCache = function (a) {
var b = this.mFriendRequestCache.getData();
if (b)
for (var c = 0; c < b.length; ++c)
if (b[c].id == a) {
b.splice(c, 1);
break
}
};
simcity.cFriendController.prototype.IsLoggedInUsersFriend = function (a) {
return null != this.FindInFriendCache(a)
};
simcity.cFriendController.prototype.AddFriend = function (a, b, c) {
var d = this,
e = function (a) {
"function" == typeof c && c(a)
},
f = {
url : scrui.GetRestPath() + "user/" + this.Private_GetLoggedInUserId() + "/friends.json",
params : [["friendIds", a]],
onSuccess : function (c) {
c.json && c.json.errorCode ? e(c) : (d.mPendingRequestCache || (d.mPendingRequestCache = new simcity.gUIToolbox.TimedCachedObject(simcity.cFriendController.kRequestCacheMin, [])), d.mPendingRequestCache.getData().push({
id : a
}), gUIManager.SendMessage(simcity.cFriendController.kMsgFriendsChanged),
d.UpdateFriendRequestsFromServer(), d.UpdatePendingRequestsFromServer(), d.RequestPresenceSubscriptionByID(a), "function" == typeof b && b(c.json))
},
onError : e,
method : "post"
};
scrui.XHR.Request(f)
};
simcity.cFriendController.prototype.DeleteFriend = function (a, b, c) {
var d = this,
e = function () {
"function" == typeof c && c()
},
f = {
url : scrui.GetRestPath() + simcity.cFriendController.kUserInfoRestUrl + this.Private_GetLoggedInUserId() + simcity.cFriendController.kUnfriendUri + a,
params : [],
onSuccess : function (c) {
c.json && c.json.errorCode ? e(c) : (d.RemovePresenceSubscriptionByID(a), d.Private_RemoveFriendFromCache(a), d.UpdateFriendRequestsFromServer(), d.UpdatePendingRequestsFromServer(), "function" == typeof b && b(a))
},
onError : e,
method : "delete"
};
scrui.XHR.Request(f)
};
simcity.cFriendController.prototype.UpdateFriendsFromServer = function () {
if (!this.mUpdatingFriendCache) {
this.mUpdatingFriendCache = !0;
var a = this,
b = function () {
a.mUpdatingFriendCache = !1;
a.mIsFirstUpdate && (a.mIsFirstUpdate = !1, gUIManager.SendMessage(simcity.cFriendController.kMsgFriendsChanged))
},
c = this.Private_GetLoggedInUserId(),
c = {
url : scrui.GetRestPath() + simcity.cFriendController.kUserInfoRestUrl + c + simcity.cFriendController.kFriendsUri,
onSuccess : function (c) {
if (c.json.error)
b(c);
else {
a.mUpdatingFriendCache =
!1;
a.mIsFirstUpdate = !1;
for (var e = (c = c.json.users) ? c.length : 0, f = 0; f < e; ++f)
c[f].extraData && (c[f].nucleusId = simcity.gUIToolbox.UnwrapId(c[f].extraData));
a.Private_SetFriendCache(c);
for (var g in c)
a.RequestPresenceSubscriptionByID(c[g].id);
gUIManager.SendMessage(simcity.cFriendController.kMsgFriendsChanged)
}
},
onError : b,
method : "get"
};
scrui.XHR.Request(c)
}
};
simcity.cFriendController.prototype.IsFriendOnline = function (a) {
return (a = this.FindInFriendCache(a)) ? a.isOnline : !1
};
simcity.cFriendController.prototype.FindInFriendCache = function (a) {
if (!this.mFriendCache)
return null;
var b = this.mFriendCache.getData(),
a = b.idMap[a];
return null === typeof a || void 0 === a ? null : b.friends[a]
};
simcity.cFriendController.prototype.UpdateFriendsPresence = function (a) {
var b = this.FindInFriendCache(a.USER_GAME_EVENT);
if (b) {
for (var c in a)
b[c] = a[c];
gUIManager.SendMessage(simcity.cFriendController.kMsgFriendsPresenceChanged, b)
}
};
simcity.cFriendController.FriendsPresenceCallback = function (a) {
simcity.gFriendController.UpdateFriendsPresence(a)
};
simcity.cFriendController.FriendsListChangedCallback = function () {
simcity.gFriendController.UpdateFriendsFromServer();
simcity.gFriendController.UpdateFriendRequestsFromServer();
simcity.gFriendController.UpdatePendingRequestsFromServer()
};
simcity.cFriendController.prototype.RequestPresenceSubscriptionByID = function (a) {
if (!this.mFriendPresenceSubscriptions[a]) {
var b = Number(simcity.cFriendController.kSocketEventGuid) + a;
simcity.gSocketManager.AddSocketRequest("/subscriptions/user/" + a + "/messageType/" + Number(simcity.cFriendController.kSocketPresenceMessageType) + "/eventId/" + Number(simcity.cFriendController.kSocketPresenceResponseEventId), b, simcity.cFriendController.FriendsPresenceCallback, !1);
this.mFriendPresenceSubscriptions[a] = b
}
};
simcity.cFriendController.prototype.RemovePresenceSubscriptionByID = function (a) {
simcity.gSocketManager.RemoveSocketRequest("/subscriptions/user/" + a + "/messageType/" + Number(simcity.cFriendController.kSocketPresenceMessageType) + "/eventId/" + Number(simcity.cFriendController.kSocketPresenceResponseEventId), Number(simcity.cFriendController.kSocketEventGuid) + a, simcity.cFriendController.FriendsPresenceCallback, !1);
delete this.mFriendPresenceSubscriptions[a]
};
simcity.cFriendController.prototype.RequestListChangeSubscription = function () {
if (!this.mFriendListChangedSubscribed) {
var a = "/subscriptions/user/" + this.Private_GetLoggedInUserId() + "/messageType/" + Number(simcity.cFriendController.kSocketGameEntryMessageType) + "/eventId/" + Number(simcity.cFriendController.kSocketListChangedEventId);
simcity.gSocketManager.AddSocketRequest(a, Number(simcity.cFriendController.kSocketListChangedGuid), simcity.cFriendController.FriendsListChangedCallback, !1);
this.mFriendListChangedSubscribed =
!0
}
};
simcity.cFriendController.prototype.RemoveListChangeSubscription = function () {
var a = "/subscriptions/user/" + this.Private_GetLoggedInUserId() + "/messageType/" + Number(simcity.cFriendController.kSocketGameEntryMessageType) + "/eventId/" + Number(simcity.cFriendController.kSocketListChangedEventId);
simcity.gSocketManager.RemoveSocketRequest(a, Number(simcity.cFriendController.kSocketListChangedGuid), simcity.cFriendController.FriendsListChangedCallback, !1);
this.mFriendListChangedSubscribed = !1
};
simcity.cFriendController.prototype.Private_GetLoggedInUserId = function () {
return simcity.gSessionManager.mUserID
};
simcity.cFriendController.prototype.Private_RemoveFriendFromCache = function (a) {
for (var b = this.GetCachedFriends(), c = 0; c < b.length; ++c)
if (b[c].id == a) {
b.splice(c, 1);
this.Private_SetFriendCache(b);
gUIManager.SendMessage(simcity.cFriendController.kMsgFriendsChanged);
break
}
};
simcity.cFriendController.prototype.Private_SetFriendCache = function (a) {
var b = this.Private_BuildFriendIdMap(a);
this.mFriendCache = new simcity.gUIToolbox.TimedCachedObject(simcity.cFriendController.kFriendCacheMin, {
friends : a ? a : [],
idMap : b
})
};
simcity.cFriendController.prototype.Private_BuildFriendIdMap = function (a) {
if (!a)
return {};
for (var b = {}, c = a.length, d = 0; d < c; ++d)
b[a[d].id] = d;
return b
};
simcity.cFriendController.prototype.UserSearch = function (a, b, c) {
if (a && "" != a) {
var d = this,
e = {
url : scrui.GetRestPath() + "users/search/" + a + ".json",
params : [["includeachievements", "true"]],
onSuccess : function (c) {
c = {
searchterm : a,
total_achievements_count : c.json.total_achievements_count,
users : d.FilterSearchResults(c)
};
b && "function" == typeof b && b(c)
},
onError : function (a) {
c && "function" == typeof c && c(a)
},
method : "get"
};
scrui.XHR.Request(e)
}
};
simcity.cFriendController.prototype.FilterSearchResults = function (a) {
var a = a.json.users,
b = {
friends : null,
strangers : null
},
c = this.GetCachedFriends();
if (!c)
return b.strangers = a, b;
for (var d = [], e = 0; e < c.length; ++e)
d.push(c[e].id);
for (var c = [], f = [], e = 0; e < a.length; ++e)
a[e].id != this.Private_GetLoggedInUserId() && (-1 === d.indexOf(a[e].id) ? f.push(a[e]) : c.push(a[e]));
b.friends = c;
b.strangers = f;
return b
};
simcity.cFriendController.prototype.ProcessOriginFriendList = function (a) {
this.Private_NeedServerSync(a) && this.DoServerOriginSync()
};
simcity.cFriendController.prototype.Private_NeedServerSync = function (a) {
if (!this.mFriendCache)
return !0;
for (var a = a.slice(0), b = this.GetCachedFriends(), c = [], d = 0; d < b.length; ++d) {
var e = a.indexOf(b[d].nucleusId);
-1 == e ? c.push(d) : a.splice(e, 1)
}
if (0 < c.length) {
for (d = c.length - 1; 0 <= d; --d)
b.splice(c[d], 1);
this.Private_SetFriendCache(b);
gUIManager.SendMessage(simcity.cFriendController.kMsgFriendsChanged);
return !0
}
return 0 < a.length
};
simcity.cFriendController.prototype.DoServerOriginSync = function () {
if (!this.mDoingServerSync) {
this.mDoingServerSync = !0;
var a = this,
b = {
url : scrui.GetRestPath() + this.mServiceURLs.ORIGIN_SYNC + ".json",
onSuccess : function () {
a.mDoingServerSync = !1
},
onError : function () {
a.mDoingServerSync = !1
},
method : "post"
};
scrui.XHR.Request(b)
}
};
simcity.gFriendController = new simcity.cFriendController;
simcity.GameInvitesController = {};
simcity.cGameInvitesController = function () {
this.mDialogManager = null;
this.mPageIDs = {
AVATAR_NAME : 238866083,
AVATAR_IMAGE : 238864739,
AVATAR_PRESENCE_FRAME : 238864737,
AVATAR_TOGGLE : 238866086,
INVITE_FRIENDS_PANEL : 239986382,
INVITE_ONLINE_HEADER : 239982485,
INVITE_SCROLL_WINDOW : 239982451,
SEND_INVITES_BUTTON : 239982296,
CANCEL_INVITES_BUTTON : 239982327,
INVITE_MESSAGE : 240080460,
INVITE_TITLE : 239982257,
INVITE_OFFLINE_HEADER : 239982487,
REGION_INVITE_BUTTON : 239986074,
INVITE_MSG_ANIMATION : 251994376,
WHITE_TRIANGLE : 254858258,
IN_GAME_CONTAINER : 254857956
}
};
simcity.cGameInvitesController.LocaleString = {
kPleaseSelectFriends : new scrui.cLocaleString("GameEntry.json", "0x0ecf08eb"),
kInviteSuccess : new scrui.cLocaleString("GameEntry.json", "0x7144221c"),
kInviteFailed : new scrui.cLocaleString("GameEntry.json", "0x84e340d5"),
kOops : new scrui.cLocaleString("GameEntry.json", "0x10354d5d"),
kInviteTitle : new scrui.cLocaleString("GameEntry.json", "0xb42d3ccb")
};
simcity.cGameInvitesController.kPageLayout = {
USER_TOGGLE_AVATAR : "Layouts/GameEntry/Play/JoinGame_FilterByFriends_Button.js"
};
simcity.cGameInvitesController.prototype.Initialize = function () {
var a = simcity.gGameInvitesController.mPageIDs;
simcity.gGlobalUIHandler && simcity.gGlobalUIHandler.mDialogManager ? (this.mDialogManager = simcity.gGlobalUIHandler.mDialogManager, gUIManager.FindControlByID(a.REGION_INVITE_BUTTON).SetVisibility(!1)) : this.mDialogManager = simcity.cLauncher3D.mDialogManager;
simcity.gEventManager.AddEventListener(simcity.gEventTypes.CLICK, this.mPageIDs.REGION_INVITE_BUTTON, this.ToggleInvitePanel);
simcity.gEventManager.AddEventListener(simcity.gEventTypes.CLICK,
this.mPageIDs.SEND_INVITES_BUTTON, this.InviteUsers);
simcity.gEventManager.AddEventListener(simcity.gEventTypes.CLICK, this.mPageIDs.CANCEL_INVITES_BUTTON, this.HideInvitePanel);
this.mOnShowInvitePanel = function () {}
};
simcity.cGameInvitesController.prototype.ShowInvitePanel = function (a) {
var b = simcity.gGameInvitesController.mPageIDs,
c = a.FindControlByID(b.INVITE_FRIENDS_PANEL),
d = c.FindControlByID(b.INVITE_ONLINE_HEADER),
e = c.FindControlByID(b.INVITE_OFFLINE_HEADER),
f = c.FindControlByID(b.INVITE_SCROLL_WINDOW),
g = c.FindControlByID(b.SEND_INVITES_BUTTON),
h = c.FindControlByID(b.CANCEL_INVITES_BUTTON),
i = c.FindControlByID(b.INVITE_TITLE);
simcity.gGlobalUIHandler && (gUIManager.FindControlByID(b.IN_GAME_CONTAINER).SetVisibility(!0),
c.FindControlByID(b.WHITE_TRIANGLE).SetVisibility(!1));
c.SetVisibility(!0);
g.scrollWindow = f;
g.inviteCallback = a.inviteCallback;
h.container = a;
a.regionData ? i.SetLocaleText(simcity.cGameInvitesController.LocaleString.kInviteTitle, {
boxName : a.regionData.name
}) : i.SetRawText("");
a = simcity.gGameInvitesController.mOnShowInvitePanel;
"function" === typeof a && a();
f.DestroyChildren();
this.DrawAllAvatarGrids(f, d, e, 3)
};
simcity.cGameInvitesController.prototype.HideInvitePanel = function (a) {
var b = simcity.gGameInvitesController.mPageIDs,
c = a;
a.container && (c = a.container);
c.FindControlByID(b.INVITE_FRIENDS_PANEL).SetVisibility(!1);
c.FindControlByID(b.REGION_INVITE_BUTTON).SetSelected(!1);
simcity.gGlobalUIHandler && gUIManager.FindControlByID(b.IN_GAME_CONTAINER).SetVisibility(!0)
};
simcity.cGameInvitesController.prototype.ToggleInvitePanel = function (a) {
a = a.mParentControl;
a.FindControlByID(simcity.gGameInvitesController.mPageIDs.INVITE_FRIENDS_PANEL).GetAbsoluteVisibility() ? simcity.gGameInvitesController.HideInvitePanel(a) : simcity.gGameInvitesController.ShowInvitePanel(a)
};
simcity.cGameInvitesController.prototype.InviteUsersToCity = function (a, b, c, d, e) {
b && (a = a + "/" + b);
b = {
url : scrui.GetRestPath() + "/region/" + a + "/invites.json",
params : [["invitees", c]],
onSuccess : function (a) {
a.json.errorCode ? e(c) : "function" === typeof d && d(c)
},
onError : function () {
"function" === typeof e && e(c)
},
method : "post"
};
scrui.XHR.Request(b)
};
simcity.cGameInvitesController.prototype.InviteUsers = function (a) {
var b = simcity.gUIToolbox.GetSelectedIdsFromControl(a.scrollWindow, simcity.gGameInvitesController.mPageIDs.AVATAR_TOGGLE, "userID");
b && b.length && (b = b.join());
!b || b && 0 == b.length ? simcity.gGameInvitesController.mDialogManager.ShowLocalizedModal(simcity.cGameInvitesController.LocaleString.kOops, simcity.cGameInvitesController.LocaleString.kPleaseSelectFriends) : a.inviteCallback(b)
};
simcity.cGameInvitesController.prototype.RunInviteSentAnimation = function (a) {
var b = simcity.gGameInvitesController.mPageIDs;
a && (a = a.FindAnimationByID(b.INVITE_MSG_ANIMATION)) && a.Restart(scrui.cAnimation.kPlayForward)
};
simcity.cGameInvitesController.prototype.DrawAllAvatarGrids = function (a, b, c, d) {
var e = simcity.gFriendController.GetOnlineFriends(),
f = simcity.gFriendController.GetOfflineFriends(),
g = 20;
e.length ? (b.SetPosition(20, g), b.SetVisibility(!0), g = this.DrawAvatarGrid(g + 20, a, e, d)) : b.SetVisibility(!1);
f.length ? (c.SetPosition(20, g), c.SetVisibility(!0), this.DrawAvatarGrid(g + 20, a, f, d)) : c.SetVisibility(!1)
};
simcity.cGameInvitesController.prototype.DrawAvatarGrid = function (a, b, c, d) {
var e = this.mPageIDs,
f = 0;
if (c && c.length) {
for (var g = 0, h = c.length; g < h; g++) {
var i = c[g],
j = gUIManager.LoadLayout(simcity.cGameInvitesController.kPageLayout.USER_TOGGLE_AVATAR, b);
simcity.gUIToolbox.PrettyDateUtcMs(i.lastLogin);
simcity.gUIToolbox.SetAvatar(j.FindControlByID(e.AVATAR_IMAGE), i.screenName);
j.FindControlByID(e.AVATAR_NAME).SetRawText(i.screenName);
j.userID = i.id;
j.SetPosition(f, a);
j.FindControlByID(e.AVATAR_PRESENCE_FRAME).SetWindowImage(simcity.gUIToolbox.GetAvatarFrame(i));
g + 1 >= h || 0 == (g + 1) % d ? (f = 0, a += j.mHeight) : f += j.mWidth
}
a += 40
}
return a
};
simcity.gGameInvitesController = new simcity.cGameInvitesController;
simcity.databindings.RegionalDefaultCityInfo = {};
simcity.kRegionalDefaultCityInfo = {
CapeTrinity : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0x8e4a59b0",
regionDescription : "AutomatedRegionTemplates.json!0xc27f9a62",
regionLoadingImage : "CapeTrinity_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0x6779b9d2",
cityDescription : "AutomatedRegionTemplates.json!0x2b42d990",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "0",
earthquakes : "0",
rail : "true",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0xfc0c91cf",
cityDescription : "AutomatedRegionTemplates.json!0x3dc78265",
percentageBuildable : "90",
residentialDesirability : "2",
wind : "1",
water : "2",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "0",
earthquakes : "0",
rail : "true",
shipping : "true",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0xcf049f2d",
cityDescription : "AutomatedRegionTemplates.json!0x4a7763ef",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "2",
coal : "2",
rawOre : "2",
crudeOil : "2",
tornadoes : "0",
earthquakes : "0",
rail : "true",
shipping : "false",
resources : []
}
}
},
CliffsideVista : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0x2a6b0baa",
regionDescription : "AutomatedRegionTemplates.json!0xac014408",
regionLoadingImage : "CliffsideVista_LoadingBackDrop.png",
labels : {
RiverLabel : {
xCoord : "100",
yCoord : "100",
labelText : "AutomatedRegionTemplates.json!0xf5b3bd7f",
labelAngle : "1"
}
},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0x7a74a6c6",
cityDescription : "AutomatedRegionTemplates.json!0xf5d3e34c",
percentageBuildable : "100",
residentialDesirability : "2",
wind : "3",
water : "2",
coal : "2",
rawOre : "2",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "false",
resources : ["AutomatedResources.json!0xbf75dc04"]
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x94966db2",
cityDescription : "AutomatedRegionTemplates.json!0x585f8e70",
percentageBuildable : "70",
residentialDesirability : "3",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : ["AutomatedResources.json!0xcec5890c"]
}
}
},
Confluence : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0x77cb42ea",
regionDescription : "AutomatedRegionTemplates.json!0xfbdbe448",
regionLoadingImage : "Confluence_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0xa79638c7",
cityDescription : "AutomatedRegionTemplates.json!0x0b85715d",
percentageBuildable : "95",
residentialDesirability : "1",
wind : "1",
water : "2",
coal : "2",
rawOre : "3",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0xae3b915a",
cityDescription : "AutomatedRegionTemplates.json!0x51ae9418",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "2",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0x42647828",
cityDescription : "AutomatedRegionTemplates.json!0x96f2fb1a",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "0",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1029 : {
cityName : "AutomatedRegionTemplates.json!0x4d7b89b2",
cityDescription : "AutomatedRegionTemplates.json!0x1144aa70",
percentageBuildable : "95",
residentialDesirability : "1",
wind : "0",
water : "2",
coal : "3",
rawOre : "1",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1030 : {
cityName : "AutomatedRegionTemplates.json!0xf3c76956",
cityDescription : "AutomatedRegionTemplates.json!0x8fc315bc",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "0",
water : "3",
coal : "2",
rawOre : "3",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
}
}
},
Gallia : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0xfd4011aa",
regionDescription : "AutomatedRegionTemplates.json!0x7ed64a08",
regionLoadingImage : "Gallia_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0x566cabfe",
cityDescription : "AutomatedRegionTemplates.json!0x122237e4",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "0",
rawOre : "1",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0xa7789ab4",
cityDescription : "AutomatedRegionTemplates.json!0x0148cbce",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0x01e9fe3f",
cityDescription : "AutomatedRegionTemplates.json!0x26be8975",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1029 : {
cityName : "AutomatedRegionTemplates.json!0x604fb050",
cityDescription : "AutomatedRegionTemplates.json!0x920c1a02",
percentageBuildable : "90",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "2",
rawOre : "3",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1030 : {
cityName : "AutomatedRegionTemplates.json!0xa0f67fb3",
cityDescription : "AutomatedRegionTemplates.json!0xfd989731",
percentageBuildable : "40",
residentialDesirability : "3",
wind : "1",
water : "3",
coal : "3",
rawOre : "1",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1031 : {
cityName : "AutomatedRegionTemplates.json!0xa52c8370",
cityDescription : "AutomatedRegionTemplates.json!0xd6e8ed22",
percentageBuildable : "70",
residentialDesirability : "3",
wind : "1",
water : "2",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1032 : {
cityName : "AutomatedRegionTemplates.json!0xcba6f916",
cityDescription : "AutomatedRegionTemplates.json!0x67a4397c",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "2",
rawOre : "2",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1033 : {
cityName : "AutomatedRegionTemplates.json!0xeb7e47b4",
cityDescription : "AutomatedRegionTemplates.json!0x454e78ce",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1034 : {
cityName : "AutomatedRegionTemplates.json!0x690f65de",
cityDescription : "AutomatedRegionTemplates.json!0x24c4f1c4",
percentageBuildable : "70",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "3",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1035 : {
cityName : "AutomatedRegionTemplates.json!0x65001054",
cityDescription : "AutomatedRegionTemplates.json!0xbed0416e",
percentageBuildable : "60",
residentialDesirability : "2",
wind : "1",
water : "2",
coal : "1",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1036 : {
cityName : "AutomatedRegionTemplates.json!0xf200ca20",
cityDescription : "AutomatedRegionTemplates.json!0x43bbd3b2",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "2",
rawOre : "1",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1037 : {
cityName : "AutomatedRegionTemplates.json!0xc89ba5c2",
cityDescription : "AutomatedRegionTemplates.json!0x6c6626e0",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1038 : {
cityName : "AutomatedRegionTemplates.json!0x7a74ab21",
cityDescription : "AutomatedRegionTemplates.json!0x4e2a5c9b",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1039 : {
cityName : "AutomatedRegionTemplates.json!0xf518c03b",
cityDescription : "AutomatedRegionTemplates.json!0x5161c759",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1040 : {
cityName : "AutomatedRegionTemplates.json!0x0d077dcb",
cityDescription : "AutomatedRegionTemplates.json!0x46d77c49",
percentageBuildable : "85",
residentialDesirability : "2",
wind : "1",
water : "2",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1041 : {
cityName : "AutomatedRegionTemplates.json!0x8b3ac14e",
cityDescription : "AutomatedRegionTemplates.json!0x696ae814",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
}
}
},
Horizon : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0x951c174f",
regionDescription : "AutomatedRegionTemplates.json!0xd6d707e5",
regionLoadingImage : "Horizon_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0xf3f7420c",
cityDescription : "AutomatedRegionTemplates.json!0x50995986",
percentageBuildable : "100",
residentialDesirability : "2",
wind : "2",
water : "2",
coal : "3",
rawOre : "1",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x2f9dac8a",
cityDescription : "AutomatedRegionTemplates.json!0xb3ae4ee8",
percentageBuildable : "90",
residentialDesirability : "3",
wind : "3",
water : "3",
coal : "2",
rawOre : "2",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0xbd72897a",
cityDescription : "AutomatedRegionTemplates.json!0x60e3f938",
percentageBuildable : "70",
residentialDesirability : "1",
wind : "2",
water : "2",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1029 : {
cityName : "AutomatedRegionTemplates.json!0x53f41f99",
cityDescription : "AutomatedRegionTemplates.json!0xc7f120d3",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "2",
water : "2",
coal : "3",
rawOre : "1",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1030 : {
cityName : "AutomatedRegionTemplates.json!0x8a28cd01",
cityDescription : "AutomatedRegionTemplates.json!0x6058e87b",
percentageBuildable : "95",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "3",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1031 : {
cityName : "AutomatedRegionTemplates.json!0x2b0c60be",
cityDescription : "AutomatedRegionTemplates.json!0xe93de8a4",
percentageBuildable : "85",
residentialDesirability : "2",
wind : "3",
water : "3",
coal : "1",
rawOre : "2",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1032 : {
cityName : "AutomatedRegionTemplates.json!0xde257d60",
cityDescription : "AutomatedRegionTemplates.json!0x325c82f2",
percentageBuildable : "95",
residentialDesirability : "2",
wind : "2",
water : "2",
coal : "3",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1033 : {
cityName : "AutomatedRegionTemplates.json!0x5ce34ea7",
cityDescription : "AutomatedRegionTemplates.json!0xc0d2873d",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "1",
rawOre : "2",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1034 : {
cityName : "AutomatedRegionTemplates.json!0x68564e1a",
cityDescription : "AutomatedRegionTemplates.json!0x0bc7bed8",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "1",
water : "2",
coal : "3",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1035 : {
cityName : "AutomatedRegionTemplates.json!0xe962e8b3",
cityDescription : "AutomatedRegionTemplates.json!0x46050031",
percentageBuildable : "75",
residentialDesirability : "3",
wind : "3",
water : "2",
coal : "3",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1036 : {
cityName : "AutomatedRegionTemplates.json!0x936e88de",
cityDescription : "AutomatedRegionTemplates.json!0x4f2414c4",
percentageBuildable : "95",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
}
}
},
LittleGorge : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0xd29a65a2",
regionDescription : "AutomatedRegionTemplates.json!0x78ddbcc0",
regionLoadingImage : "LittleGorge_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0xc92a4a92",
cityDescription : "AutomatedRegionTemplates.json!0x8f6f6750",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "2",
rawOre : "1",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x45d04896",
cityDescription : "AutomatedRegionTemplates.json!0xe1cd88fc",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "2",
coal : "1",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0xa82d086f",
cityDescription : "AutomatedRegionTemplates.json!0xe9e98b05",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1029 : {
cityName : "AutomatedRegionTemplates.json!0x1df4a59c",
cityDescription : "AutomatedRegionTemplates.json!0x99f78c76",
percentageBuildable : "90",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "2",
rawOre : "1",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1030 : {
cityName : "AutomatedRegionTemplates.json!0x5cd9c204",
cityDescription : "AutomatedRegionTemplates.json!0x992429be",
percentageBuildable : "40",
residentialDesirability : "3",
wind : "1",
water : "1",
coal : "3",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "false",
resources : []
},
1031 : {
cityName : "AutomatedRegionTemplates.json!0x0961088a",
cityDescription : "AutomatedRegionTemplates.json!0x8d71aae8",
percentageBuildable : "70",
residentialDesirability : "3",
wind : "1",
water : "3",
coal : "2",
rawOre : "0",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1032 : {
cityName : "AutomatedRegionTemplates.json!0x98d006d4",
cityDescription : "AutomatedRegionTemplates.json!0xf2a037ee",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "1",
rawOre : "1",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1033 : {
cityName : "AutomatedRegionTemplates.json!0x63629951",
cityDescription : "AutomatedRegionTemplates.json!0x171818eb",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "2",
water : "1",
coal : "1",
rawOre : "3",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1034 : {
cityName : "AutomatedRegionTemplates.json!0x236feb3c",
cityDescription : "AutomatedRegionTemplates.json!0x9f72d116",
percentageBuildable : "70",
residentialDesirability : "2",
wind : "2",
water : "1",
coal : "3",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1035 : {
cityName : "AutomatedRegionTemplates.json!0xbac2a92f",
cityDescription : "AutomatedRegionTemplates.json!0xfef802c5",
percentageBuildable : "60",
residentialDesirability : "2",
wind : "2",
water : "1",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1036 : {
cityName : "AutomatedRegionTemplates.json!0x06619faf",
cityDescription : "AutomatedRegionTemplates.json!0x4a96f945",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "2",
water : "1",
coal : "3",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1037 : {
cityName : "AutomatedRegionTemplates.json!0xade0848b",
cityDescription : "AutomatedRegionTemplates.json!0xea2aec09",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "2",
water : "1",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1038 : {
cityName : "AutomatedRegionTemplates.json!0x39b44a32",
cityDescription : "AutomatedRegionTemplates.json!0xfd7d6af0",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "2",
water : "1",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1039 : {
cityName : "AutomatedRegionTemplates.json!0x5123b7f3",
cityDescription : "AutomatedRegionTemplates.json!0xadc5cf71",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "2",
water : "1",
coal : "3",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1040 : {
cityName : "AutomatedRegionTemplates.json!0xe7bd53be",
cityDescription : "AutomatedRegionTemplates.json!0xa5eedba4",
percentageBuildable : "85",
residentialDesirability : "2",
wind : "2",
water : "1",
coal : "3",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1041 : {
cityName : "AutomatedRegionTemplates.json!0x0010b202",
cityDescription : "AutomatedRegionTemplates.json!0xa6540920",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "2",
water : "1",
coal : "2",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
}
}
},
Reflection : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0xc1822f57",
regionDescription : "AutomatedRegionTemplates.json!0x460f6a8d",
regionLoadingImage : "Reflection_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0x9bd8d2a1",
cityDescription : "AutomatedRegionTemplates.json!0x6f8e841b",
percentageBuildable : "95",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "1",
rawOre : "1",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x22f85786",
cityDescription : "AutomatedRegionTemplates.json!0x9e56010c",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0xf0199aef",
cityDescription : "AutomatedRegionTemplates.json!0x31d61d85",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "2",
coal : "3",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1029 : {
cityName : "AutomatedRegionTemplates.json!0x3a4b861a",
cityDescription : "AutomatedRegionTemplates.json!0xddbcf6d8",
percentageBuildable : "95",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1030 : {
cityName : "AutomatedRegionTemplates.json!0x4d794628",
cityDescription : "AutomatedRegionTemplates.json!0xa207c91a",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1031 : {
cityName : "AutomatedRegionTemplates.json!0x62ce40e8",
cityDescription : "AutomatedRegionTemplates.json!0xb75b30da",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "0",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1032 : {
cityName : "AutomatedRegionTemplates.json!0x2bb5bba8",
cityDescription : "AutomatedRegionTemplates.json!0x80443e9a",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
}
}
},
Sawyer : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0x6e132f95",
regionDescription : "AutomatedRegionTemplates.json!0x29dc43f7",
regionLoadingImage : "Sawyer_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0x50446fac",
cityDescription : "AutomatedRegionTemplates.json!0xace68726",
percentageBuildable : "75",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "1",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x12d985f1",
cityDescription : "AutomatedRegionTemplates.json!0xc690978b",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "3",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1028 : {
cityName : "AutomatedRegionTemplates.json!0x262ca829",
cityDescription : "AutomatedRegionTemplates.json!0xb98c0ac3",
percentageBuildable : "100",
residentialDesirability : "1",
wind : "1",
water : "1",
coal : "3",
rawOre : "0",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1029 : {
cityName : "AutomatedRegionTemplates.json!0xe0ff08c0",
cityDescription : "AutomatedRegionTemplates.json!0x35347b52",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "3",
rawOre : "1",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1030 : {
cityName : "AutomatedRegionTemplates.json!0x2309eecd",
cityDescription : "AutomatedRegionTemplates.json!0x9e7cb28f",
percentageBuildable : "90",
residentialDesirability : "2",
wind : "1",
water : "3",
coal : "3",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1031 : {
cityName : "AutomatedRegionTemplates.json!0x9d428e3c",
cityDescription : "AutomatedRegionTemplates.json!0x19457416",
percentageBuildable : "50",
residentialDesirability : "3",
wind : "1",
water : "3",
coal : "0",
rawOre : "0",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1032 : {
cityName : "AutomatedRegionTemplates.json!0xb79ea2d3",
cityDescription : "AutomatedRegionTemplates.json!0x1440ba51",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "1",
rawOre : "0",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1033 : {
cityName : "AutomatedRegionTemplates.json!0x04223fe4",
cityDescription : "AutomatedRegionTemplates.json!0x3df23d9e",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1034 : {
cityName : "AutomatedRegionTemplates.json!0x48503939",
cityDescription : "AutomatedRegionTemplates.json!0xb9d2d173",
percentageBuildable : "90",
residentialDesirability : "1",
wind : "1",
water : "3",
coal : "2",
rawOre : "0",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "false",
resources : []
},
1035 : {
cityName : "AutomatedRegionTemplates.json!0x3c1a15d1",
cityDescription : "AutomatedRegionTemplates.json!0xefcf956b",
percentageBuildable : "85",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "2",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1036 : {
cityName : "AutomatedRegionTemplates.json!0x53c12390",
cityDescription : "AutomatedRegionTemplates.json!0x87f7f742",
percentageBuildable : "75",
residentialDesirability : "2",
wind : "2",
water : "3",
coal : "3",
rawOre : "0",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1037 : {
cityName : "AutomatedRegionTemplates.json!0x0ab3ddec",
cityDescription : "AutomatedRegionTemplates.json!0x67546266",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "2",
water : "3",
coal : "2",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1038 : {
cityName : "AutomatedRegionTemplates.json!0x4c116989",
cityDescription : "AutomatedRegionTemplates.json!0xdf6f3923",
percentageBuildable : "90",
residentialDesirability : "2",
wind : "2",
water : "3",
coal : "1",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1039 : {
cityName : "AutomatedRegionTemplates.json!0x4aff559d",
cityDescription : "AutomatedRegionTemplates.json!0xe7101d3f",
percentageBuildable : "85",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "1",
rawOre : "0",
crudeOil : "3",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1040 : {
cityName : "AutomatedRegionTemplates.json!0x22d1c569",
cityDescription : "AutomatedRegionTemplates.json!0xb62f9403",
percentageBuildable : "85",
residentialDesirability : "1",
wind : "2",
water : "3",
coal : "2",
rawOre : "2",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
},
1041 : {
cityName : "AutomatedRegionTemplates.json!0xe03a67cb",
cityDescription : "AutomatedRegionTemplates.json!0x1a0a6649",
percentageBuildable : "90",
residentialDesirability : "3",
wind : "2",
water : "3",
coal : "3",
rawOre : "3",
crudeOil : "0",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
}
}
},
Tutorial : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0xbd21955e",
regionDescription : "AutomatedRegionTemplates.json!0x78d72144",
regionLoadingImage : "Tutorial_LoadingBackDrop.png",
labels : {
RiverLabel : {
xCoord : "100",
yCoord : "100",
labelText : "AutomatedRegionTemplates.json!0xf5b3bd7f",
labelAngle : "1"
}
},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0x3ec84615",
cityDescription : "AutomatedRegionTemplates.json!0xfa915a77",
percentageBuildable : "85",
residentialDesirability : "3",
wind : "3",
water : "3",
coal : "0",
rawOre : "2",
crudeOil : "1",
tornadoes : "1",
earthquakes : "1",
rail : "false",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x144f287b",
cityDescription : "AutomatedRegionTemplates.json!0x6e1f5899",
percentageBuildable : "70",
residentialDesirability : "2",
wind : "2",
water : "2",
coal : "0",
rawOre : "1",
crudeOil : "2",
tornadoes : "1",
earthquakes : "1",
rail : "true",
shipping : "true",
resources : []
}
}
},
TwinCities : {
Enabled : 1,
regionName : "AutomatedRegionTemplates.json!0x617c4d77",
regionDescription : "AutomatedRegionTemplates.json!0xe60988ad",
regionLoadingImage : "TwinCities_LoadingBackDrop.png",
labels : {},
cities : {
1026 : {
cityName : "AutomatedRegionTemplates.json!0xe3503852",
cityDescription : "AutomatedRegionTemplates.json!0xa7195810",
percentageBuildable : "80",
residentialDesirability : "1",
wind : "1",
water : "2",
coal : "1",
rawOre : "2",
crudeOil : "2",
tornadoes : "0",
earthquakes : "0",
rail : "false",
shipping : "true",
resources : []
},
1027 : {
cityName : "AutomatedRegionTemplates.json!0x82e6590f",
cityDescription : "AutomatedRegionTemplates.json!0xc71d45a5",
percentageBuildable : "80",
residentialDesirability : "2",
wind : "1",
water : "2",
coal : "1",
rawOre : "2",
crudeOil : "1",
tornadoes : "0",
earthquakes : "0",
rail : "false",
shipping : "true",
resources : []
}
}
}
};
simcity.GameDataRequestIDs = {};
simcity.kDataBins = "bins";
simcity.kDataBinAmount = "binAmount";
simcity.kDataResourceAmount = "resourceAmount";
simcity.kDataProperties = "properties";
simcity.kDataNonSimProperties = "nonSimProperties";
simcity.kDataSimProperties = "simProperties";
simcity.kDataUnitEntryIDSimProperties = "unitEntryIDSimProperties";
simcity.kDataLayers = "layers";
simcity.kDataMaps = "maps";
simcity.kDataSum = "sum";
simcity.kDataConnectedExtractorSum = "connectedExtractorSum";
simcity.kDataCategoryUnits = "categoryUnits";
simcity.kDataPeriodTimes = "periodTimes";
simcity.kDataSpeechBalloonTarget = "speechBalloonTarget";
simcity.kDataCamera = "camera";
simcity.kDataTools = "tools";
simcity.kDataEditor = "editor";
simcity.kDataURLProperty = "urlProperty";
simcity.kExitSurveyURLProperty = "urlProperty";
simcity.kDataDemo = "demo";
simcity.kDataAppProperties = "appProperties";
simcity.kDataActiveBoxId = "activeBoxId";
simcity.kDataActiveCityUID = "ActiveCityUID";
simcity.kDataRegionID = "RegionID";
simcity.kDataLastActiveCityUID = "LastActiveCityUID";
simcity.kDataCommandLine = "commandLine";
simcity.kDataMissions = "missions";
simcity.kDataUnits = "units";
simcity.kDataRegionUnits = "regionUnits";
simcity.kDataSpectator = "spectator";
simcity.kDataConnectedUnits = "connectedUnits";
simcity.kDataCachedUnits = "cachedUnits";
simcity.kDataAgent = "agent";
simcity.kDataActor = "actor";
simcity.kDataUnitUnderMouse = "unitUnderMouse";
simcity.kDataSelectedUnit = "selectedUnit";
simcity.kDataUIToolCategory = "uiToolCategory";
simcity.kDataSelectedTool = "selectedTool";
simcity.kDataResourceKeys = "resourceKeys";
simcity.kDataDoesUnitExist = "doesUnitExist";
simcity.kDataPathCongestion = "pathCongestion";
simcity.kDataGetToyOfType = "getToyOfType";
simcity.kDataCanEditUnit = "canEditUnit";
simcity.kDataCount = "count";
simcity.kDataLayerLegendKey = "layerLegendKey";
simcity.kDataName = "name";
simcity.kToolPaletteCategory = "toolPaletteCategory";
simcity.kDataToolCountUsed = "toolCountUsed";
simcity.kDataToolInfo = "toolInfo";
simcity.kDataToolID = "toolID";
simcity.kDataCursorKey = "cursorKey";
simcity.kDataToolRolloverAnchor = "toolRolloverAnchor";
simcity.kDataEnabled = "enabled";
simcity.kDataPropKey = "propKey";
simcity.kDataFlags = "flags";
simcity.kDataScreenPositionTop = "screenPositionTop";
simcity.kDataCheckFrustum = "checkFrustum";
simcity.kDataScreenPositionSpeechBalloon = "screenPositionSpeechBalloon";
simcity.kDataUnitName = "unitName";
simcity.kDataAudioID = "audioID";
simcity.kDataNonSimPropID = "nonSimPropID";
simcity.kDataUnitRef = "unitRef";
simcity.kDataRolloverAlertInfo = "rolloverAlertInfo";
simcity.kDataConnectedToHighDensityRoad = "connectedToHighDensityRoad";
simcity.kDataConnectedToMediumDensityRoad = "connectedToMediumDensityRoad";
simcity.kDataRolloverBar = "rolloverBar";
simcity.kDataRolloverArrow = "rolloverArrow";
simcity.kDataUIResourceKey = "uiResourceKey";
simcity.kDataUnitOfMeasure = "unitOfMeasure";
simcity.kDataConversionRate = "conversionRate";
simcity.kDataVisualizedDataRequestedUIKeys = "visualizedDataRequestedUIKeys";
simcity.kDataScreenPosition = "screenPosition";
simcity.kDataSimFirstName = "simFirstName";
simcity.kDataSimLastName = "simLastName";
simcity.kDataTransportName = "transportName";
simcity.kDataGender = "gender";
simcity.kDataDestination = "destination";
simcity.kDataSourceName = "sourceName";
simcity.kDataFailToFindSink = "failedToFindSink";
simcity.kDataSourceUnitRegionalBoxUniqueID = "regionalBoxUniqueID";
simcity.kDataShowGoToSource = "showGoToSource";
simcity.kCommandSetSpeechBalloonTarget = "SetSpeechBalloonTarget";
simcity.kDataDeselectUnit = "deselectUnit";
simcity.kDataSelectTool = "selectTool";
simcity.kDataDeselectTool = "deselecttool";
simcity.kDataQuit = "quit";
simcity.kDataQuitApp = "quitapp";
simcity.kDataRequestQuitApp = "requestquitapp";
simcity.kDataToolMessage = "toolMessage";
simcity.kDataExitBuildingEditor = "exitBuildingEditor";
simcity.kDataRunSelectedPlayerRule = "runSelectedUnitPlayerRule";
simcity.kCommandToggleLayer = "toggleLayer";
simcity.kCommandRoadDrawType = "RoadDrawType";
simcity.kCommandSetAppProperty = "SetAppProperty";
simcity.kCommandExitBuildingEditor = "exitBuildingEditor";
simcity.kCommandActivateVignette = "ActivateVignette";
simcity.kCommandDeactivateVignette = "DeactivateVignette";
simcity.kCommandZoomToSpeechBalloon = "zoomToSpeechBalloon";
simcity.kCommandEditBuilding = "editBuilding";
simcity.kCommandCreateUnit = "createUnit";
simcity.kCommandMoveCameraMinusOrientation = "moveCameraMinusOrientation";
simcity.kCommandActivateFollowAgentCam = "ActivateFollowAgentCam";
simcity.kCommandZoomToAgentSource = "ZoomToAgentSource";
simcity.kCommandMoveCameraNoTransition = "MoveCameraNoTransition";
simcity.kRequestNetworkConnectionState = "requestOnlineState";
simcity.globalui = {};
simcity.kWinRootWindowID = 174136993;
simcity.kWinSharedUIParent = 249564985;
simcity.kWinCityUIParent = 172239098;
simcity.kWinRegionUIParent = 203181610;
simcity.kBtnIDQuit = 158422761;
simcity.kBtnIDQuitApp = 246114684;
simcity.kBtnGameManual = 246379005;
simcity.kBtnHelpCenter = 246384586;
simcity.kBtnExposeDebugUI = 219260675;
simcity.kWinDebugToolCategories = 219237770;
simcity.kTxtFldBoxName = 169563268;
simcity.kBtnIDMaps = 158422738;
simcity.kBtnIDCategoryButton = 161711552;
simcity.kTxtIDMoney = 249592169;
simcity.kTxtIDMoneyDelta = 198586409;
simcity.kAnimIDMoney = 197135168;
simcity.kTxtIDIncome = 159532345;
simcity.kTxtIDPopulation = 158773667;
simcity.kTxtIDPopulationDelta = 198586767;
simcity.kTxtBoxName = 216742461;
simcity.kTxtIDDate = 200163084;
simcity.kTxtIDTime = 162918750;
simcity.kWinIDPaletteRoot = 231519198;
simcity.kWinIDPaletteHolder = 161444528;
simcity.kWinIDPalettePanelHolder = 183824299;
simcity.kWinIDMainMenu = 185362957;
simcity.kBtnIDMainMenuToggle = 185363042;
simcity.kBtnIDMainMenuResume = 225389358;
simcity.kBtnIDOpenSettings = 212665064;
simcity.kBtnIDOpenFeedback = 164452089;
simcity.kBtnIDOpenReportBug = 244638429;
simcity.kWinSurveyContainer = 243007821;
simcity.kWinIDMapsPanel = 158422526;
simcity.kWinPopulationContainer = 183039555;
simcity.kWinPopulationAlert = 240659521;
simcity.kWinPopulationCaution = 240659522;
simcity.kWinBudgetContainer = 183039554;
simcity.kWinBudgetAlert = 240659523;
simcity.kWinBudgetCaution = 240659524;
simcity.kBtnIDBudget = 246360712;
simcity.kBtnIDPopulation = 246360711;
simcity.kWinSpeedContainer = 182358354;
simcity.kWinLayerPaletteContainer = 158422526;
simcity.kWinToolRolloverContainer = 201366720;
simcity.kWinMissionParent = 227093279;
simcity.kWinMissionContainer = 202318592;
simcity.kWinTickerParent = 232746452;
simcity.kWinRegionWallParent = 241958979;
simcity.kWinTimeDisplayParent = 242998440;
simcity.kWinSpeechBallonContainer = 204978684;
simcity.kWinCursorAttachmentContainer = 216135210;
simcity.kWinMouseEaterID = 206646030;
simcity.kWinNewspaperContainer = 229101724;
simcity.kRegionMapContainer = 215777055;
simcity.kWinBuildingRolloverContainer = 232027444;
simcity.kWinBoundaryUIContainer = 239706708;
simcity.kModalDialogLayout = 246637496;
simcity.kErrorModalDialogLayout = 246637511;
simcity.kTextModulesUsed = 241052434;
simcity.kWinModulesFree = 240936656;
simcity.kTextModulesFree = 240936658;
simcity.kWinLetterboxRoot = 232569618;
simcity.kAgentQueryContainer = 236703637;
simcity.kCityNameContainer = 240271318;
simcity.kCityNameButton = 240317911;
simcity.kBtnIDCitySpecialization = 249753437;
simcity.kCitySpecializationContainer = 240490279;
simcity.kCitySpecializationLayout = 240500846;
simcity.kCitySpecializationButton = 240502028;
simcity.kCitySpecializationIconNorm = 240504423;
simcity.kCitySpecializationIconHL = 240504422;
simcity.kBtnIDRotateCCW = 213111754;
simcity.kBtnIDRotateCW = 213111738;
simcity.kBtnIDZoomIn = 245598587;
simcity.kBtnIDZoomOut = 245598584;
simcity.kWinRecordingFrame = 252090864;
simcity.kAnimRecordingFrameIntro = 252697226;
simcity.kAnimRecordingFrameExit = 252697228;
simcity.kFriendListContainer = 247683615;
simcity.kBtnFriendList = 247684111;
simcity.kBtnDemandBars = 252673405;
simcity.kNamingArrow = 244027633;
simcity.kNameMoment = 236779191;
simcity.kBtnNameMomentOkay = 236779190;
simcity.kBTNClosePopulation = 240419370;
simcity.kBTNCloseBudget = 240419368;
simcity.kBTNCloseSpecilization = 249136555;
simcity.kRegionWallButton = 207146365;
simcity.kRegionWallAnimation = 247606289;
simcity.kRegionWallSelector = 247597219;
simcity.kBtnRegionCamera = 218561671;
simcity.kRegionUnlockEffect = 243338962;
simcity.kIcnRegionCamera = 242744961;
simcity.kIcnReturnHome = 242744973;
simcity.kToolRegionView = 3189606171;
simcity.kRegionNameButton = 246035777;
simcity.kChallengePanelBtn = 251978275;
simcity.kAchievementPanelBtn = 251978485;
simcity.mRegionWall = {
root : 207067491,
regionWallLayout : 207067491,
formContainer : 207067335,
messagesContainer : 207067631,
closeWindowButton : 207085666
};
simcity.mRegionWallNotifications = {
root : 238255816,
formContainer : 238259810,
messagesContainer : 238257496,
rollOffDetector : 243964989
};
simcity.kBtnIDBulldoze = 244738929;
simcity.kBtnIDToolConfirmed = 234366442;
simcity.kBtnIDToolDenied = 234366463;
simcity.kTextIDToolRequestBody = 228252804;
simcity.kTextIDToolRequestHeader = 245253398;
simcity.kConfirmationDialogIDBulldoze = 234364140;
simcity.kConfirmationDialogIDCantBulldoze = 234364141;
simcity.kTextIDGarbageDump = 4183402092;
simcity.gHistoryData = {};
simcity.kHashGiftIncome = 3914181182;
simcity.kHashGiftExpense = 2231918585;
simcity.kHashLoanIncome = 745060234;
simcity.kHashLoanExpense = 3160622333;
simcity.kHashServiceIncomeFire = 3019235535;
simcity.kHashServiceExpenseFire = 2041225562;
simcity.kHashServiceIncomePolice = 2239186733;
simcity.kHashServiceExpensePolice = 2141287992;
simcity.kHashServiceIncomeGarbage = 1781577056;
simcity.kHashServiceExpenseGarbage = 2383611955;
simcity.kHashServiceIncomeRecycling = 2641622423;
simcity.kHashServiceExpenseRecycling = 3257305088;
simcity.kHashServiceIncomeHealth = 4030353577;
simcity.kHashServiceExpenseHealth = 661513216;
simcity.kHashMarketIncomeCoal = 3712973973;
simcity.kHashMarketExpenseCoal = 3495565962;
simcity.kHashMarketIncomeOilCrude = 2656391789;
simcity.kHashMarketExpenseOilCrude = 483101070;
simcity.kHashMarketIncomeOreRaw = 1614191498;
simcity.kHashMarketExpenseOreRaw = 2539775925;
simcity.kHashMarketIncomeMetal = 3084046345;
simcity.kHashMarketExpenseMetal = 995732584;
simcity.kHashMarketIncomeAlloy = 551171597;
simcity.kHashMarketExpenseAlloy = 1076705332;
simcity.kHashMarketIncomeFuel = 623675788;
simcity.kHashMarketExpenseFuel = 560334699;
simcity.kHashMarketIncomePlastic = 4272449096;
simcity.kHashMarketExpensePlastic = 3465595429;
simcity.kHashMarketIncomeElectronics = 578111185;
simcity.kHashMarketExpenseElectronics = 3662966552;
simcity.kHashMarketIncomeComputer = 1957168923;
simcity.kHashMarketExpenseComputer = 911915180;
simcity.kHashMarketIncomeTelevision = 3772357704;
simcity.kHashMarketExpenseTelevision = 413189567;
simcity.kHashMissionIncome = 1475482796;
simcity.kHashEventIncome = 3321549554;
simcity.kHashEventExpense = 1063940693;
simcity.kHashGreatWorkIncome = 597896678;
simcity.kHashGreatWorkExpense = 463545073;
simcity.kHashResearchExpense = 4253600434;
simcity.kHashCrimeExpense = 4165801275;
simcity.kHashCheatIncome = 900665919;
simcity.kHashVuIncome = 230616923;
simcity.kHashMaxisManExpense = 1827870685;
simcity.kBudgetTypeIncome = 0;
simcity.kBudgetTypeExpense = 1;
simcity.gHistoryData[simcity.kHashGiftIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ebc9e4d"
};
simcity.gHistoryData[simcity.kHashGiftExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ebc9e4d"
};
simcity.gHistoryData[simcity.kHashLoanIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ebc9e4c"
};
simcity.gHistoryData[simcity.kHashLoanExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ebc9e4c"
};
simcity.gHistoryData[simcity.kHashServiceIncomeFire] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ee966a6"
};
simcity.gHistoryData[simcity.kHashServiceExpenseFire] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ee966a6"
};
simcity.gHistoryData[simcity.kHashServiceIncomePolice] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ee966a7"
};
simcity.gHistoryData[simcity.kHashServiceExpensePolice] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ee966a7"
};
simcity.gHistoryData[simcity.kHashServiceIncomeGarbage] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ee966a8"
};
simcity.gHistoryData[simcity.kHashServiceExpenseGarbage] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ee966a8"
};
simcity.gHistoryData[simcity.kHashServiceIncomeRecycling] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ee966a9"
};
simcity.gHistoryData[simcity.kHashServiceExpenseRecycling] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ee966a9"
};
simcity.gHistoryData[simcity.kHashServiceIncomeHealth] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ee966aa"
};
simcity.gHistoryData[simcity.kHashServiceExpenseHealth] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ee966aa"
};
simcity.gHistoryData[simcity.kHashMarketIncomeCoal] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071d6"
};
simcity.gHistoryData[simcity.kHashMarketExpenseCoal] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071d6"
};
simcity.gHistoryData[simcity.kHashMarketIncomeOilCrude] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071d7"
};
simcity.gHistoryData[simcity.kHashMarketExpenseOilCrude] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071d7"
};
simcity.gHistoryData[simcity.kHashMarketIncomeOreRaw] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071d8"
};
simcity.gHistoryData[simcity.kHashMarketExpenseOreRaw] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071d8"
};
simcity.gHistoryData[simcity.kHashMarketIncomeMetal] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071d9"
};
simcity.gHistoryData[simcity.kHashMarketExpenseMetal] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071d9"
};
simcity.gHistoryData[simcity.kHashMarketIncomeAlloy] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071da"
};
simcity.gHistoryData[simcity.kHashMarketExpenseAlloy] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071da"
};
simcity.gHistoryData[simcity.kHashMarketIncomeFuel] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071db"
};
simcity.gHistoryData[simcity.kHashMarketExpenseFuel] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071db"
};
simcity.gHistoryData[simcity.kHashMarketIncomePlastic] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071dc"
};
simcity.gHistoryData[simcity.kHashMarketExpensePlastic] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071dc"
};
simcity.gHistoryData[simcity.kHashMarketIncomeElectronics] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071dd"
};
simcity.gHistoryData[simcity.kHashMarketExpenseElectronics] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071dd"
};
simcity.gHistoryData[simcity.kHashMarketIncomeComputer] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071de"
};
simcity.gHistoryData[simcity.kHashMarketExpenseComputer] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071de"
};
simcity.gHistoryData[simcity.kHashMarketIncomeTelevision] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ed071df"
};
simcity.gHistoryData[simcity.kHashMarketExpenseTelevision] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ed071df"
};
simcity.gHistoryData[simcity.kHashMissionIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0f308b6d"
};
simcity.gHistoryData[simcity.kHashEventIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ec1a303"
};
simcity.gHistoryData[simcity.kHashEventExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ec1a303"
};
simcity.gHistoryData[simcity.kHashGreatWorkIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ec1a4b7"
};
simcity.gHistoryData[simcity.kHashGreatWorkExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ec1a4b7"
};
simcity.gHistoryData[simcity.kHashResearchExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ebc9e4e"
};
simcity.gHistoryData[simcity.kHashCrimeExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ec1b1fe"
};
simcity.gHistoryData[simcity.kHashMaxisManExpense] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeExpense,
label : "0x0ec1b345"
};
simcity.gHistoryData[simcity.kHashVuIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ec1a252"
};
simcity.gHistoryData[simcity.kHashCheatIncome] = {
limit : 20,
data : [],
type : simcity.kBudgetTypeIncome,
label : "0x0ebdb6f5"
};
simcity.kPeriodDay = 0;
simcity.kPeriodWeek = 1;
simcity.kPeriodYear = 2;
simcity.kColorIncomeRed = "#E90707";
simcity.kColorIncomeGreen = "#4fa047";
simcity.kColorIncomeWhite = "#265e94";
simcity.kColorIncomeYellow = "#cd8b00";
simcity.kLocalePlusMoney = new scrui.cLocaleString("GlobalUI.json", "0x0bd6309a");
simcity.kLocaleMinusMoney = new scrui.cLocaleString("GlobalUI.json", "0x0bd63098");
simcity.kLocalePlusPopulation = new scrui.cLocaleString("GlobalUI.json", "0x0bd63099");
simcity.kLocaleMinusPopulation = new scrui.cLocaleString("GlobalUI.json", "0x0bd63097");
simcity.kLocalePlusBudget = new scrui.cLocaleString("GlobalUI.json", "0x0bd63096");
simcity.kLocaleMinusBudget = new scrui.cLocaleString("GlobalUI.json", "0x0bd6309b");
simcity.kLocaleExitSpectatorMode = new scrui.cLocaleString("GlobalUI.json", "0x0ecca237");
simcity.kDefaultToolID = 782826392;
simcity.kRegionToolID = 3189606171;
simcity.kBulldozerToolID = 2536567712;
simcity.kCheatGreatWorksProgress = 230929509;
simcity.kCheatGreatWorksUnlockAll = 231005222;
simcity.kCheatUnlockArcology = 235560148;
simcity.kCheatToggleGreatWorksOperational = 239901155;
simcity.kKeyTrigger_ToggleRegionWall = 2368844905;
simcity.kKeyTrigger_Help = 250974895;
simcity.kKeyTrigger_PopulationPanel = 251031119;
simcity.kKeyTrigger_BudgetPanel = 251030721;
simcity.kKeyTrigger_MayorPanel = 251030734;
simcity.kKeyTrigger_RegionView = 251304918;
simcity.kKeyTrigger_Achievements = 251310872;
simcity.kKeyTrigger_Leaderboards = 251310860;
simcity.kKeyTrigger_Challenges = 251310844;
simcity.kKeyTrigger_Debug_WireArticlePrevious = 252155634;
simcity.kKeyTrigger_Debug_WireArticleNext = 252155648;
simcity.CheatUnitAbandoned = scrui.IDFromName("T_RCI_ToggleAbandoned");
simcity.CheatUnitAirPollution = scrui.IDFromName("T_RCI_ToggleAirPollution");
simcity.CheatUnitCrime = scrui.IDFromName("T_RCI_ToggleCrime");
simcity.CheatUnitFire = scrui.IDFromName("T_RCI_ToggleFire");
simcity.CheatUnitGarbage = scrui.IDFromName("T_RCI_ToggleGarbage");
simcity.CheatUnitGroundPollution = scrui.IDFromName("T_RCI_ToggleGroundPollution");
simcity.CheatUnitHealth = scrui.IDFromName("T_RCI_ToggleHealth");
simcity.CheatUnitHomeless = scrui.IDFromName("T_RCI_ToggleHomeless");
simcity.CheatUnitSewage = scrui.IDFromName("T_RCI_ToggleSewage");
simcity.CheatUnitSimoleans = scrui.IDFromName("T_RCI_SandboxAddSimoleons");
simcity.AllLayerClose = 252706424;
simcity.kLayerKeyPopulationF5 = 251310899;
simcity.kLayerKeyHappinessF6 = 251310908;
simcity.kLayerKeyDesireF7 = 251310951;
simcity.kLayerKeyImportExprtF8 = 251310959;
simcity.kLayerKeyDensityF9 = 251310971;
simcity.kLayerKeyResidentialF10 = 253720323;
simcity.kLayerKeyCommercialF11 = 253720324;
simcity.kLayerKeyIndustrialF12 = 253720325;
simcity.kLayerKeyWater4 = 253720401;
simcity.kLayerKeyCoal5 = 253720402;
simcity.kLayerKeyOre6 = 253720403;
simcity.kLayerKeyOil7 = 253720404;
simcity.kKeyTabPalettes = 253796517;
simcity.kKeyShiftTabPalettes = 253796518;
simcity.gGlobalUIHandler = null;
simcity.kEventIDTownHallBuilt = 1549837312;
simcity.gTimeInfo = {
month : 0,
hour : -1
};
simcity.IsDisasterInProgress = function () {
return 0 < simcity.gGlobalUIHandler.mDisasterActive
};
simcity.GetFudgedPopulation = function (a) {
a = "undefined" !== typeof a ? a : simcity.gGlobalUIHandler.mLastPopulation;
if (500 >= a)
return a;
if (40845 < a)
return Math.floor(8.25 * a);
a = Math.pow(a - 500, 1.2) + 500;
return Math.floor(a)
};
simcity.GetRoundedFudgedPopulation = function (a) {
a = simcity.GetFudgedPopulation(a);
return a = 25E3 < a ? 10 * Math.round(a / 10) : 5 * Math.round(a / 5)
};
simcity.cGlobalUIHandler = function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mBudgetUIContainer = this.mBoxNameTextControl = this.mLastBudgetDelta = this.mIncomeText = this.mLastPopulation = this.mPopulationDeltaText = this.mBottomToolbarControl = this.mPopulationText = this.mWinTimeDisplay = this.mWinDateDisplay = this.mLastMoney = this.mMoneyAnim = this.mMoneyDeltaText = this.mMoneyText = this.mGlobalUILayout = this.mTicker = this.mRegionUIParent = this.mCityUIParent = null;
this.mDisasterActive = this.mLastNumberOfFires =
0;
this.mIsEditorActive = !1;
this.mBudgetCrisisUI = this.mBudgetPanel = this.mMayorRating = this.mPopulationUI = this.mTutorialCallout = this.mBulldozeButton = this.mCityNameUIHandler = this.mAgentQueryUIHandler = this.mAchievementsUIHandler = this.mAvatarManagerHandler = this.mBoundaryUIHandler = this.mToyTaskPanelUIHandler = this.mNewspaperUIHandler = this.mTaxesBasicUIHandler = this.mAlertsUIHandler = this.mCursorAttachmentHandler = this.mSpeechBalloonHandler = this.mToolPaletteUIHandler = this.mLayerUIHandler = this.mSpeedUIHandler =
this.mEventTriggersManager = this.mGameTimeManager = null;
this.mVisibilityCounter = 1;
this.mScreenName = "";
this.mUserSessionId = this.mUserId = 0;
this.mActiveBoxID = "";
this.mMyBoxDataSet = !1;
this.mRegionUnlockEffect = this.mRegionCameraButton = this.mRegionWallButton = this.mRegionMap = this.mChallengeUIHandler = this.mLeaderboardUIHandler = this.mReportContentUIHandler = this.mRegionWallUI = null;
this.mBorderUnitsList = [];
this.mTimeSinceLastUpdate = simcity.cGlobalUIHandler.kGlobalUpdateTime;
this.mMonthlyUpdate = -1;
this.mBuildingRolloverManager =
null;
this.mDemoWarning = this.mIsTimed = this.mIsDemo = this.mTutorialDemo = !1;
this.mCommandLine = "";
this.mIsMainTutorialEnabled = this.mIsTutorialEnabled = !1;
this.mIsEditorEnabled = !0;
this.mIsNameYourCityActive = !1;
this.mRegionMessageRouter = this.mConfirmationDialog = this.mScreenshotCaptureLayout = this.mLetterboxRoot = this.mErrorLayout = this.mAchievementManager = null;
this.mIsServerSandbox = this.mIsSpectatorMode = !1;
this.mCitySpecializationButton = this.mReturnToCityButton = this.mReturnHomeButtonIcon = this.mRegionViewButtonIcon =
null;
this.mGameLoaded = !1;
this.mDemoTimerEndingDelayTimeMS = 18E3;
this.mDemoTimerSCWireDelayTimeMS = 8E3;
this.mDemoTimer = 0;
this.mDemoTimerEndingDelay = this.mDemoTimerSCWireDelay = !1;
this.mRegionViewCommand = scrui.BuildCommand(["selectTool", simcity.kToolRegionView]);
this.mDialogManager = null;
this.mQuitConfirmationShown = !1;
this.mErrorAlertsUIHandler = this.mErrorDialogManager = null;
this.mLocaleStrings = {
kQuitSimcityText : new scrui.cLocaleString("OptionsMenu.json", "0xf446ea05"),
kQuitSimcityConfirmMsg : new scrui.cLocaleString("GameEntry.json",
"0x9b675f8e"),
kQuitText : new scrui.cLocaleString("GameEntry.json", "0xea4b2998"),
kExitToMenuText : new scrui.cLocaleString("OptionsMenu.json", "0x0ea2130f"),
kExitToMenuConfirmationMsg : new scrui.cLocaleString("OptionsMenu.json", "0xf9903b56"),
kExitText : new scrui.cLocaleString("OptionsMenu.json", "0x0ea2130f"),
kCancelText : new scrui.cLocaleString("GameEntry.json", "0x0e3b8b19")
};
this.mBeatCountUpdates = [];
this.mControlsToDestroy = [];
this.mPopulationUIContainer = null;
this.mPopulationTimelineData = {
population : [],
visitors : []
};
this.mRecentTransactionData = {
amount : [],
type : [],
date : [],
label : []
};
this.mLayerButtons = [];
this.mHeavyLayerList = [];
this.mRotateLeft = this.mRotateRight = !1
};
goog.inherits(simcity.cGlobalUIHandler, scrui.cUIHandler);
simcity.cGlobalUIHandler.kGlobalQueries = [scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDSimoleons]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDNumberOfFires]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDDisasterActive])];
simcity.cGlobalUIHandler.kGlobalUpdateTime = 1E3;
simcity.cGlobalUIHandler.prototype.Update = scrui.Client_ProfZone("cGlobalUIHandler.Update", function (a) {
this.mTimeSinceLastUpdate += a;
for (var b = 0, c = this.mControlsToDestroy.length; b < c; ++b)
this.mControlsToDestroy[b].DestroyControl();
this.mControlsToDestroy.length = 0;
simcity.IsPlayingBoxBroken() && (scrui.PostGameCommand(scrui.BuildCommand(["setspeed", simcity.kSpeedPaused])), b = simcity.gGlobalUIHandler.mRegionID, c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.id, b && c && simcity.gSessionManager.SetBoxTarget(b,
c), this.mErrorDialogManager.ShowErrorModal({
dialogType : scrui.kErrorDialogType_ForceQuitToMenu,
message : new scrui.cLocaleString("ErrorMessages.json", "0x0f0696c4")
}));
if (!this.mBoxNameTextControl.nameSet && (b = this.mAPIServerDataUIHandler.GetBoxByBoxUID(this.mRegionID) || null))
this.mBoxNameTextControl.SetText(b.name), this.mBoxNameTextControl.nameSet = !0;
0 <= this.mDemoTimer && (this.mDemoTimer -= a);
0 > this.mDemoTimer && (this.mDemoTimerSCWireDelay ? (this.mDemoTimerSCWireDelay = !1, this.mDemoTimerEndingDelay = !0, this.mDemoTimer =
this.mDemoTimerEndingDelayTimeMS, simcity.EndDemoSCWireEnd()) : this.mDemoTimerEndingDelay && (this.mDemoTimerEndingDelay = !1, simcity.EndDemoEnd()));
if (this.mTimeSinceLastUpdate > simcity.cGlobalUIHandler.kGlobalUpdateTime) {
this.mTimeSinceLastUpdate = 0;
this.UpdateDataBindings(a);
a = simcity.gTimeInfo.month;
-1 === this.mMonthlyUpdate && -1 !== a && (this.mMonthlyUpdate = a);
-1 !== a && this.mMonthlyUpdate !== a && (this.mMonthlyUpdate = a, simcity.UpdatePopulationTimelineData());
this.mRegionCameraButton && !simcity.IsMainTutorialInProgress() &&
this.mRegionCameraButton.SetVisibility(simcity.gGlobalUIHandler.mRegionViewUIHandler.IsDataLoaded());
var d = this;
scrui.RequestGameData(simcity.cGlobalUIHandler.kGlobalQueries, function (a) {
if (d.mMoneyText !== null) {
var b = a[0];
if (b !== d.mLastMoney) {
d.mMoneyText.UpdateLocaleText({
money : b
});
b >= 1E3 ? d.mMoneyText.SetTextColor(simcity.kColorIncomeWhite) : b < 1E3 && b > 0 ? d.mMoneyText.SetTextColor(simcity.kColorIncomeYellow) : b === 0 && d.mMoneyText.SetTextColor(simcity.kColorIncomeRed)
}
d.mLastMoney = b
}
if (d.mPopulationText !==
null) {
b = simcity.kGlobalUIPopulationInfo.populationData.residential.data.total.value;
if (b !== d.mLastPopulation) {
d.mLastPopulation = b;
d.mPopulationText.UpdateLocaleText({
population : simcity.GetFudgedPopulation()
})
}
}
d.UpdateDisasterMusic(a[1])
})
}
});
simcity.cGlobalUIHandler.prototype.InitDataBindingInfo = function () {
for (var a = 0, b = simcity.kGlobalUIDataBindings.length; a < b; ++a) {
var c = simcity.kGlobalUIDataBindings[a];
c.rootControl = gUIManager.FindControlByID(c.rootControlID);
c.hasOwnProperty("init") && c.init()
}
};
simcity.cGlobalUIHandler.prototype.UpdateDataBindings = scrui.Client_ProfZone("cGlobalUIHandler.UpdateDataBindings", function () {
var a = [],
b = [];
simcity.GenerateDataBindingQueries(simcity.kGlobalUIDataBindings, a, null, b, !1, "queries");
simcity.RequestDataBindingData(a, simcity.kGlobalUIDataBindings, b, !1, function (a) {
for (var b = 0, e = simcity.kGlobalUIDataBindings.length; b < e; ++b)
simcity.kGlobalUIDataBindings[b].action(a[b])
})
});
simcity.SetVisibilityHelper = function (a) {
(a = a.win) && a.SetVisibility(!0)
};
simcity.SetBeatCountVisibility = function (a) {
simcity.gGlobalUIHandler.mBeatCountUpdates.push({
callback : simcity.SetVisibilityHelper,
win : a
})
};
simcity.cGlobalUIHandler.prototype.UpdateOnBeat = function () {
this.UpdateDate();
for (var a = 0, b = this.mBeatCountUpdates.length; a < b; ++a) {
var c = this.mBeatCountUpdates[a];
c.callback(c)
}
this.mBeatCountUpdates = []
};
simcity.cGlobalUIHandler.prototype.RemoveFromBeatUpdate = function (a) {
for (var b = 0; b < this.mBeatCountUpdates.length; )
a.ContainsControl(this.mBeatCountUpdates[b].win) ? this.mBeatCountUpdates.splice(b, 1) : ++b
};
simcity.cGlobalUIHandler.kDateTimeQueries = [scrui.BuildRequestQuery([simcity.kDataPeriodTimes, simcity.kPeriodDay]), scrui.BuildRequestQuery([simcity.kDataPeriodTimes, simcity.kPeriodYear]), scrui.BuildRequestQuery([simcity.kDataResourceAmount, simcity.kResourceIDYear])];
simcity.cGlobalUIHandler.prototype.UpdateDate = function () {
if (null !== this.mWinDateDisplay && null !== this.mWinTimeDisplay) {
var a = this;
scrui.RequestGameData(simcity.cGlobalUIHandler.kDateTimeQueries, function (b) {
var c = b[0],
d = b[2],
b = Math.min(Math.floor(12 * b[1]), 11),
e = Math.min(Math.floor(24 * c), 23),
c = Math.min(60 * (24 * c - e), 59),
f = new Date(d + 2E3, b, 1, e, c, 0, 0);
simcity.gTimeInfo.month = b;
simcity.gTimeInfo.hour = e;
simcity.gTimeInfo.year = d;
simcity.gTimeInfo.minute = c;
d = {
sim_dateTime : f,
year : d + 1
};
a.mWinTimeDisplay.SetVisibility(!0);
a.mWinDateDisplay.UpdateLocaleText(d);
a.mWinTimeDisplay.UpdateLocaleText(d)
})
}
};
simcity.cGlobalUIHandler.prototype.UpdateDisasterMusic = function (a) {
0 == this.mLastNumberOfFires && 0 < a ? simcity.SendSoundEvent(simcity.audio.kGlobalSoundObjectID, simcity.audio.kInstancePlayDisasterMusic) : 0 < this.mLastNumberOfFires && 0 == a && simcity.SendSoundEvent(simcity.audio.kGlobalSoundObjectID, simcity.audio.kInstanceStopDisasterMusic);
this.mLastNumberOfFires = a
};
simcity.kToolPaletteCategoryOrder = [2886912260, 831766718, 2391494160, 2654748154, 3441286197, 1732323837, 2092055118, 2678880713, 3677180323, 291106007, 2510935805, 3418519638, 2308696688, 2608627999, 3639785352];
simcity.cGlobalUIHandler.prototype.HandleGameEvent = function (a, b) {
switch (a) {
case simcity.kGameMessageGameLoaded:
this.mGameLoaded = !0;
this.InitErrorManager();
break;
case simcity.kGameMessageDemoTimerEnd:
simcity.EndDemoBegin();
break;
case simcity.kGameMessageDemoTimerWarning:
this.mDemoWarning = !0;
simcity.DemoWarning();
break;
case simcity.kGameMessageBeatCountChanged:
this.UpdateOnBeat();
break;
case simcity.kGameMessageCinematicDisasterStart:
simcity.gGlobalUIHandler.mDisasterActive++;
break;
case simcity.kGameMessageCinematicDisasterEnd:
simcity.gGlobalUIHandler.mDisasterActive--;
break;
case simcity.kGameMessageHistoryUIEvent:
if (simcity.gHistoryData.hasOwnProperty(b.historyIndex)) {
var c = new Date(simcity.gTimeInfo.year + 2E3, simcity.gTimeInfo.month + 1, -1, simcity.gTimeInfo.hour, simcity.gTimeInfo.minute, 0, 0);
simcity.gHistoryData[b.historyIndex].data.length > simcity.gHistoryData[b.historyIndex].limit && simcity.gHistoryData[b.historyIndex].data.pop();
simcity.gHistoryData[b.historyIndex].data.unshift({
amount : b.historyAmount,
date : c
});
simcity.SaveRecentTransactionHistory()
}
break;
case simcity.kGameMessageUnitRuleUIEvent:
switch (b.eventID) {
case simcity.kEventIDWireTradeServiceTokensFireServiceTokenCanGrant:
case simcity.kEventIDWireTradeServiceTokensGarbageServiceTokenCanGrant:
case simcity.kEventIDWireTradeServiceTokensHealthServiceTokenCanGrant:
case simcity.kEventIDWireTradeServiceTokensPoliceServiceTokenCanGrant:
case simcity.kEventIDWireTradeServiceTokensRecyclingServiceTokenCanGrant:
this.mRegionCameraButton.mEnabled &&
!simcity.IsMainTutorialInProgress() && (this.mRegionViewUIHandler.SparklePaletteButton(b.eventID), simcity.SetBeatCountVisibility(this.mRegionUnlockEffect))
}
if (!simcity.IsMainTutorialInProgress() && simcity.kEventIDTownHallBuilt == b.eventID) {
if (c = gUIManager.FindControlByID(simcity.kNameMoment)) {
this.mIsNameYourCityActive = !0;
var d = gUIManager.LoadLayout("Layouts/CityNameMoment.js", c);
d.SetVisibility(!0)
}
break
}
if (!simcity.IsMainTutorialInProgress())
switch (b.eventID) {
case simcity.kEventIDUnlock:
case simcity.kEventIDSilentUnlock:
var e =
b.extraData,
c = scrui.BuildRequestQuery([simcity.kDataTools, e, simcity.kDataName]),
f = scrui.BuildRequestQuery([simcity.kDataTools, e, simcity.kDataProperties, simcity.kPropToolIconKey]),
g = scrui.BuildRequestQuery([simcity.kDataTools, e, simcity.kToolPaletteCategory]);
scrui.RequestGameData([c, f, g], function (a) {
var c = a[0];
scrui.Assert(c, "Tool " + scrui.DecimalToHex(e) + " has no name defined.");
if (c) {
var d = a[2];
simcity.gGlobalUIHandler.mToolPaletteUIHandler.HandleUnlock(e, d.toolPaletteCategories, d.toolPaletteParentCategories);
if (b.eventID === simcity.kEventIDUnlock) {
var f = a[1],
g = scrui.LocaleStringFromLocaleProperty(c);
g.LoadString(function () {
g.popOut = f;
simcity.gGlobalUIHandler.mTicker.HandleUnlock(g)
})
}
}
})
}
break;
case simcity.kMessageEditorActivated:
this.mLayerUIHandler.DeactivateLayer();
scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataDeselectUnit]));
this.mToolPaletteUIHandler.OpenEditorPanel(b.categoryID, b.subCategoryID, b.editorCategoryID, b.unitRef);
simcity.SendSoundEvent(simcity.audio.kGlobalSoundObjectID, simcity.audio.kInstanceUIBuildingEditorActivate);
this.mIsEditorActive = !0;
break;
case simcity.kMessageEditorDeactivated:
null !== this.mToolPaletteUIHandler.mEditedBuildingRef && this.mToolPaletteUIHandler.CloseEditorPanel();
simcity.SendSoundEvent(simcity.audio.kGlobalSoundObjectID, simcity.audio.kInstanceUIBuildingEditorDeactivate);
this.mIsEditorActive = !1;
break;
case simcity.kGameMessageTickerSettingsChanged:
this.mTicker && (this.mTicker.mSettingsChanged = !0);
break;
case simcity.kGameMessageHideGlobalUI:
this.SetVisibility(!1);
break;
case simcity.kGameMessageShowGlobalUI:
this.SetVisibility(!0);
break;
case simcity.kGameMessageShowLetterbox:
this.mLetterboxRoot.SetVisibility(!0);
break;
case simcity.kGameMessageHideLetterbox:
this.mLetterboxRoot.SetVisibility(!1);
break;
case simcity.kGameMessageToolConfirmation:
this.ShowConfirmationDialog(b);
break;
case simcity.kGameMessageToolConfirmationHide:
this.HideConfirmationDialog();
break;
case simcity.kGameMessageWebSocketReceiveUIEvent:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.SOCKETEVENT, b.socketMessage.guid || 0, b.socketMessage.data || {});
break;
case simcity.kGameMessageWebSocketConnected:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.SOCKETCONNECT, null, null);
break;
case simcity.kGameMessageWebSocketDisconnected:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.SOCKETDISCONNECT, null, null);
break;
case simcity.kMessageKeyTrigger:
c = 0 === this.mActiveBoxID || this.mGameLoaded;
if (simcity.IsTutorialInProgress() || simcity.IsOptionMenuVisible() || simcity.IsMouseEatingWindowVisible() || !c)
break;
if (!1 == this.mRegionCameraButton.mIsSelected)
switch (b.triggerCode) {
case simcity.kLayerKeyPopulationF5:
this.mLayerUIHandler.ToggleLayer(simcity.Government.kHeavyLayerPopulation);
break;
case simcity.kLayerKeyHappinessF6:
this.mLayerUIHandler.ToggleLayer(simcity.Cultural.kHappiness);
break;
case simcity.kLayerKeyDesireF7:
this.mLayerUIHandler.ToggleLayer(simcity.Cultural.kHeavyLayerResidentialDesirability);
break;
case simcity.kLayerKeyImportExprtF8:
this.mLayerUIHandler.ToggleLayer(simcity.ImEx.kHeavyLayerImEx);
break;
case simcity.kLayerKeyDensityF9:
this.mLayerUIHandler.ToggleLayer(simcity.Government.kHeavyLayerDensity);
break;
case simcity.kLayerKeyResidentialF10:
this.mLayerUIHandler.ToggleLayer(simcity.Zones.kHeavyLayerResidentialSystem);
break;
case simcity.kLayerKeyCommercialF11:
this.mLayerUIHandler.ToggleLayer(simcity.Zones.kHeavyLayerCommercialSystem);
break;
case simcity.kLayerKeyIndustrialF12:
this.mLayerUIHandler.ToggleLayer(simcity.Zones.kHeavyLayerIndustrialSystem);
break;
case simcity.kLayerKeyWater4:
this.mLayerUIHandler.ToggleLayer(simcity.Fire.kHeavyLayerWaterTable);
break;
case simcity.kLayerKeyCoal5:
this.mLayerUIHandler.ToggleLayer(simcity.Mining.kHeavyLayerCoal);
break;
case simcity.kLayerKeyOre6:
this.mLayerUIHandler.ToggleLayer(simcity.Mining.kHeavyLayerOre);
break;
case simcity.kLayerKeyOil7:
this.mLayerUIHandler.ToggleLayer(simcity.Oil.kHeavyLayerOil);
break;
case simcity.kKeyTrigger_NextHeavyLayer:
this.mToolPaletteUIHandler.mPanelLayout && this.mToolPaletteUIHandler.mPanelLayout.mIsVisible ? this.mToolPaletteUIHandler.CycleHeavyLayer() : (c = this.mLayerUIHandler.GetCurrentActiveLayer(), null == c ? this.mLayerUIHandler.ActivateLayer(this.mHeavyLayerList[0]) : (c = this.mHeavyLayerList.indexOf(c), -1 == c || c == this.mHeavyLayerList.length - 1 ? this.mLayerUIHandler.ActivateLayer(this.mHeavyLayerList[0]) :
this.mLayerUIHandler.ActivateLayer(this.mHeavyLayerList[c + 1])))
}
switch (b.triggerCode) {
case simcity.kKeyTabPalettes:
if (!this.mIsEditorActive && this.mReturnToCityButton.mIsSelected) {
for (c = 0; c < simcity.kToolPaletteCategoryOrder.length && simcity.kToolPaletteCategoryOrder[c] !== this.mToolPaletteUIHandler.mLastSelectedMainCategoryID; c++);
c >= simcity.kToolPaletteCategoryOrder.length - 1 ? this.mToolPaletteUIHandler.OpenToolPanelFromID(simcity.kToolPaletteCategoryOrder[0]) : this.mToolPaletteUIHandler.OpenToolPanelFromID(simcity.kToolPaletteCategoryOrder[c +
1])
}
break;
case simcity.kKeyShiftTabPalettes:
if (!this.mIsEditorActive && this.mReturnToCityButton.mIsSelected) {
for (c = 0; c < simcity.kToolPaletteCategoryOrder.length && simcity.kToolPaletteCategoryOrder[c] !== this.mToolPaletteUIHandler.mLastSelectedMainCategoryID; c++);
0 === c ? this.mToolPaletteUIHandler.OpenToolPanelFromID(simcity.kToolPaletteCategoryOrder[simcity.kToolPaletteCategoryOrder.length - 1]) : c >= simcity.kToolPaletteCategoryOrder.length - 1 ? this.mToolPaletteUIHandler.OpenToolPanelFromID(simcity.kToolPaletteCategoryOrder[simcity.kToolPaletteCategoryOrder.length -
2]) : this.mToolPaletteUIHandler.OpenToolPanelFromID(simcity.kToolPaletteCategoryOrder[c - 1])
}
break;
case simcity.kCheatGreatWorksProgress:
simcity.DEBUG && simcity.CreateUnit("GreatWorks_CheatConstructionProgress");
break;
case simcity.kCheatGreatWorksUnlockAll:
simcity.DEBUG && simcity.CreateUnit("GreatWorks_CheatUnlockAll");
break;
case simcity.kCheatUnlockArcology:
simcity.DEBUG && simcity.CreateUnit("GreatWorks_CheatUnlockArcology");
break;
case simcity.kCheatToggleGreatWorksOperational:
simcity.DEBUG && simcity.CreateUnit("GreatWorks_CheatToggleGreatWorksOperational");
break;
case simcity.kKeyTrigger_ToggleRegionWall:
simcity.gGlobalUIHandler && (c = simcity.gGlobalUIHandler.mRegionWallUI, c.mRegionWallContainer && (f = c.mRegionWallContainer.FindControlByID(c.kControlIDs.FORM_TEXT_AREA).GetText(), simcity.gGlobalUIHandler.mRegionWallButton.mIsSelected && "" === f ? (c.ShowRegionWall(!1), simcity.gGlobalUIHandler.mRegionWallButton.SetSelected(!1), c.RevealRegionWallTextEntry(!1)) : (c.ShowRegionWall(!0), simcity.gGlobalUIHandler.mRegionWallButton.SetSelected(!0), c.RevealRegionWallTextEntry(!0))));
break;
case simcity.kKeyTrigger_PopulationPanel:
c = gUIManager.FindControlByID(248200384);
c = c.FindControlByID(simcity.kBtnIDPopulation);
c.mIsSelected ? c.SetSelected(!1) : (c.SetSelected(!0), this.OpenPopulationPanel());
break;
case simcity.kKeyTrigger_BudgetPanel:
c = gUIManager.FindControlByID(245433542);
c = c.FindControlByID(simcity.kBtnIDBudget);
c.mIsSelected ? c.SetSelected(!1) : (c.SetSelected(!0), this.OpenBudgetPanel());
break;
case simcity.kKeyTrigger_RegionView:
if (this.mIsEditorActive) {
this.mToolPaletteUIHandler.mWaitingCategory =
this.mToolPaletteUIHandler.mEditorCategory;
this.mToolPaletteUIHandler.mRegionViewCounter = -350;
this.mToolPaletteUIHandler.CloseEditorPanel();
break
}
this.mRegionViewUIHandler.IsVisible() ? (c = this.mReturnToCityButton, c.SetSelected(!0), this.mToolPaletteUIHandler.HandleUIMessage(scrui.kMsgTypeButtonClicked, simcity.kBtnReturnToCity, c)) : (this.mRegionCameraButton.SetSelected(!0), this.HandleUIMessage(scrui.kMsgTypeButtonClicked, simcity.kBtnRegionCamera, this.mRegionCameraButton));
break;
case simcity.kKeyTrigger_Achievements:
this.mAchievementsUIHandler &&
this.mAchievementsUIHandler.IsShowing() ? this.mAchievementsUIHandler.Hide() : this.mAchievementsUIHandler.Show();
break;
case simcity.kKeyTrigger_Leaderboards:
this.mLeaderboardUIHandler && this.mLeaderboardUIHandler.IsShowing() ? this.mLeaderboardUIHandler.Hide() : this.mLeaderboardUIHandler.Show(null, ["LBPopulation"]);
break;
case simcity.kKeyTrigger_Challenges:
this.mChallengeUIHandler && this.mChallengeUIHandler.IsShowing() ? this.mChallengeUIHandler.Hide() : this.mChallengeUIHandler.Show();
break;
case simcity.kKeyTrigger_Debug_WireArticlePrevious:
simcity.gGlobalUIHandler.mTicker.DebugShowWireArticle(0);
break;
case simcity.kKeyTrigger_Debug_WireArticleNext:
simcity.gGlobalUIHandler.mTicker.DebugShowWireArticle(1)
}
break;
case simcity.kMessageVideoCaptureStarted:
c = this.mSharedUIParent.FindControlByID(simcity.kWinRecordingFrame);
f = c.FindAnimationByID(simcity.kAnimRecordingFrameExit);
f.Stop();
f = c.FindAnimationByID(simcity.kAnimRecordingFrameIntro);
f.Restart(scrui.cAnimation.kPlayForward);
break;
case simcity.kMessageVideoCaptureFinished:
c = this.mSharedUIParent.FindControlByID(simcity.kWinRecordingFrame);
f =
c.FindAnimationByID(simcity.kAnimRecordingFrameIntro);
f.Stop();
f = c.FindAnimationByID(simcity.kAnimRecordingFrameExit);
f.Restart(scrui.cAnimation.kPlayForward);
f = c.FindControlByID(252694595);
f.UpdateLocaleText({
Local_Directory : b
});
c = f.GetTextWidth() - f.mWidth;
f = f.mParentControl;
f.SetPosition(f.mLeft - c / 2, f.mTop, f.mWidth + c, f.mHeight);
break;
case simcity.kMessageScreenshotTriggered:
this.mScreenshotCaptureLayout && this.mScreenshotCaptureLayout.SetVisibility(!1);
break;
case simcity.kMessageScreenshotCaptured:
c =
null,
this.mScreenshotCaptureLayout || (d = gUIManager.LoadLayout("Layouts/ImageCaptureFeedback.js", this.mSharedUIParent), d.FindControlByID(252762312).UpdateLocaleText({
Local_Directory : b
}), c = d.FindAnimationByID(252762303), c.RegisterEventCallback(scrui.cAnimation.kEventStopped, function () {
simcity.gGlobalUIHandler.mScreenshotCaptureLayout = null;
simcity.gGlobalUIHandler.mControlsToDestroy.push(d)
}), this.mScreenshotCaptureLayout = d),
c || (c = this.mScreenshotCaptureLayout.FindAnimationByID(252762303)),
this.mScreenshotCaptureLayout.SetVisibility(!0),
c.Restart(scrui.cAnimation.kPlayForward)
}
};
simcity.RotateCamera = function (a) {
scrui.PostGameCommand(scrui.BuildCommand(["rotateCamera", a]))
};
simcity.RotateCameraStop = function (a) {
scrui.PostGameCommand(scrui.BuildCommand(["rotateCameraStop", a]))
};
simcity.ZoomCamera = function (a) {
scrui.PostGameCommand(scrui.BuildCommand(["zoomCamera", a]))
};
simcity.cGlobalUIHandler.prototype.EnableSpectatorMode = function () {
this.mIsSpectatorMode = !0;
this.mTicker.mContainer && this.mTicker.mContainer.SetVisibility(!1);
this.mBoundaryUIHandler.mContainerControl.SetVisibility(!1);
this.mMissionUI.mMissionContainer.SetVisibility(!1);
this.mAchievementManager.mAchievementLayout.SetVisibility(!1);
this.mBulldozeButton.SetVisibility(!1);
this.mRegionViewButtonIcon.SetVisibility(!1);
this.mReturnHomeButtonIcon.SetVisibility(!0);
this.mRegionCameraButton.SetTooltipLocaleText(simcity.kLocaleExitSpectatorMode);
this.mReturnToCityButton.SetTooltipLocaleText();
var a = gUIManager.FindControlByID(simcity.kCityNameButton);
simcity.cTutorialManager.prototype.UpdateButtonVisibilityHelper(a, !1);
this.mSpectatorUIHandler = new simcity.cSpectatorUIHandler;
this.mSpectatorUIHandler.Init(this.mCityUIParent);
gUIManager.RegisterUIHandler(this.mSpectatorUIHandler);
this.mSpectatorUIHandler.Show()
};
simcity.cGlobalUIHandler.prototype.OnGlobalUILoaded = function () {
this.mSharedUIParent = gUIManager.FindControlByID(simcity.kWinSharedUIParent);
this.mCityUIParent = gUIManager.FindControlByID(simcity.kWinCityUIParent);
this.mRegionUIParent = gUIManager.FindControlByID(simcity.kWinRegionUIParent);
this.mAPIServerDataUIHandler = new simcity.cAPIServerDataHandler;
this.mAPIServerDataUIHandler.Init(this.mRegionID);
gUIManager.RegisterUIHandler(this.mAPIServerDataUIHandler);
this.mReturnToCityButton = this.mSharedUIParent.FindControlByID(simcity.kBtnReturnToCity);
simcity.SetupCategoryButton(this.mReturnToCityButton, this.mReturnToCityButton);
this.mCitySpecializationButton = this.mSharedUIParent.FindControlByID(simcity.kBtnIDCitySpecialization);
simcity.SetupCategoryButton(this.mCitySpecializationButton, this.mCitySpecializationButton);
this.mMoneyText = this.mSharedUIParent.FindControlByID(simcity.kTxtIDMoney);
this.mMoneyDeltaText = this.mSharedUIParent.FindControlByID(simcity.kTxtIDMoneyDelta);
this.mMoneyAnim = this.mSharedUIParent.FindAnimationByID(simcity.kAnimIDMoney);
this.mIncomeText = this.mSharedUIParent.FindControlByID(simcity.kTxtIDIncome);
this.mPopulationText = this.mSharedUIParent.FindControlByID(simcity.kTxtIDPopulation);
this.mPopulationDeltaText = this.mSharedUIParent.FindControlByID(simcity.kTxtIDPopulationDelta);
this.mWinDateDisplay = this.mSharedUIParent.FindControlByID(simcity.kTxtIDDate);
this.mWinTimeDisplay = this.mSharedUIParent.FindControlByID(simcity.kTxtIDTime);
this.mBottomToolbarControl = this.mSharedUIParent.FindControlByID(247960249);
this.mBoxNameTextControl =
this.mSharedUIParent.FindControlByID(simcity.kTxtBoxName);
this.mBudgetUIContainer = this.mSharedUIParent.FindControlByID(simcity.kWinBudgetContainer);
this.mPopulationUIContainer = this.mSharedUIParent.FindControlByID(simcity.kWinPopulationContainer);
this.mTaxesBasicUIHandler = new simcity.cTaxesBasicUIHandler;
gUIManager.RegisterUIHandler(this.mTaxesBasicUIHandler);
var a = this;
this.mSharedUIParent.FindAnimationByID(246121576).RegisterEventCallback(scrui.cAnimation.kEventStopped, function () {
if (!a.mBudgetUIContainer.mIsVisible) {
a.mBudgetUIContainer.DestroyLayout =
!0;
for (var b = 0; b < simcity.transactionRows.length; b++)
simcity.transactionRows[b].DestroyChildren();
simcity.transactionRows = []
}
});
this.mSharedUIParent.FindAnimationByID(246319415).RegisterEventCallback(scrui.cAnimation.kEventStopped, function () {
a.mPopulationUIContainer.mIsVisible || (a.mPopulationUIContainer.DestroyLayout = !0)
});
simcity.DEBUG && gUIManager.FindControlByID(simcity.kBtnExposeDebugUI).SetVisibility(!0);
this.mGameTimeManager = new simcity.cGameTimeManager;
gUIManager.RegisterUIHandler(this.mGameTimeManager);
this.mLayerUIHandler = new simcity.cLayerUIHandler;
this.mLayerUIHandler.Init();
gUIManager.RegisterUIHandler(this.mLayerUIHandler);
this.mTicker = new simcity.cTicker;
gUIManager.RegisterUIHandler(this.mTicker);
this.mEventTriggersManager = new simcity.cEventTriggersManager;
this.mEventTriggersManager.Init();
gUIManager.RegisterUIHandler(this.mEventTriggersManager);
this.mSpeechBalloonHandler = new simcity.cSpeechBalloonHandler;
gUIManager.RegisterUIHandler(this.mSpeechBalloonHandler);
this.mSpeechBalloonHandler.Init();
this.mCursorAttachmentHandler = new simcity.cCursorAttachmentHandler;
gUIManager.RegisterUIHandler(this.mCursorAttachmentHandler);
this.mCursorAttachmentHandler.Init(gUIManager.FindControlByID(simcity.kWinCursorAttachmentContainer));
this.mToolPaletteUIHandler = new simcity.cToolPaletteUIHandler;
this.mToolPaletteUIHandler.mLayerUIHandler = this.mLayerUIHandler;
var b = new simcity.cKey;
b.group = 161790466;
b.instance = scrui.IDFromName("Global");
this.mToolPaletteUIHandler.mPaletteKey = b;
gUIManager.RegisterUIHandler(this.mToolPaletteUIHandler);
this.mToolPaletteUIHandler.Init(this.mSharedUIParent.FindControlByID(simcity.kWinIDPaletteRoot));
this.mTutorialCallout = new simcity.cTutorialCalloutManager;
gUIManager.RegisterUIHandler(this.mTutorialCallout);
this.mTutorialCallout.Init();
this.mTutorialManager = new simcity.cTutorialManager;
gUIManager.RegisterUIHandler(this.mTutorialManager);
this.mTutorialManager.Init();
this.mIsTutorialEnabled || simcity.gPresenceManager.RefreshPresenceFromServer(function () {
simcity.cOriginUtilities.SetJoinablePresence(a.mRegionID)
});
this.mSpeedUIHandler = new simcity.cSpeedUIHandler;
this.mSpeedUIHandler.Init(gUIManager.FindControlByID(simcity.kWinSpeedContainer));
gUIManager.RegisterUIHandler(this.mSpeedUIHandler);
this.mAlertsUIHandler = new simcity.cAlertsUI;
this.mAlertsUIHandler.Init();
gUIManager.RegisterUIHandler(this.mAlertsUIHandler);
this.mRoadSelectUIHandler = new simcity.cRoadSelectUIHandler;
this.mRoadSelectUIHandler.Init(this.mCityUIParent.FindControlByID(simcity.kWinBuildingRolloverContainer));
gUIManager.RegisterUIHandler(this.mRoadSelectUIHandler);
this.mAchievementsUIHandler = new simcity.cAchievementsUIHandler;
this.mAchievementsUIHandler.Init(gUIManager.FindControlByID(simcity.kWinRootWindowID));
gUIManager.RegisterUIHandler(this.mAchievementsUIHandler);
simcity.InitializeBuildingRollover(this.mCityUIParent.FindControlByID(simcity.kWinBuildingRolloverContainer));
simcity.gOneShotGameEventListener.Initialize();
this.LoadBorderUnits();
this.mRegionWallUI = new simcity.cRegionWallUI;
gUIManager.RegisterUIHandler(this.mRegionWallUI);
this.mRegionWallButton =
this.mSharedUIParent.FindControlByID(simcity.kRegionWallButton);
this.mRegionWallAnimation = this.mSharedUIParent.FindAnimationByID(simcity.kRegionWallAnimation);
this.mRegionCameraButton = gUIManager.FindControlByID(simcity.kBtnRegionCamera);
0 === this.GetBoxID() && this.mRegionCameraButton.SetEnabled(!1);
this.mRegionUnlockEffect = gUIManager.FindControlByID(simcity.kRegionUnlockEffect);
this.mReportContentUIHandler = new simcity.cReportContentUIHandler;
gUIManager.RegisterUIHandler(this.mReportContentUIHandler);
this.mReportContentUIHandler.Initialize(gUIManager.FindControlByID(245173239));
simcity.gDeepLinkManager.InitDeepLink(simcity.gGameDeepLinkMethodInfo.jsonObj);
this.mLeaderboardUIHandler = new simcity.cLeaderboardPanel;
this.mLeaderboardUIHandler.Initialize();
this.mChallengeUIHandler = new simcity.cChallengePanel;
this.mChallengeUIHandler.Initialize();
this.mNewspaperUIHandler = new simcity.cNewspaperUIHandler;
gUIManager.RegisterUIHandler(this.mNewspaperUIHandler);
this.mNewspaperUIHandler.Init(gUIManager.FindControlByID(simcity.kWinNewspaperContainer));
this.mToyTaskPanelUIHandler = new simcity.cToyTaskPanelUIHandler;
gUIManager.RegisterUIHandler(this.mToyTaskPanelUIHandler);
this.mToyTaskPanelUIHandler.Init(gUIManager.FindControlByID(simcity.kWinRootWindowID));
this.mRegionViewUIHandler = new simcity.cRegionViewUIHandler;
this.mRegionViewUIHandler.Init(this.mRegionUIParent);
gUIManager.RegisterUIHandler(this.mRegionViewUIHandler);
this.mAPIServerDataUIHandler.RefreshRegionAPIData();
this.mRegionViewUIHandler.PreloadData();
this.mBoundaryUIHandler = new simcity.cBoundaryUIHandler;
gUIManager.RegisterUIHandler(this.mBoundaryUIHandler);
this.mBoundaryUIHandler.Init(gUIManager.FindControlByID(simcity.kWinBoundaryUIContainer));
this.mAvatarManagerHandler = new simcity.cAvatarManagerHandler;
gUIManager.RegisterUIHandler(this.mAvatarManagerHandler);
this.mAvatarManagerHandler.Init();
simcity.LoadPopulationHistory(this);
this.mBudgetCrisisUI = new simcity.cBudgetCrisisUI;
this.mBudgetCrisisUI.Init();
gUIManager.RegisterUIHandler(this.mBudgetCrisisUI);
this.mMayorRating = new simcity.cMayorRating;
this.mMayorRating.Init();
gUIManager.RegisterUIHandler(this.mMayorRating);
this.mBudgetPanel = new simcity.cBudgetPanel;
this.mBudgetPanel.Init();
gUIManager.RegisterUIHandler(this.mBudgetPanel);
this.mCategoryQueryingHandler = new simcity.cCategoryQueryingHandler;
this.mCategoryQueryingHandler.Init();
gUIManager.RegisterUIHandler(this.mCategoryQueryingHandler);
this.mAchievementManager = simcity.gAchievementManager;
this.mAchievementManager.Init(this.mSharedUIParent, this.mActiveBoxID);
this.mAgentQueryUIHandler =
new simcity.cAgentQueryUIHandler;
this.mAgentQueryUIHandler.Init(gUIManager.FindControlByID(simcity.kAgentQueryContainer));
this.mAchievementsUIHandler.SetAchievementManager(this.mAchievementManager);
gUIManager.RegisterUIHandler(this.mAgentQueryUIHandler);
this.mMissionUI = new simcity.cMissionUI;
gUIManager.RegisterUIHandler(this.mMissionUI);
this.mBulldozeButton = gUIManager.FindControlByID(simcity.kBtnIDBulldoze);
simcity.cCitySpecializationHandler.Init();
this.mRegionMessageRouter = new simcity.cRegionMessageRouter;
this.mRegionMessageRouter.Init();
gUIManager.RegisterUIHandler(this.mRegionMessageRouter);
simcity.gFriendListUIHandler.Initialize(gUIManager.FindControlByID(simcity.kFriendListContainer));
this.mLetterboxRoot = gUIManager.FindControlByID(simcity.kWinLetterboxRoot);
this.mDialogManager = new simcity.gDialog(gUIManager.FindControlByID(simcity.kModalDialogLayout));
this.mErrorDialogManager = new simcity.gErrorDialog(gUIManager.FindControlByID(simcity.kErrorModalDialogLayout));
this.mErrorAlertsUIHandler = new simcity.cErrorAlertsUIHandler;
simcity.gSystemMessageController.OpenSystemMessageSocket(a.OpenSystemMessageSocketCallback);
a = this;
simcity.gGameInvitesController.Initialize();
simcity.gGameInvitesController.inviteCallback = function (b) {
a.mRegionViewUIHandler.SendInvites(b)
};
this.mRegionViewButtonIcon = gUIManager.FindControlByID(simcity.kIcnRegionCamera);
this.mReturnHomeButtonIcon = gUIManager.FindControlByID(simcity.kIcnReturnHome);
this.mMissionUI.Init(gUIManager.FindControlByID(simcity.kWinMissionContainer));
this.mIsSpectatorMode && this.EnableSpectatorMode();
simcity.RegisterIME()
};
simcity.cGlobalUIHandler.prototype.HandleUIMessage = function (a, b, c) {
switch (a) {
case scrui.kMsgTypeButtonGainFocus:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.MOUSEOVER, b.controlID, c);
break;
case scrui.kMsgTypeButtonLoseFocus:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.MOUSEOUT, b.controlID, c);
break;
case scrui.kMsgTypeButtonUp:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.MOUSEUP, b, c);
break;
case scrui.kMsgTypeButtonDown:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.MOUSEDOWN, b,
c);
b == simcity.kBtnIDRotateCCW ? (this.mRotateRight = !0, simcity.RotateCamera(!0)) : b == simcity.kBtnIDRotateCW && (this.mRotateLeft = !0, simcity.RotateCamera(!1));
break;
case scrui.kMsgTypeButtonClicked:
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.CLICK, b, c);
switch (b) {
case simcity.AllLayerClose:
(a = gUIManager.FindControlByID(248193223)) && a.SetSelected(!1);
break;
case simcity.kBTNCloseBudget:
a = gUIManager.FindControlByID(245433542);
a = a.FindControlByID(simcity.kBtnIDBudget);
a.SetSelected(!1);
break;
case simcity.kBTNCloseSpecilization:
a =
gUIManager.FindControlByID(240502028);
a.SetSelected(!1);
break;
case simcity.kBTNClosePopulation:
a = gUIManager.FindControlByID(248200384);
a = a.FindControlByID(simcity.kBtnIDPopulation);
a.SetSelected(!1);
break;
case simcity.kRegionNameButton:
this.mLeaderboardUIHandler.Show(null, ["LBPopulation"]);
break;
case simcity.kChallengePanelBtn:
this.mChallengeUIHandler.Show();
break;
case simcity.kBtnNameMomentOkay:
(a = gUIManager.FindControlByID(simcity.kNameMoment)) && a.DestroyControl();
this.mIsNameYourCityActive = !1;
(this.mNamingArrow = gUIManager.FindControlByID(simcity.kNamingArrow)) && this.mNamingArrow.SetVisibility(!0);
break;
case simcity.kBtnIDMaps:
a = gUIManager.FindControlByID(simcity.kWinIDMapsPanel);
a.SetVisibility(!a.mIsVisible);
break;
case simcity.kBtnIDQuit:
var d = this,
a = {
title : this.mLocaleStrings.kExitToMenuText,
titleParams : null,
message : this.mLocaleStrings.kExitToMenuConfirmationMsg,
messageParams : null,
buttons : [{
text : simcity.gDialog.kButtonCancelText,
onClick : function () {
d.OnQuitConfirmationCancel()
}
}, {
text : this.mLocaleStrings.kExitText,
onClick : function () {
d.QuitToMainMenu()
}
}
]
};
this.mQuitConfirmationShown = !0;
this.mDialogManager.ShowPrompt(a);
break;
case simcity.kBtnIDQuitApp:
d = this;
a = {
title : this.mLocaleStrings.kQuitSimcityText,
titleParams : null,
message : this.mLocaleStrings.kQuitSimcityConfirmMsg,
messageParams : null,
buttons : [{
text : simcity.gDialog.kButtonCancelText,
onClick : function () {
d.OnQuitConfirmationCancel()
}
}, {
text : this.mLocaleStrings.kQuitText,
onClick : function () {
d.mQuitConfirmationShown = !1;
d.mNewspaperUIHandler.Shutdown();
d.mTicker.Shutdown();
scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataRequestQuitApp]))
}
}
]
};
this.mQuitConfirmationShown = !0;
this.mDialogManager.ShowPrompt(a);
break;
case simcity.kBtnGameManual:
simcity.gUIToolbox.OpenSCGameManual();
break;
case simcity.kBtnHelpCenter:
simcity.gUIToolbox.OpenSCHelpSiteWithAuth();
break;
case simcity.kBtnExposeDebugUI:
simcity.DEBUG && (a = gUIManager.FindControlByID(simcity.kWinDebugToolCategories), a.SetVisibility(!a.mIsVisible));
break;
case simcity.kRegionWallButton:
this.mRegionWallUI.ToggleRegionWall(!0);
this.mRegionWallUI.RevealRegionWallTextEntry(!0);
break;
case simcity.kBtnIDMainMenuResume:
this.mSharedUIParent.FindControlByID(simcity.kBtnIDMainMenuToggle).SetSelected(!1);
break;
case simcity.kAchievementPanelBtn:
this.mAchievementsUIHandler.Show();
break;
case simcity.kBtnIDOpenFeedback:
simcity.cOriginUtilities.ShowFeedback();
break;
case simcity.kBtnIDOpenReportBug:
simcity.cOriginUtilities.ShowBugReport();
break;
case simcity.kBtnIDOpenSettings:
scrui.Assert(!this.mSettingsUIHandler);
this.mSettingsUIHandler =
new simcity.cSettingsUIHandler;
this.mSettingsUIHandler.Init(gUIManager.FindControlByID(simcity.kWinRootWindowID), !0);
gUIManager.RegisterUIHandler(this.mSettingsUIHandler);
this.mSettingsUIHandler.Show();
break;
case simcity.kBtnIDToolConfirmed:
this.mTutorialManager.SetModalWindow(this.mConfirmationDialog, !1);
this.mConfirmationDialog.DestroyControl();
this.mConfirmationDialog = null;
scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataToolMessage, scrui.IDFromName("toolConfirmed")]));
break;
case simcity.kBtnIDToolDenied:
this.mTutorialManager.SetModalWindow(this.mConfirmationDialog,
!1);
this.mConfirmationDialog.DestroyControl();
this.mConfirmationDialog = null;
scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataToolMessage, scrui.IDFromName("toolDenied")]));
break;
case simcity.kBtnIDZoomIn:
simcity.ZoomCamera(!0);
break;
case simcity.kBtnIDZoomOut:
simcity.ZoomCamera(!1);
break;
case simcity.kBtnFriendList:
simcity.gFriendListUIHandler.Toggle();
break;
case simcity.kBtnDemandBars:
!this.mIsEditorActive && (!simcity.IsTutorialInProgress() && !this.mRegionViewUIHandler.IsVisible()) && this.mToolPaletteUIHandler.OpenToolPanelHelper(simcity.kCategoryIDZones)
}
break;
case scrui.kMsgTypeButtonSelected:
switch (b) {
case simcity.kBtnRegionCamera:
this.TransitionToRegion();
break;
case simcity.kCityNameButton:
this.mNamingArrow && (this.mNamingArrow.DestroyControl(), delete this.mNamingArrow);
simcity.CreateNameYourCityDialog();
break;
case simcity.kBtnIDBudget:
this.OpenBudgetPanel();
break;
case simcity.kBtnIDPopulation:
this.OpenPopulationPanel();
break;
case simcity.kBtnIDMainMenuToggle:
if (!simcity.gGlobalUIHandler.mIsTimed || !simcity.gGlobalUIHandler.mTutorialDemo)
simcity.IsTutorialInProgress() ||
(this.mRegionCameraButton.mIsSelected ? this.mRegionViewUIHandler.ClosePalette() : (simcity.gGlobalUIHandler.mToolPaletteUIHandler.mEditorLayout.mIsVisible && this.mToolPaletteUIHandler.CloseEditorPanel(), this.mToolPaletteUIHandler.CloseToolPanel())), a = gUIManager.FindControlByID(simcity.kWinIDMainMenu), scrui.PostGameCommand(scrui.BuildCommand(["optionsMenuActive", "true"])), a.SetVisibility(!0), simcity.gGlobalUIHandler.mSpeedUIHandler.GetGameSpeed() != simcity.kSpeedPaused && (simcity.gGlobalUIHandler.mSpeedUIHandler.sPreviousGameSpeed =
simcity.gGlobalUIHandler.mSpeedUIHandler.GetGameSpeed(), scrui.PostGameCommand(scrui.BuildCommand(["setspeed", simcity.kSpeedPaused]))), simcity.IsTutorialInProgress() && simcity.gGlobalUIHandler.mTutorialCallout.SetupCallout()
}
break;
case scrui.kMsgTypeButtonDeselected:
switch (b) {
case simcity.kBtnIDMainMenuToggle:
a = gUIManager.FindControlByID(simcity.kWinIDMainMenu),
a.SetVisibility(!1),
scrui.PostGameCommand(scrui.BuildCommand(["optionsMenuActive", "false"])),
scrui.PostGameCommand(scrui.BuildCommand(["setspeed",
simcity.gGlobalUIHandler.mSpeedUIHandler.sPreviousGameSpeed])),
simcity.IsTutorialInProgress() && simcity.gGlobalUIHandler.mTutorialCallout.SetupCallout()
}
break;
case simcity.kMsgTypeAPIServerDataUpdated:
this.mMyBoxDataSet || (this.mTicker.Init(), this.LoadUserInfo(), this.mMyBoxDataSet = !0),
this.SetBoxName(b),
"function" == typeof simcity.IsTutorialInProgress && (!simcity.IsMainTutorialInProgress() && !this.mIsSpectatorMode && !simcity.IsSandboxRegion()) && this.mAchievementManager.StartRuleProcessing()
}
};
simcity.cGlobalUIHandler.prototype.IsNameYourCityMomentActive = function () {
return this.mIsNameYourCityActive || this.mNamingArrow && this.mNamingArrow.mIsVisible ? !0 : !1
};
simcity.cGlobalUIHandler.prototype.PrintDebugInfo = function () {
if (simcity.DEBUG) {
scrui.DebugPrint("gGlobalUIHandler");
var a = 0,
b;
for (b in simcity.gHistoryData)
a += simcity.gHistoryData[b].data.length;
scrui.DebugPrint(" gHistoryData categories = " + Object.keys(simcity.gHistoryData).length + ", total history items = " + a);
scrui.DebugPrint(" mPopulationTimelineData population = " + this.mPopulationTimelineData.population.length + ", visitors = " + this.mPopulationTimelineData.visitors.length);
scrui.DebugPrint(" mLayerButtons = " +
this.mLayerButtons.length)
}
};
simcity.cGlobalUIHandler.prototype.OpenPopulationPanel = function () {
this.mPopulationUIContainer.mChildren || (this.mPopulationUI = new simcity.cPopulationUI, this.mPopulationUI.Init(this.mPopulationUIContainer), gUIManager.RegisterUIHandler(this.mPopulationUI));
this.mPopulationUIContainer.DestroyLayout = !1;
gUIManager.FindControlByID(simcity.kBtnIDBudget).SetSelected(!1)
};
simcity.cGlobalUIHandler.prototype.OpenBudgetPanel = function () {
this.mBudgetUIContainer.mChildren || gUIManager.LoadAndCacheLayout("Layouts/BudgetUI2.js", this.mBudgetUIContainer);
this.mBudgetUIContainer.DestroyLayout = !1;
this.mTaxesBasicUIHandler.Init(this.mBudgetUIContainer);
gUIManager.FindControlByID(simcity.kBtnIDPopulation).SetSelected(!1);
this.UpdateDataBindings()
};
simcity.cGlobalUIHandler.prototype.Init = function () {
gUIManager.CacheLayouts("BudgetItemTemplate.js GlobalUI/TaxSpinner.js 0x0b074e5a!0x7f0400ad.0x67771f5c 0x0b074e5a!0x284503fe.0x67771f5c PaletteSubCategoryButton.js PaletteLayerToggle2.js AlertTemplate.js PowerAlert.js AlertTemplateNoCountCircleBar.js FireAlert.js 0x0b074e5a!0x5c51d5be.0x67771f5c 0x0b074e5a!0x6791a44f.0x67771f5c MissionObjective.js 0x0b074e5a!0xb9f25a47.0x67771f5c WaterAlert.js 0x0b074e5a!0xaca003fb.0x67771f5c".split(" "));
var a = [scrui.BuildRequestQuery([simcity.kDataEditor,
simcity.kDataEnabled]), scrui.BuildRequestQuery([simcity.kDataURLProperty, simcity.kPropEcoNetRESTAPI]), scrui.BuildRequestQuery([simcity.kDataDemo]), scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDTutorialEnabled]), scrui.BuildRequestQuery([simcity.kDataActiveBoxId]), scrui.BuildRequestQuery([simcity.kDataCommandLine]), scrui.BuildRequestQuery([simcity.kDataSpectator]), scrui.BuildRequestQuery([simcity.kDataActiveCityUID]), scrui.BuildRequestQuery([simcity.kDataRegionID]), scrui.BuildRequestQuery([simcity.kDataLastActiveCityUID])],
b = this;
scrui.RequestGameData(a, function (a) {
gUIManager.RegisterUIHandler(b);
b.mIsEditorActive = a[0];
a[1] && scrui.SetRestPath(a[1]);
b.mGlobalUILayout = gUIManager.LoadLayout("Layouts/GlobalUI2.js");
b.mGlobalUILayout.FindControlByID(simcity.kWinRootWindowID);
var c = a[2];
b.mIsDemo = c.demo;
b.mIsTimed = c.demoTimed;
b.mIsTutorialEnabled = b.CheckMainTutorialActive();
b.mActiveBoxID = a[4] || 0;
b.mCommandLine = a[5];
b.mIsSpectatorMode = a[6];
b.mActiveBoxUID = a[7] || 0;
b.mRegionID = a[8] || 0;
b.OnGlobalUILoaded();
simcity.gConfigurationValues.RestoreFromLocalStorage();
simcity.gConfigurationValues.InitFromServer()
});
this.InitDataBindingInfo();
for (var c = simcity.kLayerRows.length, d = 0; d < c; d++) {
for (var e = simcity.kLayerRows[d].length, a = Array(e), f = 0, g = e; f < g; ++f) {
var h = 3 * f,
i = scrui.RequestStringFromKey(new simcity.cKey(1088479232, simcity.kLayerRows[d][f], scrui.kResourceTypePropertyList));
a[h] = scrui.BuildRequestQuery([simcity.kDataProperties, i, simcity.kPropertyLayerName]);
a[h + 1] = scrui.BuildRequestQuery([simcity.kDataProperties, i, simcity.kPropertyLayerIconKey]);
a[h + 2] = scrui.BuildRequestQuery([simcity.kDataProperties,
i, simcity.kPropertyLayerDarkIconKey])
}
var j = gUIManager.FindControlByID(248187920 + d);
if (!(null == j || void 0 == j)) {
var k = d,
l = this;
scrui.RequestGameData(a, function (a) {
for (var b = e - 1; 0 <= b; --b) {
var c = 3 * b,
d = gUIManager.LoadAndCacheLayout("Layouts/Palette/PaletteLayerToggle2.js", j);
l.mLayerButtons.push(d);
d.SetPosition(b * d.mWidth, 0);
var f = Number(simcity.kLayerRows[k][b]);
d.mUserData = f;
d.mAllLayersButton = !0;
for (var g = d.FindControlByID(231251442).mExposedProperties, h = 0, i = g.length; h < i; ++h) {
var u = g[h],
v = scrui.cProperties.GetPropertyDataByID(u.mPropertyID);
switch (u.mPropertyLabel) {
case "WhiteIcon":
v.mSet(u.mControl, scrui.PathFromResourceKey(a[c + 1]));
break;
case "DarkIcon":
var x = a[c + 2];
x || (x = a[c + 1]);
v.mSet(u.mControl, scrui.PathFromResourceKey(x));
break;
case "TooltipText":
x = a[c];
x = "/" + scrui.DecimalToHex(x.tableID) + "/" + scrui.DecimalToHex(x.stringID);
v.mSet(u.mControl, x);
break;
case "UserData":
v.mSet(u.mControl, f)
}
}
l.mLayerUIHandler.RegisterLayerButton(d)
}
})
}
}
this.mHeavyLayerList = simcity.kLayerCategory1.concat(simcity.kLayerCategory2, simcity.kLayerCategory3,
simcity.kLayerCategory4, simcity.kLayerCategory5, simcity.kLayerCategory6, simcity.kLayerCategory7);
simcity.LoadRecentTransactionHistory()
};
simcity.IsMainTutorialInProgress = function () {
return simcity.gGlobalUIHandler.mIsMainTutorialEnabled
};
simcity.cGlobalUIHandler.prototype.CheckMainTutorialActive = function () {
var a = [scrui.BuildRequestQuery([simcity.kDataBinAmount, simcity.kResourceIDTutorialEnabled])],
b = !1;
scrui.RequestGameData(a, function (a) {
b = 1 == a[0]
});
return simcity.gGlobalUIHandler.mIsMainTutorialEnabled = b
};
simcity.cGlobalUIHandler.prototype.Shutdown = function () {
this.mGlobalUILayout = this.mCityUIParent = null;
gUIManager.UnregisterUIHandler(this.mAvatarManagerHandler);
this.mAvatarManagerHandler.Shutdown();
this.mAvatarManagerHandler = null;
gUIManager.UnregisterUIHandler(this.mBoundaryUIHandler);
this.mBoundaryUIHandler.Shutdown();
this.mBoundaryUIHandler = null;
gUIManager.UnregisterUIHandler(this.mRegionViewUIHandler);
this.mRegionViewUIHandler.Shutdown(this.mRegionUIParent);
this.mRegionViewUIHandler = null;
gUIManager.UnregisterUIHandler(this.mTutorialManager);
this.mTutorialManager.Shutdown();
this.mTutorialManager = null;
gUIManager.UnregisterUIHandler(this.mSpeechBalloonHandler);
this.mSpeechBalloonHandler.Shutdown();
this.mSpeechBalloonHandler = null;
gUIManager.UnregisterUIHandler(this.mCursorAttachmentHandler);
this.mCursorAttachmentHandler.Shutdown();
this.mCursorAttachmentHandler = null;
gUIManager.UnregisterUIHandler(this.mToolPaletteUIHandler);
this.mToolPaletteUIHandler.Shutdown();
this.mToolPaletteUIHandler = null;
gUIManager.UnregisterUIHandler(this.mLayerUIHandler);
this.mLayerUIHandler = null;
gUIManager.UnregisterUIHandler(this.mEventTriggersManager);
this.mEventTriggersManager = null;
gUIManager.UnregisterUIHandler(this.mGameTimeManager);
this.mGameTimeManager = null;
gUIManager.UnregisterUIHandler(handler.mTaxesBasicUIHandler);
this.mTaxesBasicUIHandler = null
};
simcity.cGlobalUIHandler.prototype.TransitionToRegion = function () {
!this.mRegionViewUIHandler.IsVisible() && 0 !== this.GetBoxID() && (this.mLayerUIHandler.DeactivateLayer(), this.mToolPaletteUIHandler.CloseToolPanel(!0), this.mMissionUI.mMissionContainer.SetVisibility(!1), this.mRegionViewUIHandler.EnterRegionView(), this.mIsSpectatorMode && this.mRegionViewUIHandler.ZoomToAndLaunchLastCity(), this.mRegionUnlockEffect.SetVisibility(!1))
};
simcity.cGlobalUIHandler.prototype.OnKeyDown = function (a) {
scrui.cUIHandler.prototype.OnKeyDown.call(this, a)
};
simcity.cGlobalUIHandler.prototype.OnKeyUp = function (a, b, c, d, e) {
scrui.cUIHandler.prototype.OnKeyUp.call(this, a);
e && !c && (a === scrui.kKeyCodeLetterF ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitFire])) : a === scrui.kKeyCodeLetterC ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitCrime])) : a === scrui.kKeyCodeLetterM ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitHealth])) : a === scrui.kKeyCodeLetterA ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit",
simcity.CheatUnitAirPollution])) : a === scrui.kKeyCodeLetterP ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitGroundPollution])) : a === scrui.kKeyCodeLetterH ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitHomeless])) : a === scrui.kKeyCodeLetterS ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitSewage])) : a === scrui.kKeyCodeLetterG ? scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitGarbage])) : a === scrui.kKeyCodeLetterW &&
scrui.PostGameCommand(scrui.BuildCommand(["createUnit", simcity.CheatUnitSimoleans])));
switch (a) {
case scrui.kKeyCodeEscape:
var b = [scrui.BuildRequestQuery(["selectedTool", "toolID"])],
f = this;
scrui.RequestGameData(b, function () {
var a = f.mSharedUIParent.FindControlByID(simcity.kBtnIDMainMenuToggle),
b = gUIManager.FindControlByID(248200384).FindControlByID(simcity.kBtnIDPopulation),
c = gUIManager.FindControlByID(245433542).FindControlByID(simcity.kBtnIDBudget),
d = simcity.gGlobalUIHandler.mSpeechBalloonHandler.GetExpandedSpeechBalloonInfo(),
e = gUIManager.FindControlByID(248193223);
if (!simcity.gGlobalUIHandler.mIsTutorialEnabled)
if (f.mSettingsUIHandler && f.mSettingsUIHandler.InConfirmationSequence())
f.mSettingsUIHandler.AbortConfirmationSequence();
else if (f.mAchievementsUIHandler && f.mAchievementsUIHandler.IsShowing())
f.mAchievementsUIHandler.Hide();
else if (f.mChallengeUIHandler && f.mChallengeUIHandler.IsShowing())
f.mChallengeUIHandler.Hide();
else if (f.mLeaderboardUIHandler && f.mLeaderboardUIHandler.IsShowing())
f.mLeaderboardUIHandler.Hide();
else if (f.mSettingsUIHandler && f.mSettingsUIHandler.IsShowing())
f.mSettingsUIHandler.Hide();
else if (f.mQuitConfirmationShown)
f.mDialogManager.OnEscapePressed();
else if (a && !0 === a.mIsSelected)
a.SetSelected(!1);
else if (f.mImportExportUIHandler)
f.mImportExportUIHandler.Shutdown();
else if (f.mCityNameUIHandler && f.mCityNameUIHandler.IsVisible())
f.mCityNameUIHandler.Hide();
else if (f.mMayorRating.IsVisible())
f.mMayorRating.CloseMayorPanel();
else if (b.mIsSelected)
b.SetSelected(!1);
else if (c.mIsSelected)
c.SetSelected(!1);
else if (d && d.item && !d.item.mIsThoughtBubble)
simcity.gGlobalUIHandler.mSpeechBalloonHandler.OnAskMeLater(d);
else {
var l = !1;
scrui.gUIManager.mRequestManager.PostGameCommand(scrui.BuildCommand(["handleEscapeKey"]), null, function (a) {
l = a
});
l || (null !== f.mLayerUIHandler.mCurrentLayerID ? f.mLayerUIHandler.DeactivateLayer() : e.mIsSelected ? e.SetSelected(!1) : f.mIsEditorActive ? scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataExitBuildingEditor])) : null !== f.mToolPaletteUIHandler && null !== f.mToolPaletteUIHandler.mSelectedCategoryButton ?
f.mToolPaletteUIHandler.CloseToolPanel() : null !== simcity.gGlobalUIHandler.mRegionViewUIHandler && simcity.gGlobalUIHandler.mRegionViewUIHandler.mIsContextPanelActive ? simcity.gGlobalUIHandler.mRegionViewUIHandler.ClosePalette() : f.mRegionWallButton.mIsSelected ? (simcity.SendSoundEvent(simcity.audio.kGlobalSoundObjectID, simcity.audio.kInstanceUIChatWindowClose), gUIManager.FindControlByID(simcity.gGlobalUIHandler.mRegionWallUI.kControlIDs.WALL_BACKGROUND).SetVisibility(!1), gUIManager.FindControlByID(simcity.gGlobalUIHandler.mRegionWallUI.kControlIDs.INPUT_CONTAINER).SetVisibility(!1),
f.mRegionWallButton.SetSelected(!1)) : a.SetSelected(!a.mIsSelected))
}
})
}
if (simcity.DEBUG)
switch (a) {
case scrui.kKeyCodeDigit1:
c && (e && !d) && scrui.RunCheat("scgameui -unlockalltools");
break;
case scrui.kKeyCodeLetterW:
c && (e && !d) && simcity.CreateUnit("T_RCI_AddHourlyIncomeCheat")
}
};
simcity.cGlobalUIHandler.prototype.OnMouseDown = function () {};
simcity.cGlobalUIHandler.prototype.OnMouseUp = function (a, b, c) {
scrui.cUIHandler.prototype.OnMouseUp.call(this, a, b, c);
!0 === this.mRotateRight ? (this.mRotateRight = !1, simcity.RotateCameraStop(!0)) : !0 === this.mRotateLeft && (this.mRotateLeft = !1, simcity.RotateCameraStop(!1))
};
simcity.cGlobalUIHandler.prototype.SetVisibility = function (a) {
this.mVisibilityCounter += a ? 1 : -1;
null !== this.mCityUIParent && this.mCityUIParent.SetVisibility(0 < this.mVisibilityCounter)
};
simcity.cGlobalUIHandler.prototype.GetVisibility = function () {
return 0 < this.mVisibilityCounter
};
simcity.cGlobalUIHandler.prototype.BuildingRolloverLoaded = function (a) {
this.mBuildingRolloverManager = a;
a.mGlobalUI = this
};
simcity.cGlobalUIHandler.prototype.SetBoxName = function (a) {
var b = this.mGlobalUILayout.FindControlByID(simcity.kTxtBoxName);
(a = a.GetMyClaimedBox()) && b.SetText(a.name, !0)
};
simcity.cGlobalUIHandler.prototype.LoadBorderUnits = function () {
var a = this,
b = scrui.BuildRequestQuery(["borderUnits"]);
scrui.RequestGameData([b], function (b) {
for (var b = b[0], d = 0, e = b.length; d < e; ++d) {
var f = scrui.RequestStringFromUnitRef(b[d]);
a.mBorderUnitsList.push(f)
}
})
};
simcity.cGlobalUIHandler.prototype.LoadUserInfo = function () {
if (simcity.gSessionManager.IsSessionActive())
this.mUserSessionId = simcity.gSessionManager.mUserSessionID, this.mUserId = simcity.gSessionManager.mUserID, this.mScreenName = simcity.gSessionManager.mScreenName, this.LoadRegionWall();
else {
var a = this,
b = scrui.BuildRequestQuery([simcity.kDataAppProperties, simcity.kPropNetUserID]);
scrui.RequestGameData([b], function (b) {
a.mUserId = b[0];
Boolean(a.mUserId) && (b = scrui.BuildRequestQuery(["user", a.mUserId]), scrui.RequestRestData([b],
null, scrui.XHR.requestMethods.GET, function (b) {
b = b.json;
null !== b && (a.mScreenName = b.screenName, a.LoadRegionWall())
}, function (a) {
scrui.DebugPrint("[RPC ERROR]:" + a.message)
}, function () {}))
})
}
};
simcity.cGlobalUIHandler.prototype.LoadRegionWall = function () {
gUIManager.FindControlByID(simcity.mRegionWall.root);
var a = gUIManager.FindControlByID(simcity.mRegionWall.regionWallLayout),
b = gUIManager.FindControlByID(simcity.mRegionWall.formContainer),
c = gUIManager.FindControlByID(simcity.mRegionWall.messagesContainer),
d = gUIManager.FindControlByID(simcity.mRegionWallNotifications.messagesContainer),
e = this.mRegionID;
0 !== e && null !== this.mRegionWallUI && this.mRegionWallUI.Init(this.mUserId, this.mUserSessionId,
this, e, a, b.mParentControl, c.mParentControl, d.mParentControl);
gUIManager.FindControlByID(simcity.mRegionWall.root).SetVisibility(!1)
};
simcity.cGlobalUIHandler.prototype.GetBoxID = function () {
return 0 !== this.mActiveBoxID ? this.mActiveBoxID : this.mActiveBoxUID
};
simcity.cGlobalUIHandler.prototype.GetIsDemo = function () {
return this.mIsDemo
};
simcity.cGlobalUIHandler.prototype.ShowConfirmationDialog = function (a) {
var b = this;
switch (a.dialogID) {
case simcity.kConfirmationDialogIDBulldoze:
case simcity.kConfirmationDialogIDCantBulldoze:
var c = [],
d = null,
e = a.dialogID === simcity.kConfirmationDialogIDBulldoze;
e || (d = (new scrui.cLocaleString("DialogMessages.json", "0x0e9e5737", "")).LoadAndGetTextSynchronous());
for (var f in a.unitRefs) {
var g = scrui.RequestStringFromUnitRef(a.unitRefs[f]);
c.push(scrui.BuildRequestQuery(["units", g, "unitName"]))
}
scrui.RequestGameData(c,
function (a) {
var c = "",
f;
for (f in a) {
var g = scrui.TextFromLocaleProperty(a[f]);
if (a[f].stringID === simcity.kTextIDGarbageDump)
var l = (new scrui.cLocaleString("GlobalUI.json", "0x0e1a16d1", "")).LoadAndGetTextSynchronous(), g = g + l;
l = "";
f != a.length - 1 && (l = ", ");
c += g + l
}
b.LoadAndShowConfirmationDialog("Layouts/DialogBoxes/BulldozeDialog.js", c, d, e)
})
}
};
simcity.cGlobalUIHandler.prototype.HideConfirmationDialog = function () {
this.mConfirmationDialog && (this.mTutorialManager.SetModalWindow(this.mConfirmationDialog, !1), this.mConfirmationDialog.DestroyControl(), this.mConfirmationDialog = null)
};
simcity.cGlobalUIHandler.prototype.LoadAndShowConfirmationDialog = function (a, b, c, d) {
(this.mConfirmationDialog = gUIManager.LoadAndCacheLayout(a, this.mSharedUIParent)) ? (b && this.mConfirmationDialog.FindControlByID(simcity.kTextIDToolRequestBody).SetRawText(b), c && this.mConfirmationDialog.FindControlByID(simcity.kTextIDToolRequestHeader).SetRawText(c), d || this.mConfirmationDialog.FindControlByID(simcity.kBtnIDToolDenied).SetVisibility(!1)) : scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataToolMessage,
scrui.IDFromName("toolConfirmation"), !0]));
return !1
};
simcity.ShowError = function (a) {
simcity.gGlobalUIHandler.ShowError(a)
};
simcity.ErrorWindowClosed = function () {
var a = simcity.gGlobalUIHandler;
a.mErrorLayout.DestroyControl();
a.mErrorLayout = null;
scrui.OnErrorWindowClosed(scrui.kErrorResponse_Okay)
};
simcity.cGlobalUIHandler.prototype.InitErrorManager = function () {
var a = this;
gErrorManager.Init();
gErrorManager.RegisterModalDisplayListener(function (b) {
a.mErrorDialogManager.ShowErrorModal(b)
});
gErrorManager.RegisterErrorListener(function (a) {
return simcity.gNetworkStateManager.HandleConnectionError(a)
});
gErrorManager.RegisterErrorListener(function (b) {
return a.InGameErrorHandler(b)
});
gErrorManager.CheckForErrors();
setTimeout(function () {
scrui.PostGameCommand(scrui.BuildCommand([simcity.kRequestNetworkConnectionState]))
},
200)
};
simcity.cGlobalUIHandler.prototype.ShowError = function (a) {
this.mErrorLayout = gUIManager.LoadLayout("Layouts/ErrorModal.js", scrui.gUIManager.GetRootWindow());
this.mErrorLayout.FindControlByID(235662304).SetText(a.message);
var b = "",
c;
for (c in a.cause)
b += c + ":" + scrui.SerializeJSON(a.cause[c]) + "<br/>";
this.mErrorLayout.FindControlByID(242481059).SetText(b);
simcity.gEventManager.AddEventListener(simcity.gEventTypes.CLICK, 235661847, simcity.ErrorWindowClosed);
simcity.gEventManager.AddEventListener(simcity.gEventTypes.CLICK, 235662300,
simcity.ErrorWindowClosed)
};
simcity.cGlobalUIHandler.prototype.QuitToMainMenu = function () {
this.mNewspaperUIHandler.Shutdown();
this.mTicker.Shutdown();
this.mQuitConfirmationShown = !1;
scrui.PostGameCommand(scrui.BuildCommand([simcity.kDataQuit]))
};
simcity.cGlobalUIHandler.prototype.InGameErrorHandler = function (a) {
var b = !1;
if (a.messageType === scrui.cErrorManager.kMsgType_ErrorData) {
if (a.dialogType === scrui.kErrorDialogType_Alert && (this.mErrorAlertsUIHandler.ShowAlertFromErrorData(a), b = !0), a.code === scrui.kErrorCode_RegionLoadFailed)
b = !0, simcity.gLoadingScreenUIHandler.Hide(), this.QuitToMainMenu()
} else if (a.messageType === scrui.cErrorManager.kMsgType_UserResponse)
switch (a.errorCode) {
case scrui.kErrorCode_ForceQuitToMainMenu:
a.response === scrui.kErrorResponse_Quit &&
(simcity.gNetworkStateManager.IsConnected() || this.QuitToMainMenu());
break;
case scrui.kErrorCode_DlcMustMigrateGame:
gUIManager.UnregisterAllUIHandlers(),
simcity.gLoadingScreenUIHandler.Initialize(!0),
simcity.gLoadingScreenUIHandler.Show(),
a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData,
simcity.gLoadingScreenUIHandler.SetRegionByKey(a.mRegionTypeName),
simcity.gLoadingScreenUIHandler.SetCityName(a.mPlayingBox.name)
}
return b
};
simcity.cGlobalUIHandler.prototype.OpenSystemMessageSocketCallback = function (a) {
a && a.message && simcity.gGlobalUIHandler.mErrorAlertsUIHandler.AddAlert(a.message)
};
simcity.cGlobalUIHandler.prototype.OnQuitConfirmationCancel = function () {
this.mQuitConfirmationShown = !1
};
simcity.IsSandboxRegion = function () {
return simcity.gGlobalUIHandler.mIsServerSandbox
};
simcity.IsOptionMenuVisible = function () {
var a = !1,
b = gUIManager.FindControlByID(simcity.kWinIDMainMenu);
b && (a = b.mIsVisible);
return a
};
simcity.BootstrapUIHandler = function () {
this.UIHander = scrui.cUIHandler;
this.UIHander()
};
goog.inherits(simcity.BootstrapUIHandler, scrui.cUIHandler);
simcity.BootstrapUIHandler.prototype.Init = function () {
gUIManager.RegisterUIHandler(this);
var a = this;
scrui.RequestGameData(["isLoadingFinalized"], function (b) {
b[0] && a.InitGlobalUI()
})
};
simcity.BootstrapUIHandler.prototype.HandleGameEvent = function (a) {
switch (a) {
case simcity.kGameMessageGameLoadingFinalized:
this.InitGlobalUI()
}
};
simcity.BootstrapUIHandler.prototype.InitGlobalUI = function () {
simcity.gGlobalUIHandler = new simcity.cGlobalUIHandler;
simcity.gGlobalUIHandler.Init();
gUIManager.UnregisterUIHandler(this)
};
simcity.Initialize = function () {
scrui.Initialize("gameconfig.json");
simcity.InitializeTextUtilities();
simcity.DynamicScriptLoader.LoadAllScripts(function () {
(new simcity.BootstrapUIHandler).Init();
gUIManager.EnableGameEventProcessing()
})
};
simcity.SetBudgetAlertLevel = function (a) {
var b = gUIManager.FindControlByID(simcity.kWinBudgetAlert),
c = gUIManager.FindControlByID(simcity.kWinBudgetCaution);
a === simcity.kAlertLevelCritical ? (b.SetVisibility(!0), c.SetVisibility(!1)) : a === simcity.kAlertLevelCaution || a === simcity.kAlertLevelAlert ? (b.SetVisibility(!1), c.SetVisibility(!0)) : (b.SetVisibility(!1), c.SetVisibility(!1))
};
simcity.SetPopulationAlertLevel = function (a) {
var b = gUIManager.FindControlByID(simcity.kWinPopulationAlert),
c = gUIManager.FindControlByID(simcity.kWinPopulationCaution);
a === simcity.kAlertLevelCritical ? (b.SetVisibility(!0), c.SetVisibility(!1)) : a === simcity.kAlertLevelCaution || a === simcity.kAlertLevelAlert ? (b.SetVisibility(!1), c.SetVisibility(!0)) : (b.SetVisibility(!1), c.SetVisibility(!1))
};
simcity.ForcePuckUIState = function (a) {
var b = gUIManager.FindControlByID(simcity.kBtnRegionCamera),
c = simcity.gGlobalUIHandler.mReturnToCityButton;
b && c && ("region" == a ? (b.SetSelected(!0), c.SetSelected(!1)) : (b.SetSelected(!1), c.SetSelected(!0)))
};
simcity.IsPlayingBoxBroken = function () {
if (simcity.gGlobalUIHandler.mRegionViewUIHandler && simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid) {
var a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid].status;
return "BROKEN" === a || "CHEAT" === a
}
return !1
};
simcity.DebugMarkBoxBroken = function () {
simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid].status = "BROKEN"
};
simcity.DebugMarkBoxOffensive = function (a) {
simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[a].offensive = "true"
};
simcity.RegionViewItem = {};
simcity.kRegionTradeOutgoingTokenPanelID = 239646136;
simcity.kRegionTradeIncomingTokenPanelID = 239644807;
simcity.kViewItemRefreshTime = 6E3 - 2 * Math.floor(1E3 * Math.random());
simcity.kUnclaimedCityPanelIDs = {
claimCityButton : 235820702,
UNOWNED_CITY_NAME : 227712046,
UNOWNED_CITY_DESCRIPTION : 230311473,
UNOWNED_CITY_POPULATION : 233315180,
UNOWNED_CITY_BACKDROP : 244634643,
CLAIM_CITY_BUTTON : 227712054,
INVITE_FRIENDS_BUTTON : 232122122,
PERCENT_BUILDABLE : 244655554,
RAIL_ICON : 244655183,
SHIP_ICON : 244655178,
RATE_RESIDENTIAL : 244655514,
RATE_WIND : 244655517,
RATE_WATER : 244655521,
RATE_OIL : 244655524,
RATE_ORE : 244655526,
RATE_COAL : 244655530
};
simcity.kViewStates = {
claimedGreatWork : 246399310,
claimedCity : 246399325,
unclaimedGreatWork : 246399319,
unclaimedCity : 246399331
};
simcity.kRegionViewGWStates = {
unselected : 241892870,
permit : 241892867,
constructionP1 : 241893046,
constructionP2 : 241893049,
operating : 241892879
};
simcity.kRegionViewItemControlIDs = {
selectedState : 246489309,
hoverState : 246389670,
defaultState : 232731904,
cityNameFieldDefault : 225802565,
cityNameFieldHover : 246552109,
cityNameFieldSelected : 246551998,
cityDescField : 246391408,
lastPlayedText : 246462054,
alertSelectedText : 246635742,
selectedAlertIconsContainer : 247076019,
avatarContainerDefault : 247752254,
avatarContainerHover : 247153112,
hoverAlertIconsContainer : 247760085,
alertHoverText : 247669308,
avatarContainerSelected : 243447774,
gwSubPanelContainer : 241992393,
zoomButton : 250094029,
citySpecHover : 252857463,
citySpecSelected : 252857506,
closeButton : 252071697,
inviteButton : 246461213,
unclaimedDefaultIcon : 255007960,
unclaimedHoverIcon : 255007968,
unclaimedSelectedIcon : 255008020
};
simcity.kRegionViewItemMouseSelectionStates = {
unselected : 246488981,
mouseOver : 246488993,
selected : 246489E3
};
simcity.kRegionViewItemImagePaths = {
REGION_WALL_ACTIVE : "GameEntry/icon-chat.png",
REGION_WALL_INACTIVE : "GameEntry/leftnav-icon-chat.png",
CLAIMED_USER_AVATAR_FRAME : "GameEntry/avatarFrameOn.png",
RAIL_ON : "GameEntry/Play/CityResources-Icon-Rail-On.png",
RAIL_OFF : "GameEntry/Play/CityResources-Icon-Rail-Off.png",
SHIP_ON : "GameEntry/Play/CityResources-Icon-Ship-On.png",
SHIP_OFF : "GameEntry/Play/CityResources-Icon-Ship-Off.png"
};
simcity.cRegionViewItem = function (a) {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mRefreshTimer = 0;
this.mRootLayout = a.mLayout;
this.mUnitRef = a.mUnitRef;
this.mRegionalBoxID = a.mRegionalBoxID;
this.mUnitID = a.mUnitID || 0;
this.mDataBinding = simcity.RegionViewGeneric;
this.mUnderConstruction = a.mUnderConstruction || !1;
this.mIsSelected = a.mIsSelected || !1;
this.mViewItemType = this.mViewUnitType = this.mMouseSelectionState = this.mCurrentState = null;
this.mIsDataLoaded = !1;
this.mDepthIndex = -1;
this.mBoxApiData = {
serverBoxID : 0,
regionalBoxID : 0,
boxName : "",
creatorID : 0,
isClaimed : !1,
unitRef : "0,0"
};
this.mControlCache = {
selectedStateLayer : null,
hoverStateLayer : null,
defaultStateLayer : null,
cityNameFieldDefault : null,
cityNameFieldHover : null,
cityNameFieldSelected : null,
cityDescField : null,
lastPlayedText : null,
alertSelectedText : null,
selectedAlertIconsContainer : null,
avatarContainerDefault : null,
avatarContainerSelected : null,
hoverAlertIconsContainer : null,
alertHoverText : null,
avatarContainerHover : null,
citySpecHover : null,
citySpecSelected : null,
subPanelContainer : null,
unclaimedDefaultIcon : null,
unclaimedHoverIcon : null,
unclaimedSelectedIcon : null
};
this.mCacheDirty = !0;
this.mDataCache = {
boxName : "",
boxCreator : {},
boxType : null
};
this.mRefLayoutsTargetControl = null;
this.mRefLayoutsTargetControlID = 246399331;
this.mDefaultData = this.mActiveLayout = null;
this.mViewItemLayers = {
unclaimedCity : "Layouts/Region/RegionBoxUnclaimedNamePlate.js",
claimedCity : "Layouts/Region/RegionBoxNamePlate.js",
unclaimedGW : "Layouts/Region/RegionGreatWorksUnclaimedNamePlate.js",
claimedGW : "Layouts/Region/RegionGreatWorksClaimedNamePlate.js"
}
};
var kAbandonedCityIcon = "Region_CityAbandoned.png";
goog.inherits(simcity.cRegionViewItem, scrui.cUIHandler);
simcity.cRegionViewItem.prototype.Init = function () {
this.mRefLayoutsTargetControl = this.mRootLayout.FindControlByID(this.mRefLayoutsTargetControlID);
this.PreloadData()
};
simcity.cRegionViewItem.prototype.SetMouseSelectionState = function (a) {
null !== this.mControlCache.hoverStateLayer && (this.mControlCache.hoverStateLayer.SetVisibility(a == simcity.kRegionViewItemMouseSelectionStates.mouseOver), this.mControlCache.defaultStateLayer.SetVisibility(a == simcity.kRegionViewItemMouseSelectionStates.unselected), this.mControlCache.selectedStateLayer.SetVisibility(a == simcity.kRegionViewItemMouseSelectionStates.selected), this.mMouseSelectionState = a, this.mMouseSelectionState === simcity.kRegionViewItemMouseSelectionStates.selected ?
(this.mIsSelected = !0, simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mViewingBox = simcity.gGlobalUIHandler.mAPIServerDataUIHandler.GetBoxByBoxUID(this.mRegionalBoxID)) : (this.mIsSelected = !1, simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mViewingBox = null))
};
simcity.cRegionViewItem.prototype.PreloadData = function () {
function a() {
setTimeout(function () {
b.PreloadData()
}, 500)
}
var b = this;
if (this.mCacheDirty) {
var c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mRegionUnitsLookup[this.mRegionalBoxID];
if (c && this.mRegionalBoxID && simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityDefaultData)
this.mCacheDirty = !1, this.mViewItemType = c.type, this.mDefaultData = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityDefaultData.cities[this.mRegionalBoxID];
else
return a()
}
if ("city" == this.mViewItemType)
if (this.mIsDataLoaded)
this.SetAndCacheViewItemState(simcity.kRegionViewItemControlIDs.defaultState);
else
return this.LoadBoxAPIData(), a();
else
"greatwork" == this.mViewItemType && (this.mIsDataLoaded = !0, this.SetAndCacheViewItemState(simcity.kRegionViewItemControlIDs.defaultState), this.UpdateView_GreatWork())
};
simcity.cRegionViewItem.prototype.Update = scrui.Client_ProfZone("RegionViewItemUpdate", function (a) {
var b = this;
this.mRefreshTimer -= a;
0 >= this.mRefreshTimer && this.mIsDataLoaded && (this.mRefreshTimer = simcity.kViewItemRefreshTime, this.mActiveLayout && (a = [scrui.BuildRequestQuery([simcity.kDataUnits, this.mUnitRef, simcity.kDataPropKey])], scrui.RequestGameData(a, function (a) {
a[0] && a[0].instance && (b.mUnitID = a[0].instance, b.mDataBinding.update(b), "city" == b.mViewItemType ? b.UpdateView_City() : "greatwork" == b.mViewItemType &&
b.UpdateView_GreatWork(b.mRegionalBoxID))
})))
});
simcity.cRegionViewItem.prototype.SetAndCacheViewItemState = function (a) {
if (null == this.mCurrentState || a && a !== this.mCurrentState)
this.mRefLayoutsTargetControl.DestroyChildren(), "city" == this.mViewItemType && (this.mActiveLayout = this.mBoxApiData.isClaimed ? gUIManager.LoadAndCacheLayout(this.mViewItemLayers.claimedCity, this.mRefLayoutsTargetControl) : gUIManager.LoadAndCacheLayout(this.mViewItemLayers.unclaimedCity, this.mRefLayoutsTargetControl)), "greatwork" == this.mViewItemType && (this.mActiveLayout = gUIManager.LoadAndCacheLayout(this.mViewItemLayers.unclaimedGW,
this.mRefLayoutsTargetControl)), this.mControlCache.selectedStateLayer = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.selectedState), this.mControlCache.hoverStateLayer = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.hoverState), this.mControlCache.defaultStateLayer = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.defaultState), this.mControlCache.cityNameFieldDefault = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.cityNameFieldDefault),
this.mControlCache.cityNameFieldSelected = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.cityNameFieldSelected), this.mControlCache.cityNameFieldHover = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.cityNameFieldHover), this.mControlCache.lastPlayedText = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.lastPlayedText), this.mControlCache.alertSelectedText = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.alertSelectedText),
this.mControlCache.selectedAlertIconsContainer = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.selectedAlertIconsContainer), this.mControlCache.hoverAlertIconsContainer = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.hoverAlertIconsContainer), this.mControlCache.alertHoverText = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.alertHoverText), this.mControlCache.avatarContainerDefault = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.avatarContainerDefault),
this.mControlCache.avatarContainerSelected = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.avatarContainerSelected), this.mControlCache.avatarContainerHover = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.avatarContainerHover), this.mControlCache.zoomButton = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.zoomButton), this.mControlCache.closeButton = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.closeButton), this.mControlCache.citySpecHover =
this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.citySpecHover), this.mControlCache.citySpecSelected = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.citySpecSelected), this.mControlCache.selectedAlertBackground = this.mActiveLayout.FindControlByID(253983693), this.mControlCache.hoverAlertBackground = this.mActiveLayout.FindControlByID(253983845), this.mControlCache.unclaimedDefaultIcon = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.unclaimedDefaultIcon),
this.mControlCache.unclaimedHoverIcon = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.unclaimedHoverIcon), this.mControlCache.unclaimedSelectedIcon = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.unclaimedSelectedIcon), "greatwork" == this.mViewItemType && (this.mControlCache.subPanelContainer = this.mActiveLayout.FindControlByID(simcity.kRegionViewItemControlIDs.gwSubPanelContainer)), this.mCurrentState = a
};
simcity.cRegionViewItem.prototype.LoadBoxAPIData = function () {
var a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[this.mRegionalBoxID];
if (this.mBoxData = a)
this.mBoxApiData = {
serverBoxID : a.id,
regionalBoxID : a.uid,
boxName : a.name,
creatorID : a.creatorId,
isClaimed : "true" == a.isClaimed ? !0 : !1,
unitRef : a.unitRef,
status : a.status,
offensive : a.offensive
},
this.mIsDataLoaded = !0
};
simcity.cRegionViewItem.prototype.UpdateView_City = function () {
this.LoadBoxAPIData();
if (this.mBoxApiData.isClaimed) {
var a = this.mBoxApiData.boxName;
null !== this.mControlCache.cityNameFieldDefault && (this.mControlCache.cityNameFieldDefault.SetRawText(a || " "), this.mControlCache.cityNameFieldSelected.SetRawText(a || " "), this.mControlCache.cityNameFieldHover.SetRawText(a || " "), this.mActiveLayout.FindControlByID(158166954) || (a = this.mCurrentState, this.mCurrentState = null, this.SetAndCacheViewItemState(a)), "ACTIVE" !==
this.mBoxApiData.status ? (this.mActiveLayout.FindControlByID(252426255).SetVisibility(!0), this.mActiveLayout.FindControlByID(255199553).SetVisibility(!1)) : (this.mBoxApiData.creatorID == simcity.gGlobalUIHandler.mUserId && this.mActiveLayout.FindControlByID(246462065).SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e9d1b75", "Load")), this.mBoxApiData.regionalBoxID == simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid && this.mActiveLayout.FindControlByID(235774183).SetVisibility(!1),
"true" == this.mBoxApiData.offensive && this.mBoxApiData.creatorID != simcity.gGlobalUIHandler.mUserId && this.mActiveLayout.FindControlByID(235774183).SetVisibility(!1)), this.mBoxApiData.regionalBoxID && (this.mActiveLayout.FindControlByID(158166954) && simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityTradeData[this.mBoxApiData.regionalBoxID].localData) && (this.mActiveLayout.FindControlByID(158166954).SetTextFromNumber(simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityTradeData[this.mBoxApiData.regionalBoxID].localData.data.budget),
this.mActiveLayout.FindControlByID(158773667).SetTextFromNumber(simcity.GetFudgedPopulation(simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityTradeData[this.mBoxApiData.regionalBoxID].localData.data.population))), (this.mBoxApiData.creatorID || simcity.IsMainTutorialInProgress()) && (simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayers[this.mBoxApiData.creatorID] && this.mActiveLayout.FindControlByID(230895427)) && this.mActiveLayout.FindControlByID(230895427).SetRawText(simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayers[this.mBoxApiData.creatorID].screenName),
(a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[this.mBoxApiData.regionalBoxID]) ? (a = simcity.gUIToolbox.PrettyDateUtcMs(a.updated), this.mControlCache.lastPlayedText.SetRawText(a)) : this.mControlCache.lastPlayedText.SetRawText(""), this.HandleAlertTextAndIcons(), this.SetupAvatar(this.mControlCache.avatarContainerDefault, this.mBoxApiData, "default"), this.SetupAvatar(this.mControlCache.avatarContainerSelected, this.mBoxApiData, "selected"), this.SetupAvatar(this.mControlCache.avatarContainerHover,
this.mBoxApiData, "hover"), a = simcity.gGlobalUIHandler.mBoundaryUIHandler.GetCitySpecialization(Number(this.mBoxApiData.regionalBoxID)), this.mControlCache.citySpecHover.SetWindowImage(simcity.cBoundaryUIHandler.kCitySpecializationIcons[a]), this.mControlCache.citySpecSelected.SetWindowImage(simcity.cBoundaryUIHandler.kCitySpecializationIcons[a]))
} else if (this.mRegionalBoxID || !this.mRegionData.mCityDefaultData) {
var b = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityDefaultData.cities[this.mRegionalBoxID];
b && this.mActiveLayout && (a = scrui.ParseLocaleString(b.cityName), b = scrui.ParseLocaleString(b.cityDescription), simcity.gGlobalUIHandler.mIsDemo && 1026 === this.mRegionalBoxID && this.mActiveLayout.FindControlByID(simcity.kUnclaimedCityPanelIDs.claimCityButton).SetVisibility(!1), null !== this.mControlCache.cityNameFieldDefault && (this.mControlCache.cityNameFieldDefault.SetLocaleText(a), this.mControlCache.cityNameFieldSelected.SetLocaleText(a), this.mControlCache.cityNameFieldHover.SetLocaleText(a), this.IsBoxAbandoned(this.mRegionalBoxID) &&
(this.mControlCache.unclaimedDefaultIcon.SetWindowImage(kAbandonedCityIcon), this.mControlCache.unclaimedHoverIcon.SetWindowImage(kAbandonedCityIcon), this.mControlCache.unclaimedSelectedIcon.SetWindowImage(kAbandonedCityIcon)), (a = this.mActiveLayout.FindControlByID(241277033)) && a.SetLocaleText(b)), this.ShowRatingsOverlay())
}
};
simcity.cRegionViewItem.prototype.UpdateView_GreatWork = function (a) {
this.HandleGreatWorksRegionViewItemText(a)
};
simcity.cRegionViewItem.prototype.HandleAlertTextAndIcons = function () {
this.DetermineAlertText();
this.mBoxApiData.regionalBoxID != simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid && (simcity.gGlobalUIHandler.mAvatarManagerHandler.AddAlertIcons(this.mBoxApiData.regionalBoxID, this.mControlCache.selectedAlertIconsContainer, this.mControlCache.selectedAlertBackground), simcity.gGlobalUIHandler.mAvatarManagerHandler.AddAlertIcons(this.mBoxApiData.regionalBoxID, this.mControlCache.hoverAlertIconsContainer,
this.mControlCache.hoverAlertBackground))
};
simcity.cRegionViewItem.prototype.DetermineAlertText = function () {
var a = this.mBoxApiData.regionalBoxID,
b = this.mControlCache.alertSelectedText,
c = this.mControlCache.alertHoverText;
b.SetTextColor("rgb(0,150,0)");
c.SetTextColor("rgb(0,150,0)");
if (a != simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mPlayingBox.uid) {
b.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ef414f0", "Doing O.K."));
c.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ef414f0", "Doing O.K."));
for (var d = {
greatworkDatabinding : simcity.kRegionDataLayers.greatwork,
utilDatabinding : simcity.kRegionDataLayers.utilities,
servicesDatabinding : simcity.kRegionDataLayers.services,
commuterDatabinding : simcity.kRegionDataLayers.commuters,
giftingDatabinding : simcity.kRegionDataLayers.gifting,
transportDatabinding : simcity.kRegionDataLayers.transport
}, e = Object.keys(d), f = 0, g = e.length; f < g; f++)
for (var h = d[e[f]], i = h.layers.length, j = 0; j < i; j++) {
var k = h.layers[j];
if ("greatworkDatabinding" != e[f] && (k = simcity.gGlobalUIHandler.mAvatarManagerHandler.GetNeedText(a,
k.key))) {
b.SetTextColor("rgb(200,0,0)");
c.SetTextColor("rgb(200,0,0)");
b.SetLocaleText(k);
c.SetLocaleText(k);
return
}
}
} else
b.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e1258ef", "Working")), c.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e1258ef", "Working"))
};
simcity.cRegionViewItem.prototype.SetupAvatar = function (a, b, c) {
a = {
playerID : b.creatorID,
layoutInfo : a,
isBoxClaimed : b.isClaimed,
isMyBox : simcity.gGlobalUIHandler.mRegionViewUIHandler.IsOwnCity(b.regionalBoxID),
isCurrentBox : !1,
showAlerts : !1,
group : c + "RegionViewItem" + b.regionalBoxID,
serverBoxID : b.serverBoxID,
boxID : b.regionalBoxID
};
simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(a)
};
simcity.cRegionViewItem.prototype.ShowRatingsOverlay = function () {
if (this.mActiveLayout) {
var a = this.mActiveLayout.FindControlByID(250083618),
b = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityDefaultData.cities[this.mRegionalBoxID];
simcity.gUIToolbox.ToBoolean(b.rail) ? a.FindControlByID(simcity.kUnclaimedCityPanelIDs.RAIL_ICON).SetWindowImage(simcity.kRegionViewItemImagePaths.RAIL_ON) : a.FindControlByID(simcity.kUnclaimedCityPanelIDs.RAIL_ICON).SetWindowImage(simcity.kRegionViewItemImagePaths.RAIL_OFF);
simcity.gUIToolbox.ToBoolean(b.shipping) ? a.FindControlByID(simcity.kUnclaimedCityPanelIDs.SHIP_ICON).SetWindowImage(simcity.kRegionViewItemImagePaths.SHIP_ON) : a.FindControlByID(simcity.kUnclaimedCityPanelIDs.SHIP_ICON).SetWindowImage(simcity.kRegionViewItemImagePaths.SHIP_OFF);
this.SetRatingsImage(b.residentialDesirability, a, "RATE_RESIDENTIAL");
this.SetRatingsImage(b.wind, a, "RATE_WIND");
this.SetRatingsImage(b.water, a, "RATE_WATER");
this.SetRatingsImage(b.crudeOil, a, "RATE_OIL");
this.SetRatingsImage(b.rawOre,
a, "RATE_ORE");
this.SetRatingsImage(b.coal, a, "RATE_COAL")
}
};
simcity.cRegionViewItem.prototype.SetRatingsImage = function (a, b, c) {
var d = null;
if (a && b && c) {
switch (a) {
case "3":
d = "Graphics/GameEntry/Play/CityResources-Rating-3.png";
break;
case "2":
d = "Graphics/GameEntry/Play/CityResources-Rating-2.png";
break;
case "1":
d = "Graphics/GameEntry/Play/CityResources-Rating-1.png";
break;
case "0":
d = "Graphics/GameEntry/Play/CityResources-Rating-0.png";
break;
default:
d = "Graphics/GameEntry/Play/CityResources-Rating-0.png"
}
(a = b.FindControlByID(simcity.kUnclaimedCityPanelIDs[c])) && a.SetWindowImage(d)
}
};
simcity.cRegionViewItem.prototype.HandleGreatWorksRegionViewItemText = function (a) {
var b = this.mControlCache.cityNameFieldHover,
c = this.mControlCache.cityNameFieldSelected,
d = this.mActiveLayout.FindControlByID(250357829),
e = this.mActiveLayout.FindControlByID(250352716);
d.SetVisibility(!0);
e.SetVisibility(!0);
var f = simcity.gGlobalUIHandler.mRegionViewUIHandler.GetConnectedGWID();
if (!f || a != f)
a != f && (d.SetVisibility(!1), e.SetVisibility(!1), b.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0f07bfe5",
"Great Works")), c.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0f07bfe5", "Great Works")));
else if (f = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionViewItems[f].mUnitRef, a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mGWLowerPanelUI.GetPhaseDetails()) {
var g = scrui.LocaleStringFromLocaleProperty(a.name);
b.SetLocaleText(g);
c.SetLocaleText(g);
e && d && (a.isSelected && 0 < a.isSelected.amount || a.greatWorksOperationalStage ? null !== a.greatWorksOperationalStage ? a.isOperating ? (e.SetLocaleText(new scrui.cLocaleString("RegionView.json",
"0x0e9d1acf", "operating")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e9d1acf", "operating"))) : null != a.enoughWorkers && 0 === a.enoughWorkers ? (e.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ef15aa6", "needs workers")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ef15aa6", "needs workers"))) : null != a.powerOperational && 0 === a.powerOperational.amount ? (e.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e125921", "needs power")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json",
"0x0e125921", "needs power"))) : null != a.waterOperational && 0 === a.waterOperational.amount ? (e.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e212f83", "needs water")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0e212f83", "needs water"))) : null != a.closedByMission && 1 == a.closedByMission.amount && (e.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ed1aac3", "stalled")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ed1aac3", "stalled"))) : a.constructionStage ?
(b = new scrui.cLocaleString("RegionView.json", "0x0e9d184f", "Phase " + a.constructionStage.amount + " of " + a.constructionStage.capacity), c = {
amount : a.constructionStage.amount,
total : a.constructionStage.capacity
}, e.SetLocaleText(b), e.UpdateLocaleText(c), d.SetLocaleText(b), d.UpdateLocaleText(c)) : (e.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ed1a9ab", "waiting on permit")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0ed1a9ab", "waiting on permit"))) : this.mUnitRef == f ? (e.SetLocaleText(new scrui.cLocaleString("RegionView.json",
"0x0eb1e492", "Build a great work")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0eb1e492", "Build a great work"))) : (e.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0f0fa650", "GW outside your cluster")), d.SetLocaleText(new scrui.cLocaleString("RegionView.json", "0x0f0fa650", "GW outside your cluster"))))
}
};
simcity.cRegionViewItem.prototype.IsBoxAbandoned = function (a) {
return (a = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mBoxes[a]) ? "true" == a.abandoned : !1
};
simcity.RegionViewUI = {};
simcity.kBtnReturnToCity = 218562830;
simcity.kRegionView_CityNameText = 225802565;
simcity.kRegionView_UserNameText = 226095096;
simcity.kRegionView_AvatarPortrait = 226095099;
simcity.kRegionView_BoxNamePlate = 231598340;
simcity.kRegionView_UnclaimedBoxNamePlate = 232731904;
simcity.kRegionView_ViewCityButton = 250094029;
simcity.kRegionView_BtnCloseViewItem = 252071697;
simcity.kRegionView_Region2DMapContainer = 234715398;
simcity.kRegionView_DataLayerButton = 243622211;
simcity.kRegionView_DataLayerButtonOn = 243623003;
simcity.kRegionView_DataLayerButtonIconNormal = 164725874;
simcity.kRegionView_DataLayerButtonIconNormalOn = 227699592;
simcity.kRegionView_DataLayerButtonIconOpportunity = 215602420;
simcity.kRegionView_DataLayerWindowNeedExistsAnim = 245953381;
simcity.kRegionView_DataLayerButtonIconCritical = 215602425;
simcity.kRegionView_DataLayerButtonAnimTradeOpportunity = 219781060;
simcity.kRegionView_AvatarContainerWindow = 243442179;
simcity.kRegionView_AvatarContainerLowerWindow = 243447774;
simcity.kRegionView_DataLayerToggleOffButton = 231259684;
simcity.kRegionView_DataLayerWeathHideButtonAnim = 245429781;
simcity.kRegionView_RegionalBudgetText = 225479831;
simcity.kRegionView_RegionalPopulationText = 225479834;
simcity.kRegionView_GreatWorksChooserParent = 227633383;
simcity.kRegionView_GreatWorksResourcesContainer = 231802349;
simcity.kRegionView_GreatWorksChooserContainer = 227633381;
simcity.kRegionView_GreatWorksChooserCloseButton = 227641527;
simcity.kRegionView_GreatWorksChooserButton = 241884925;
simcity.kRegionView_GreatWorksResourceText = 227703106;
simcity.kRegionView_GreatWorksResourceProgressBar = 227703110;
simcity.kRegionView_GreatWorksResourceHitBox = 227968109;
simcity.kRegionView_GreatWorksUnclaimedNameplate = 231587612;
simcity.kRegionView_GreatWorksClaimedNameplate = 231606597;
simcity.kRegionview_GreatWroksUILowerContainer = 248180702;
simcity.kRegionView_BoxNameTextField = 225802565;
simcity.kRegionView_GreatWorkNameField = 231796660;
simcity.kRegionView_ConstructionStatusText = 231796651;
simcity.kRegionView_ConstructionStatusTextRed = 232538548;
simcity.kRegionView_LaunchSatelliteButton = 234650417;
simcity.kRegionView_LaunchSatelliteOKButton = 234651022;
simcity.kRegionView_BuildSatelliteButton = 241718977;
simcity.kRegionView_HomeBoxCityName = 243527088;
simcity.kRegionView_HomeBoxAvatar = 243530043;
simcity.kRegionView_HomeBoxCitySpecialization = 244132854;
simcity.kRegionView_HomeBoxBudget = 244132655;
simcity.kRegionView_HomeBoxPopulation = 244132657;
simcity.kRegionView_HomeBoxButton = 244559969;
simcity.kRegionView_LegendCloseButton = 246810102;
simcity.kRegionView_GreatWorksPrerequisiteParent = 227885861;
simcity.kRegionView_GreatWorksPrerequisiteContainer = 227886156;
simcity.kRegionView_GreatWorksPrerequisiteText = 227911178;
simcity.kRegionView_IntroductionDialogButton = 228252202;
simcity.kRegionView_LowerPanelSelfCity = 235061844;
simcity.kRegionView_LowerPanelFriendCity = 235059129;
simcity.kRegionView_LowerPanelUnclaimedCity = 235820907;
simcity.kRegionView_LowerPanelGreatWork = 235059279;
simcity.kLowerPanelStates = [simcity.kRegionView_LowerPanelSelfCity, simcity.kRegionView_LowerPanelFriendCity, simcity.kRegionView_LowerPanelUnclaimedCity, simcity.kRegionView_LowerPanelGreatWork];
simcity.kRegionView_LowerPanelCloseButton = 250601676;
simcity.kRegionView_LowerPanelIDs = {
mCityPanels : {
mCityNameText : 230894814,
mCityNameDesc : 241277033,
mCreatorNameText : 230895427,
mAvatarWindow : 231332822,
mImportingText : 236033545,
mExportingText : 236033486,
mBudgetText : 158166954,
mPopulationText : 158773667
}
};
simcity.kRegionView_MapToolTip_Container = 235599011;
simcity.kRegionView_MapToolTip_BoxName = 235599035;
simcity.kRegionView_MapToolTip_PlayerName = 235599038;
simcity.kRegionView_MapToolTip_Avatar = 235599032;
simcity.kRegionView_ContextPanelAnim = 236380019;
simcity.kRegionView_ContextPanelContainer = 236383413;
simcity.kGWCompleteOKButton = 231523245;
simcity.kGWPostCompleteOKButton = 232626346;
simcity.kWinLegendContainer = 235169418;
simcity.kWinTradeUI_ImportIconsContainer = 236015426;
simcity.kWinTradeUI_ExportIconsContainer = 236015423;
simcity.kWinTradeUI_VisitedTodayText = 232653395;
simcity.kWinTradeUI_LeftTodayText = 232653398;
simcity.kWinTradeUI_ImportingText = 224861873;
simcity.kWinTradeUI_ExportingText = 212592636;
simcity.kWinTradeUI_ImportingIcon = 212592634;
simcity.kWinTradeUI_ExportingIcon = 224855208;
simcity.kWinTradeUI_Tooltip = 243708346;
simcity.kWinTradeUI_IncreaseButton = 224854884;
simcity.kWinTradeUI_DecreaseButton = 224854887;
simcity.kWinTradeUI_DecreaseButton = 224854887;
simcity.kWinTradeUI_ToggleIncomingButton = 225310131;
simcity.kWinTradeUI_ToggleDebugButton = 224872493;
simcity.kWinTradeUI_CheatConnectionButton = 224958037;
simcity.kWinTradeUI_ToggleAdvancedModeButton = 225306938;
simcity.kWinTradeUI_TokenButton = 234973153;
simcity.kWinTradeUI_TokenBackground = 234973154;
simcity.kPropSpaceCenter_N = 4260807725;
simcity.kPropSpaceCenter_4U = 1040446595;
simcity.kPropSpaceCenterSatellite_U = 971803745;
simcity.kPropSpaceCenterSatellite_N = 971803770;
simcity.kPropTrading_MapHandler = 4257293625;
simcity.kTradeTypeNormal = 0;
simcity.kTradeTypePending = 1;
simcity.kTradeTypeBidirectional = 2;
simcity.kTradeTypePendingBidirectional = 3;
simcity.kMissionResources = [simcity.kResourceIDMissionResource1, simcity.kResourceIDMissionResource2, simcity.kResourceIDMissionResource3, simcity.kResourceIDMissionResource4, simcity.kResourceIDMissionResource5, simcity.kResourceIDMissionResource6, simcity.kResourceIDMissionResource7, simcity.kResourceIDMissionResource8];
simcity.kMissionLocalResources = [simcity.kResourceIDLocalMissionResource1, simcity.kResourceIDLocalMissionResource2, simcity.kResourceIDLocalMissionResource3, simcity.kResourceIDLocalMissionResource4, simcity.kResourceIDLocalMissionResource5, simcity.kResourceIDLocalMissionResource6, simcity.kResourceIDLocalMissionResource7, simcity.kResourceIDLocalMissionResource8];
simcity.kReturnToCityCommand = scrui.BuildCommand([simcity.kDataToolMessage, scrui.IDFromName("returntocity")]);
simcity.kRegionViewUpdateTimeMS = 1E3;
simcity.kRegionViewDataUpdateTimeMS = 3E3;
simcity.kRegionViewUpdateTimeInCityMS = 6E4;
simcity.RegionUnit = function (a) {
return {
localUnitRef : a.localUnitRef || null,
regionalUnitRef : a.regionalUnitRef || null,
type : a.type || null
}
};
simcity.RegionUnitTypes = {
CITY : "city",
GREATWORK : "greatwork"
};
simcity.cRegionViewUIHandler = function () {
this.UIHandler = scrui.cUIHandler;
this.UIHandler();
this.mTimeSinceLastDataUpdate = this.mTimeSinceLastUpdate = 0;
this.mRegionViewItemsContainerWindow = this.mRootWindow = null;
this.mRegionViewItems = {};
this.mSortedItemsList = [];
this.mSelectedUnitRef = simcity.kInvalidUnitRef;
this.mSelectedUnitID = 0;
this.mGWCompleteDialog = this.mIntroductionDialog = this.mHighlightedGreatWorkResource = this.mHighlightedGreatWorkOption = this.mMousedOverRegionViewItem = this.mSelectedRegionViewItem =
null;
this.mGWToolTipSelected = !1;
this.mRegionMapData = this.mRegionMap = this.mLaunchDialog = this.mGWPostCompletionDialog = null;
this.mViewingTradeUnitRefList = [];
this.mActiveLowerPanel = this.mLowerPanelState = this.mViewingUnitRef = null;
this.mCurrTotalPlayers = 0;
this.allowViewCity = !0;
this.mContextPanelDataBinding = this.mContextPanelAnim = this.mWinExportIconsContainer = this.mWinImportIconsContainer = null;
this.mIsContextPanelActive = !1;
this.mSelectedDataControl = this.mSelectedDataLayerID = this.mCashGiftUI = this.mTradeUI =
this.mContextPanelObj = this.mContextPanelData = this.mContextPanelContainer = null;
this.mInitialDataUpdate = this.mTradeUnitsLoaded = this.mGreatWorkDataLoaded = this.mServerDataChanged = this.mShouldUpdateDataLayerContextPanel = !1;
this.mDataLayerButtonHideAnim = this.mRegionAdvisors = this.mGWLowerUIContainer = this.mRegionalPopulationText = this.mRegionalBudgetText = null;
this.mLayerButtons = [];
this.mIsLoadingBox = this.mIsClaimingBox = !1;
this.mLowerPanels = {
mPlayingCity : {
mControl : null,
mTextCityName : null,
mTextCreatorName : null,
mWindowAvatar : null,
mTextImporting : null,
mTextExporting : null,
mTextBudget : null,
mTextPopulation : null
},
mFriendCity : {
mControl : null,
mTextCityName : null,
mTextCreatorName : null,
mWindowAvatar : null,
mTextImporting : null,
mTextExporting : null,
mTextBudget : null,
mTextPopulation : null
},
mUnclaimedCity : {
mControl : null,
mTextCityName : null,
mTextCityDesc : null
},
mGreatWorks : {
mControl : null
}
};
this.mLowerPanelStateControls = [];
this.mRegionTradeUnitList = [];
this.mRegionData = {
mRegionName : "",
mRegionTypeName : "",
mCityDefaultData : null,
mMapData : {},
mBoxes : {},
mPlayers : {},
mCities : {},
mPlayingBox : {},
mViewingBox : {},
mGreatWorksLocal : {},
mGreatWorksRegional : {},
mConnectedUnits : {},
mConnectedGreatWorkUnitRef : null,
mRegionUnitsLookup : {},
mCityTradeData : {},
mTotals : {
players : 0,
cities : 0,
boxes : 0,
tradeUnits : 0
}
};
this.mDataLayerButtonSparkles = {};
this.mResourceUIKeyValidationObj = null;
this.mRequestedVisualizedDataUIKeys = {};
this.mChangedVisualizedData = {};
this.mRequestedTradeDataResourceUIKeys = null;
this.mInitialTradeDataRequestCompleted = !1
};
goog.inherits(simcity.cRegionViewUIHandler, scrui.cUIHandler);
simcity.cRegionViewUIHandler.DepthSort = function (a, b) {
return a.mLayout.mTop - b.mLayout.mTop
};
simcity.cRegionViewUIHandler.SetBoxDataFromServer = function (a, b) {
var c = b.GetBoxByRegionID(a.mRegionalBoxID),
d = a.mLayout.FindControlByID(simcity.kRegionView_CityNameText);
simcity.gGlobalUIHandler.mRegionViewUIHandler.ShowRegionMap(simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mMapData);
if (c) {
var e = c.name || "";
d.SetRawText(e, !0);
"true" == c.isClaimed ? (a.mLayout.FindControlByID(simcity.kRegionView_BoxNamePlate).SetVisibility(!0), a.mLayout.FindControlByID(simcity.kRegionView_UnclaimedBoxNamePlate).SetVisibility(!1),
a.mLayout.FindControlByID(233337247).SetRawText(e), d = a.mLayout.FindControlByID(simcity.kRegionView_AvatarContainerWindow), c = {
playerID : c.creatorId,
layoutInfo : d,
isBoxClaimed : "true",
isMyBox : simcity.gGlobalUIHandler.mRegionViewUIHandler.IsOwnCity(c.uid),
isCurrentBox : !1,
showAlerts : !1,
group : "regionView",
specialization : 0,
serverBoxID : c.id,
boxID : c.uid
}, simcity.gGlobalUIHandler.mAvatarManagerHandler.AddSubscription(c), a.pollServer = !1) : (a.mLayout.FindControlByID(simcity.kRegionView_BoxNamePlate).SetVisibility(!1),
a.mLayout.FindControlByID(simcity.kRegionView_UnclaimedBoxNamePlate).SetVisibility(!0), (c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityDefaultData) && d.SetLocaleText(scrui.ParseLocaleString(c.cities[a.mRegionalBoxID].cityName)))
} else
a.mLayout.FindControlByID(simcity.kRegionView_BoxNamePlate).SetVisibility(!1), a.mLayout.FindControlByID(simcity.kRegionView_UnclaimedBoxNamePlate).SetVisibility(!0), (c = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData.mCityDefaultData) && d.SetLocaleText(scrui.ParseLocaleString(c.cities[a.mRegionalBoxID].cityName))
};
simcity.cRegionViewUIHandler.prototype.Update = scrui.Client_ProfZone("cRegionViewUIHandler.Update", function (a) {
this.UpdateData(a);
this.UpdateVisuals(a)
});
simcity.cRegionViewUIHandler.prototype.UpdateData = scrui.Client_ProfZone("cRegionViewUIHandler.UpdateData", function (a) {
this.mTimeSinceLastDataUpdate += a;
var b = this,
a = this.IsVisible() ? simcity.kRegionViewDataUpdateTimeMS : simcity.kRegionViewUpdateTimeInCityMS;
if (this.mTimeSinceLastDataUpdate > a) {
b.mTimeSinceLastDataUpdate = 0;
this.UpdateRegionViewList();
for (var c = [], d = simcity.gGlobalUIHandler.mBorderUnitsList.length, a = 0; a < d; ++a)
c[a] = scrui.BuildRequestQuery(["units", simcity.gGlobalUIHandler.mBorderUnitsList[a],
"bins", simcity.kResourceRegionalBoxUniqueID]);
scrui.RequestGameData(c, function (a) {
for (var c = 0; c < d; c++) {
var e = a[c] || null;
e && (b.mRegionData.mConnectedUnits[e.amount.toString()] = simcity.gGlobalUIHandler.mBorderUnitsList[c])
}
});
c = simcity.gGlobalUIHandler.mAPIServerDataUIHandler;
c.isGameEntry = !1;
for (var a = 0, e = this.mRegionViewItems.length; a < e; ++a) {
var f = this.mRegionViewItems[a];
f.pollServer && simcity.cRegionViewUIHandler.SetBoxDataFromServer(f, c)
}
if (0 === b.mRegionData.mTotals.tradeUnits) {
for (var g in this.mRegionData.mBoxes)
scrui.RequestGameData([scrui.BuildRequestQuery(["RegionTradeUnits",
g])], function (a) {
var c = !1;
b.mRegionData.mCityTradeData.hasOwnProperty(g.toString()) || (b.mRegionData.mCityTradeData[g] = {
connections : {}
}, c = !0);
for (var d = 0, e = a.length; d < e; d++)
for (var f = a[d], m = 0, n = f.length; m < n; m++) {
var p = f[m];
b.mRegionData.mCityTradeData[g].connections[p.toCity] = {
connectionUnitRef : p.tradeUnitRef.slot + "," + p.tradeUnitRef.stamp
};
if (c) {
var q = g.toString(),
o = simcity.gGlobalUIHandler.mRegionViewUIHandler.mRegionData;
o.mRegionUnitsLookup.hasOwnProperty(q) ? o.mRegionUnitsLookup[q].regionalUnitRef =
scrui.RequestStringFromUnitRef(p.tradeUnitRef) : o.mRegionUnitsLookup[q] = new simcity.RegionUnit({
regionalUnitRef : scrui.RequestStringFromUnitRef(p.tradeUnitRef),
type : simcity.RegionUnitTypes.CITY
})
}
}
b.mRegionData.mTotals.tradeUnits++
});
this.mTradeUnitsLoaded = !0
}
this.UpdateGreatWorksResources();
this.UpdateRegionResourceData();
this.UpdateRegionGreatWorksResourceData();
this.UpdateRegionalAlerts();
this.UpdateHomeBox();
this.mSelectedDataControl && this.mShouldUpdateDataLayerContextPanel && (this.UpdateDataLayerContextPanel(),
this.mShouldUpdateDataLayerContextPanel = !1);
this.mServerDataChanged = !1
}
});
simcity.cRegionViewUIHandler.prototype.UpdateVisuals = scrui.Client_ProfZone("cRegionViewUIHandler.UpdateVisuals", function (a) {
if (this.IsVisible() && (this.DepthSortRegionViewItems(), this.mTimeSinceLastUpdate += a, this.mTimeSinceLastUpdate > simcity.kRegionViewUpdateTimeMS || this.mServerDataChanged))
this.mTimeSinceLastUpdate = 0, this.ShowLowerPanel(), this.UpdateRegionalInfoPanel(), this.UpdateGWUnlockSparkleChecker(), this.mGWLowerPanelUI.Update()
});
simcity.cRegionViewUIHandler.prototype.DepthSort = function (a, b) {
var c = a[2].mIsSelected,
d = b[2].mIsSelected;
return c !== d ? c < d ? -1 : 1 : a[1] - b[1]
};
simcity.cRegionViewUIHandler.prototype.DepthSortRegionViewItems = function () {
if (0 !== this.mRegionViewItems.length) {
for (var a = Object.keys(this.mRegionViewItems), b = a.length, c = Array(a.length), d = 0, e = a.length; d < e; ++d)
c[d] = scrui.BuildRequestQuery(["units", this.mRegionViewItems[a[d]].mUnitRef, "screenPositionTop"]);
var f = this;
scrui.RequestGameData(c, function (c) {
for (var d = 0, e = 0; d < b; ++e) {
var j = c[e],
k = f.mRegionViewItems[a[d]],
l = k.mRootLayout;
if (j) {
var m = f.mNewlyRolledOverBoxID ? f.mNewlyRolledOverBoxID : 0;
if (m || l.mScreenPos !==
j[0] + "x" + j[1]) {
l.mScreenPos = j[0] + "x" + j[1];
var n = j[0],
p = j[1],
q = !1;
m && m == k.mRegionalBoxID && (m = scrui.GetClientWidth(), -20 > n ? (n = -20, q = !0) : n + l.mWidth > m && (n -= n + l.mWidth - m, q = !0), f.mNewlyRolledOverBoxID = 0);
if (k.mActiveLayout) {
var m = k.mActiveLayout.FindControlByID(253895354),
o = k.mActiveLayout.FindControlByID(253895035);
m.SetVisibility(!0);
o.SetVisibility(!0);
q && (m.SetVisibility(!1), o.SetVisibility(!1))
}
l.SetPosition(n, p, l.mWidth, l.mHeight);
f.mSortedItemsList[d] = [j[0], j[1], k]
}
++d
} else
f.RemoveRegionViewItemAtIndex(d),
--b
}
if (f.mSortedItemsList && 1 < f.mSortedItemsList.length) {
f.mSortedItemsList.sort(f.DepthSort);
c = -1;
e = !1;
d = 0;
for (j = f.mSortedItemsList.length; d < j; ++d) {
k = f.mSortedItemsList[d][2];
if (k.mDepthIndex <= c) {
e = !0;
break
}
c = k.mDepthIndex
}
if (e) {
d = 0;
for (j = f.mSortedItemsList.length; d < j; ++d)
k = f.mSortedItemsList[d][2], k.mRootLayout.Reparent(f.mRegionViewItemsContainerWindow), k.mDepthIndex = d
}
}
})
}
};
simcity.cRegionViewUIHandler.prototype.HandleGameEvent = function (a, b) {
switch (a) {
case simcity.kGameMessageGreatWorksContributors:
this.RefreshGreatWorksData(b);
break;
case simcity.kGameMessageRegionUpdated:
this.mServerDataChanged = !0;
this.UpdateRegionResourceData();
break;
case simcity.kGameMessageHideSiteUI:
case simcity.kGameMessageHideRegionUI:
this.HideRegionUI();
break;
case simcity.kGameMessageShowRegionUI:
this.OnShowRegionUI(a, b);
break;
case simcity.kGameMessageShowSiteUI:
this.OnShowSiteUI(a, b);
break;
case simcity.kGameMessageRequestTradeData:
this.OnTradeDataRequestReceived(b);
break;
case simcity.kGameMessagePauseTradeDataRequest:
this.OnTradeDataRequestPaused();
break;
case simcity.kGameMessageRegionUnitRolledOver:
this.mMousedOverRegionViewItem && !this.mMousedOverRegionViewItem.mIsSelected && this.mMousedOverRegionViewItem.SetMouseSelectionState(simcity.kRegionViewItemMouseSelectionStates.unselected);
if (this.mMousedOverRegionViewItem = this.mRegionViewItems[b.regionBoxID])
this.mNewlyRolledOverBoxID = b.regionBoxID,
this.mMousedOverRegionViewItem.SetMouseSelectionState(simcity.kRegionViewItemMouseSelectionStates.mouseOver);
this.DepthSortRegionViewItems();
break;
case simcity.kGameMessageBarGraphRolledOff:
case simcity.kGameMessageRegionUnitRolledOff:
this.mMousedOverRegionViewItem && !this.mMousedOverRegionViewItem.mIsSelected && this.mMousedOverRegionViewItem.SetMouseSelectionState(simcity.kRegionViewItemMouseSelectionStates.unselected);
this.mNewlyRolledOverBoxID = 1;
this.DepthSortRegionViewItems();
break;
case simcity.kGameMessageRegionUnitSelected:
if (simcity.IsTutorialInProgress() &&
(simcity.gGlobalUIHandler.mTutorialCallout.mRegionBoxID && simcity.gGlobalUIHandler.mTutorialCallout.mRegionBoxID != b.regionBoxID || !this.allowViewCity))
break;
simcity.gEventManager.TriggerEvent(simcity.gEventTypes.GENERICEVENT, b.regionBoxID, null);
null !== this.mSelectedRegionViewItem && this.mSelectedRegionViewItem.SetMouseSelectionState(simcity.kRegionViewItemMouseSelectionStates.unselected);
if (this.mSelectedRegionViewItem = this.mRegionViewItems[b.regionBoxID])
this.mSelectedRegionViewItem.SetMouseSelectionState(simcity.kRegionViewItemMouseSelectionStates.selected),
this.HandlePossibleGWSelection();
this.mSelectedDataControl && this.UpdateDataLayerContextPanel();
break;
case simcity.kGameMessageRegionUnitDeselected:
if (this.mSelectedRegionViewItem &&