Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ui
- {
- import com.doogog.ui.UIObject;
- import com.adobe.crypto.MD5;
- import heroclickerlib.models.UserData;
- import swc.mainui.ImportScreenDisplay;
- import lib.ui.UIFunctionalityProvider;
- import lib.managers.TextManager;
- import flash.events.MouseEvent;
- import com.hurlant.util.Base64;
- import com.doogog.utils.GenericEvent;
- public class ImportScreen extends UIObject
- {
- public function ImportScreen(param1:UserData)
- {
- super();
- _userData = param1;
- setDisplay(new ImportScreenDisplay());
- }
- public static const TEXT_SPLITTER:String = "Fe12NAfA3R6z4k0z";
- public static const SALT:String = "af0ik392jrmt0nsfdghy0";
- public static function sprinkle(param1:String) : String
- {
- var _loc5_:* = NaN;
- var _loc4_:* = null;
- var _loc2_:Array = param1.split("");
- var _loc3_:Array = [];
- _loc5_ = 0.0;
- while(_loc5_ < _loc2_.length)
- {
- _loc3_[_loc5_ * 2] = _loc2_[_loc5_];
- _loc4_ = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
- _loc3_[_loc5_ * 2 + 1] = _loc4_.substr(Math.floor(Math.random() * (_loc4_.length - 1)),1);
- _loc5_++;
- }
- return _loc3_.join("");
- }
- public static function unSprinkle(param1:String) : String
- {
- var _loc4_:* = NaN;
- var _loc2_:Array = param1.split("");
- var _loc3_:Array = [];
- _loc4_ = 0.0;
- while(_loc4_ < _loc2_.length)
- {
- _loc3_[_loc4_ / 2] = _loc2_[_loc4_];
- _loc4_ = _loc4_ + 2;
- }
- return _loc3_.join("");
- }
- public static function toAntiCheatFormat(param1:String) : String
- {
- return sprinkle(param1) + "Fe12NAfA3R6z4k0z" + getHash(param1);
- }
- private static function getHash(param1:String) : String
- {
- var _loc2_:Array = param1.split();
- _loc2_.sort();
- var _loc3_:String = _loc2_.join();
- return MD5.hash(_loc3_ + "af0ik392jrmt0nsfdghy0");
- }
- public static function fromAntiCheatFormat(param1:String) : String
- {
- var _loc3_:Array = param1.split("Fe12NAfA3R6z4k0z");
- var _loc2_:String = unSprinkle(_loc3_[0]);
- if(getHash(_loc2_) != _loc3_[1])
- {
- throw new Error("Hash is bad");
- }
- else
- {
- return _loc2_;
- }
- }
- private var _userData:UserData;
- private function get _typedDisplay() : ImportScreenDisplay
- {
- return display as ImportScreenDisplay;
- }
- override protected function setup() : void
- {
- super.setup();
- UIFunctionalityProvider.provideBasicButton(_typedDisplay.okButton,onOkay,"Import");
- UIFunctionalityProvider.provideBasicButton(_typedDisplay.closeButton,onClose);
- _typedDisplay.input.addEventListener("click",onInputClicked,false,0,true);
- }
- public function clear() : void
- {
- TextManager.setText(_typedDisplay.input,"Paste data here...");
- }
- private function onOkay(param1:MouseEvent) : void
- {
- var _loc2_:String = _typedDisplay.input.text;
- if(_loc2_.search("Fe12NAfA3R6z4k0z") != -1)
- {
- _loc2_ = fromAntiCheatFormat(_loc2_);
- }
- else if(new Date().getTime() > 1.414361019E12)
- {
- throw new Error("Old format not supported anymore");
- }
- var _loc3_:UserData = new UserData();
- _loc3_.fromJson(Base64.decode(_loc2_));
- _userData.fromJsonObject(_loc3_.toJsonObject());
- _userData.dispatchEvent(new GenericEvent("reset_game"));
- ActionBar.needsUpdate = true;
- onClose(null);
- }
- private function onClose(param1:MouseEvent) : void
- {
- clear();
- hide();
- }
- private function onInputClicked(param1:MouseEvent) : void
- {
- if(_typedDisplay.input.text == "Paste data here...")
- {
- _typedDisplay.input.text = "";
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement