BluAxolotl

Karma is SO smart.

May 24th, 2020
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.61 KB | None | 0 0
  1. package scripts;
  2.  
  3. import com.stencyl.graphics.G;
  4. import com.stencyl.graphics.BitmapWrapper;
  5. import com.stencyl.graphics.ScaleMode;
  6.  
  7. import com.stencyl.behavior.Script;
  8. import com.stencyl.behavior.Script.*;
  9. import com.stencyl.behavior.ActorScript;
  10. import com.stencyl.behavior.SceneScript;
  11. import com.stencyl.behavior.TimedTask;
  12.  
  13. import com.stencyl.models.Actor;
  14. import com.stencyl.models.GameModel;
  15. import com.stencyl.models.actor.Animation;
  16. import com.stencyl.models.actor.ActorType;
  17. import com.stencyl.models.actor.Collision;
  18. import com.stencyl.models.actor.Group;
  19. import com.stencyl.models.Scene;
  20. import com.stencyl.models.Sound;
  21. import com.stencyl.models.Region;
  22. import com.stencyl.models.Font;
  23. import com.stencyl.models.Joystick;
  24.  
  25. import com.stencyl.Config;
  26. import com.stencyl.Engine;
  27. import com.stencyl.Input;
  28. import com.stencyl.Key;
  29. import com.stencyl.utils.motion.*;
  30. import com.stencyl.utils.Utils;
  31.  
  32. import openfl.ui.Mouse;
  33. import openfl.display.Graphics;
  34. import openfl.display.BlendMode;
  35. import openfl.display.BitmapData;
  36. import openfl.display.Bitmap;
  37. import openfl.events.Event;
  38. import openfl.events.KeyboardEvent;
  39. import openfl.events.TouchEvent;
  40. import openfl.net.URLLoader;
  41.  
  42. import box2D.common.math.B2Vec2;
  43. import box2D.dynamics.B2Body;
  44. import box2D.dynamics.B2Fixture;
  45. import box2D.dynamics.joints.B2Joint;
  46.  
  47. import com.stencyl.graphics.shaders.BasicShader;
  48. import com.stencyl.graphics.shaders.GrayscaleShader;
  49. import com.stencyl.graphics.shaders.SepiaShader;
  50. import com.stencyl.graphics.shaders.InvertShader;
  51. import com.stencyl.graphics.shaders.GrainShader;
  52. import com.stencyl.graphics.shaders.ExternalShader;
  53. import com.stencyl.graphics.shaders.InlineShader;
  54. import com.stencyl.graphics.shaders.BlurShader;
  55. import com.stencyl.graphics.shaders.SharpenShader;
  56. import com.stencyl.graphics.shaders.ScanlineShader;
  57. import com.stencyl.graphics.shaders.CSBShader;
  58. import com.stencyl.graphics.shaders.HueShader;
  59. import com.stencyl.graphics.shaders.TintShader;
  60. import com.stencyl.graphics.shaders.BloomShader;
  61.  
  62.  
  63.  
  64. class Design_39_39_Character extends ActorScript
  65. {
  66. public var _player:String;
  67. public var _speed:Float;
  68. public var _OnGround:Bool;
  69. public var _Moving:Bool;
  70. public var _speedfxhue:Float;
  71. public var _bouncing:Bool;
  72. public var _slope:Bool;
  73. public var _speedboost:Float;
  74. public var _crouching:Bool;
  75. public var _powercooldown:Bool;
  76. public var _power3POWER:Float;
  77.  
  78.  
  79. public function new(dummy:Int, actor:Actor, dummy2:Engine)
  80. {
  81. super(actor);
  82. nameMap.set("Actor", "actor");
  83. nameMap.set("player", "_player");
  84. _player = "p1";
  85. nameMap.set("speed", "_speed");
  86. _speed = 0.0;
  87. nameMap.set("OnGround", "_OnGround");
  88. _OnGround = false;
  89. nameMap.set("Moving", "_Moving");
  90. _Moving = false;
  91. nameMap.set("speed_fx_hue", "_speedfxhue");
  92. _speedfxhue = 0.0;
  93. nameMap.set("bouncing", "_bouncing");
  94. _bouncing = false;
  95. nameMap.set("slope", "_slope");
  96. _slope = false;
  97. nameMap.set("speed_boost", "_speedboost");
  98. _speedboost = 0.0;
  99. nameMap.set("crouching", "_crouching");
  100. _crouching = false;
  101. nameMap.set("power_cooldown", "_powercooldown");
  102. _powercooldown = false;
  103. nameMap.set("power_3_POWER", "_power3POWER");
  104. _power3POWER = 0.0;
  105.  
  106. }
  107.  
  108. override public function init()
  109. {
  110.  
  111. /* ======================== When Creating ========================= */
  112. actor.makeAlwaysSimulate();
  113.  
  114. /* ======================== When Updating ========================= */
  115. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  116. {
  117. if(wrapper.enabled)
  118. {
  119. if(((Engine.engine.getGameAttribute("SpeedStat") : Float) == 1))
  120. {
  121. Engine.engine.setGameAttribute("p1_base_speed", 25);
  122. }
  123. else if(((Engine.engine.getGameAttribute("SpeedStat") : Float) == 2))
  124. {
  125. Engine.engine.setGameAttribute("p1_base_speed", 45);
  126. }
  127. else if(((Engine.engine.getGameAttribute("SpeedStat") : Float) == 3))
  128. {
  129. Engine.engine.setGameAttribute("p1_base_speed", 65);
  130. }
  131. }
  132. });
  133.  
  134. /* ======================== When Updating ========================= */
  135. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  136. {
  137. if(wrapper.enabled)
  138. {
  139. if(isKeyDown("R"))
  140. {
  141. return;
  142. }
  143. else if((((Engine.engine.getGameAttribute("power_id") : Float) == 3) && _powercooldown))
  144. {
  145. return;
  146. }
  147. else if((isKeyDown("L") && !(_crouching)))
  148. {
  149. _speedboost = 0;
  150. _Moving = true;
  151. Engine.engine.setGameAttribute("Dir", "L");
  152. actor.setXVelocity(-((asNumber((getGameAttribute(((_player) + ("_base_speed"))))) + _speed)));
  153. if(((actor.getYVelocity() == 0) && _OnGround))
  154. {
  155. actor.setAnimation("L_Moving");
  156. }
  157. }
  158. }
  159. });
  160.  
  161. /* =========================== Keyboard =========================== */
  162. addKeyStateListener("L", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  163. {
  164. if(wrapper.enabled && released)
  165. {
  166. if(isKeyDown("R"))
  167. {
  168. return;
  169. }
  170. else
  171. {
  172. _Moving = false;
  173. actor.setXVelocity((actor.getXVelocity() / 2));
  174. runLater(1000 * .1, function(timeTask:TimedTask):Void
  175. {
  176. actor.setXVelocity(0);
  177. }, actor);
  178. }
  179. }
  180. });
  181.  
  182. /* ======================== When Updating ========================= */
  183. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  184. {
  185. if(wrapper.enabled)
  186. {
  187. if(isKeyDown("L"))
  188. {
  189. return;
  190. }
  191. else if((((Engine.engine.getGameAttribute("power_id") : Float) == 3) && _powercooldown))
  192. {
  193. return;
  194. }
  195. else if((isKeyDown("R") && !(_crouching)))
  196. {
  197. _speedboost = 0;
  198. _Moving = true;
  199. Engine.engine.setGameAttribute("Dir", "R");
  200. actor.setXVelocity((asNumber((getGameAttribute(((_player) + ("_base_speed"))))) + _speed));
  201. if(((actor.getYVelocity() == 0) && _OnGround))
  202. {
  203. actor.setAnimation("R_Moving");
  204. }
  205. }
  206. }
  207. });
  208.  
  209. /* =========================== Keyboard =========================== */
  210. addKeyStateListener("R", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  211. {
  212. if(wrapper.enabled && released)
  213. {
  214. if(isKeyDown("L"))
  215. {
  216. return;
  217. }
  218. else
  219. {
  220. _Moving = false;
  221. actor.setXVelocity((actor.getXVelocity() / 2));
  222. runLater(1000 * .1, function(timeTask:TimedTask):Void
  223. {
  224. actor.setXVelocity(0);
  225. }, actor);
  226. }
  227. }
  228. });
  229.  
  230. /* =========================== Keyboard =========================== */
  231. addKeyStateListener("L", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  232. {
  233. if(wrapper.enabled && released)
  234. {
  235. abortTweenNumber("_speed");
  236. _speed = 0;
  237. }
  238. });
  239.  
  240. /* =========================== Keyboard =========================== */
  241. addKeyStateListener("R", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  242. {
  243. if(wrapper.enabled && released)
  244. {
  245. abortTweenNumber("_speed");
  246. _speed = 0;
  247. }
  248. });
  249.  
  250. /* =========================== Keyboard =========================== */
  251. addKeyStateListener("L", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  252. {
  253. if(wrapper.enabled && pressed)
  254. {
  255. runLater(1000 * .1, function(timeTask:TimedTask):Void
  256. {
  257. if((_Moving == true))
  258. {
  259. var attributeTween = attributeTweens.get("_speed");
  260. if(attributeTween == null)
  261. {
  262. attributeTween = new TweenFloat();
  263. attributeTween.doOnUpdate(function() {_speed = attributeTween.value;});
  264. attributeTweens.set("_speed", attributeTween);
  265. }
  266. attributeTween.tween(_speed, 100, Easing.quadInOut, Std.int(2*1000));
  267. }
  268. }, actor);
  269. }
  270. });
  271.  
  272. /* =========================== Keyboard =========================== */
  273. addKeyStateListener("R", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  274. {
  275. if(wrapper.enabled && pressed)
  276. {
  277. runLater(1000 * .1, function(timeTask:TimedTask):Void
  278. {
  279. if((_Moving == true))
  280. {
  281. var attributeTween = attributeTweens.get("_speed");
  282. if(attributeTween == null)
  283. {
  284. attributeTween = new TweenFloat();
  285. attributeTween.doOnUpdate(function() {_speed = attributeTween.value;});
  286. attributeTweens.set("_speed", attributeTween);
  287. }
  288. attributeTween.tween(_speed, 100, Easing.quadInOut, Std.int(2*1000));
  289. }
  290. }, actor);
  291. }
  292. });
  293.  
  294. /* ======================== When Updating ========================= */
  295. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  296. {
  297. if(wrapper.enabled)
  298. {
  299. if((actor.getXVelocity() == 0))
  300. {
  301. _speed = (_speed / 2);
  302. if(((Engine.engine.getGameAttribute("Dir") : String) == "L"))
  303. {
  304. actor.setAnimation("L_Idle");
  305. }
  306. else if(((Engine.engine.getGameAttribute("Dir") : String) == "R"))
  307. {
  308. actor.setAnimation("R_Idle");
  309. }
  310. }
  311. }
  312. });
  313.  
  314. /* ======================== When Updating ========================= */
  315. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  316. {
  317. if(wrapper.enabled)
  318. {
  319. engine.cameraFollow(actor);
  320. }
  321. });
  322.  
  323. /* =========================== Keyboard =========================== */
  324. addKeyStateListener("A", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  325. {
  326. if(wrapper.enabled && pressed)
  327. {
  328. if(((actor.getYVelocity() == 0) && _OnGround))
  329. {
  330. actor.applyImpulse(0, -1, 110);
  331. _slope = false;
  332. playSound(getSound(66));
  333. }
  334. }
  335. });
  336.  
  337. /* ======================== When Updating ========================= */
  338. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  339. {
  340. if(wrapper.enabled)
  341. {
  342. if((actor.getYVelocity() < 0))
  343. {
  344. if((((Engine.engine.getGameAttribute("Dir") : String) == "L") || (actor.getAnimation() == "L_Idle")))
  345. {
  346. actor.setAnimation("L_Jump");
  347. }
  348. else if((((Engine.engine.getGameAttribute("Dir") : String) == "R") || (actor.getAnimation() == "R_Idle")))
  349. {
  350. actor.setAnimation("R_Jump");
  351. }
  352. }
  353. if((actor.getYVelocity() > 0))
  354. {
  355. if((((Engine.engine.getGameAttribute("Dir") : String) == "L") || (actor.getAnimation() == "L_Idle")))
  356. {
  357. actor.setAnimation("L_Fall");
  358. }
  359. else if((((Engine.engine.getGameAttribute("Dir") : String) == "R") || (actor.getAnimation() == "R_Idle")))
  360. {
  361. actor.setAnimation("R_Fall");
  362. }
  363. }
  364. }
  365. });
  366.  
  367. /* ======================== When Updating ========================= */
  368. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  369. {
  370. if(wrapper.enabled)
  371. {
  372. if(((_OnGround && (actor.getYVelocity() == 0)) && !(_Moving)))
  373. {
  374. actor.setAnimation((((Engine.engine.getGameAttribute("Dir") : String)) + ("_Idle")));
  375. actor.setXVelocity(0);
  376. }
  377. }
  378. });
  379.  
  380. /* ======================== Something Else ======================== */
  381. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  382. {
  383. if(wrapper.enabled)
  384. {
  385. if(event.thisFromBottom)
  386. {
  387. _OnGround = true;
  388. }
  389. }
  390. });
  391.  
  392. /* ======================== When Updating ========================= */
  393. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  394. {
  395. if(wrapper.enabled)
  396. {
  397. if(!(actor.getYVelocity() == 0))
  398. {
  399. _OnGround = false;
  400. }
  401. }
  402. });
  403.  
  404. /* ======================== Actor of Type ========================= */
  405. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  406. {
  407. if(wrapper.enabled && sameAsAny(getActorType(63), event.otherActor.getType(),event.otherActor.getGroup()))
  408. {
  409. if(!(_bouncing))
  410. {
  411. _bouncing = true;
  412. actor.setYVelocity(0);
  413. playSound(getSound(67));
  414. if(((Engine.engine.getGameAttribute("Dir") : String) == "R"))
  415. {
  416. actor.applyImpulse(1, 0, 20);
  417. _speed = (_speed + 20);
  418. }
  419. else if(((Engine.engine.getGameAttribute("Dir") : String) == "L"))
  420. {
  421. actor.applyImpulse(1, 0, -20);
  422. _speed = (_speed - 20);
  423. }
  424. if(isKeyDown("A"))
  425. {
  426. actor.applyImpulse(0, -1, 180);
  427. }
  428. else
  429. {
  430. actor.applyImpulse(0, -1, 110);
  431. }
  432. runLater(1000 * .4, function(timeTask:TimedTask):Void
  433. {
  434. _bouncing = false;
  435. }, actor);
  436. }
  437. }
  438. });
  439.  
  440. /* ======================== Actor of Type ========================= */
  441. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  442. {
  443. if(wrapper.enabled && sameAsAny(getActorType(71), event.otherActor.getType(),event.otherActor.getGroup()))
  444. {
  445. playSound(getSound(102));
  446. event.otherActor.setAnimation("Broken");
  447. event.otherActor.setXVelocity((event.thisActor.getXVelocity() / 1.4));
  448. event.otherActor.applyImpulse(0, -1, 10);
  449. }
  450. });
  451.  
  452. /* ======================= Member of Group ======================== */
  453. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  454. {
  455. if(wrapper.enabled && sameAsAny(getActorGroup(5),event.otherActor.getType(),event.otherActor.getGroup()))
  456. {
  457. if((_Moving && ((Engine.engine.getGameAttribute("Dir") : String) == "R")))
  458. {
  459. event.thisActor.setY((event.thisActor.getY() - 5));
  460. }
  461. }
  462. });
  463.  
  464. /* ======================= Member of Group ======================== */
  465. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  466. {
  467. if(wrapper.enabled && sameAsAny(getActorGroup(6),event.otherActor.getType(),event.otherActor.getGroup()))
  468. {
  469. if((_Moving && ((Engine.engine.getGameAttribute("Dir") : String) == "L")))
  470. {
  471. event.thisActor.setY((event.thisActor.getY() - 5));
  472. }
  473. }
  474. });
  475.  
  476. /* ======================== Actor of Type ========================= */
  477. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  478. {
  479. if(wrapper.enabled && sameAsAny(getActorType(123), event.otherActor.getType(),event.otherActor.getGroup()))
  480. {
  481. if(event.otherFromTop)
  482. {
  483. playSound(getSound(139));
  484. if((actor.getXVelocity() == 0))
  485. {
  486. actor.moveBy(0, -480, .1, Easing.quadIn);
  487. }
  488. else if(((Engine.engine.getGameAttribute("Dir") : String) == "L"))
  489. {
  490. actor.moveBy((actor.getXVelocity() / 2.2), -480, .1, Easing.quadIn);
  491. }
  492. else if(((Engine.engine.getGameAttribute("Dir") : String) == "R"))
  493. {
  494. actor.moveBy((actor.getXVelocity() / 2.2), -480, .1, Easing.quadIn);
  495. }
  496. if(((Engine.engine.getGameAttribute("LevelTime") : String) == "Day"))
  497. {
  498. setColorBackground(Utils.getColorRGB(255,255,255));
  499. runLater(1000 * .2, function(timeTask:TimedTask):Void
  500. {
  501. setColorBackground(Utils.getColorRGB(91,168,255));
  502. }, actor);
  503. }
  504. else if(((Engine.engine.getGameAttribute("LevelTime") : String) == "Night"))
  505. {
  506. setColorBackground(Utils.getColorRGB(255,255,255));
  507. runLater(1000 * .2, function(timeTask:TimedTask):Void
  508. {
  509. setColorBackground(Utils.getColorRGB(0,0,0));
  510. }, actor);
  511. }
  512. }
  513. }
  514. });
  515.  
  516. /* ======================== Actor of Type ========================= */
  517. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  518. {
  519. if(wrapper.enabled && sameAsAny(getActorType(141), event.otherActor.getType(),event.otherActor.getGroup()))
  520. {
  521. recycleActor(event.otherActor);
  522. Engine.engine.setGameAttribute("note_count", ((Engine.engine.getGameAttribute("note_count") : Float) + 1));
  523. }
  524. });
  525.  
  526. /* ======================= Member of Group ======================== */
  527. addCollisionListener(actor, function(event:Collision, list:Array<Dynamic>):Void
  528. {
  529. if(wrapper.enabled && sameAsAny(getActorGroup(7),event.otherActor.getType(),event.otherActor.getGroup()))
  530. {
  531. event.otherActor.growTo(0/100, 0/100, .08, Easing.elasticInOut);
  532. Engine.engine.setGameAttribute("power_id", asNumber(event.otherActor.getAnimation()));
  533. runLater(1000 * 2, function(timeTask:TimedTask):Void
  534. {
  535. recycleActor(event.otherActor);
  536. }, actor);
  537. }
  538. });
  539.  
  540. /* ======================== When Updating ========================= */
  541. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  542. {
  543. if(wrapper.enabled)
  544. {
  545. if(isKeyDown("D"))
  546. {
  547. if(((actor.getAnimation() == "L_Idle") || (actor.getAnimation() == "R_Idle")))
  548. {
  549. actor.setCurrentFrame(1);
  550. _crouching = true;
  551. }
  552. else
  553. {
  554. return;
  555. }
  556. }
  557. else
  558. {
  559. _crouching = false;
  560. }
  561. }
  562. });
  563.  
  564. /* ======================== When Updating ========================= */
  565. addWhenUpdatedListener(null, function(elapsedTime:Float, list:Array<Dynamic>):Void
  566. {
  567. if(wrapper.enabled)
  568. {
  569. Engine.engine.setGameAttribute("p1_speed", _speed);
  570. }
  571. });
  572.  
  573. /* =========================== Keyboard =========================== */
  574. addKeyStateListener("B", function(pressed:Bool, released:Bool, list:Array<Dynamic>):Void
  575. {
  576. if(wrapper.enabled && pressed)
  577. {
  578. if((((Engine.engine.getGameAttribute("power_id") : Float) == 3) && !(_powercooldown)))
  579. {
  580. actor.setFilter([createBrightnessFilter(70)]);
  581. actor.growTo(90/100, 90/100, .01, Easing.quadIn);
  582. actor.setFilter([createTintFilter(Utils.getColorRGB(204,255,255), 70/100)]);
  583. _powercooldown = true;
  584. if((!(isKeyDown("R")) && !(isKeyDown("L"))))
  585. {
  586. _Moving = true;
  587. }
  588. runLater(1000 * .08, function(timeTask:TimedTask):Void
  589. {
  590. actor.growTo(100/100, 100/100, .02, Easing.quadIn);
  591. actor.clearFilters();
  592. actor.setYVelocity((actor.getYVelocity() / 5));
  593. actor.setXVelocity((actor.getXVelocity() / 5));
  594. if((!(isKeyDown("L")) && !(isKeyDown("R"))))
  595. {
  596. _Moving = false;
  597. }
  598. else
  599. {
  600. var attributeTween = attributeTweens.get("_speed");
  601. if(attributeTween == null)
  602. {
  603. attributeTween = new TweenFloat();
  604. attributeTween.doOnUpdate(function() {_speed = attributeTween.value;});
  605. attributeTweens.set("_speed", attributeTween);
  606. }
  607. attributeTween.tween(_speed, 100, Easing.quadInOut, Std.int(2*1000));
  608. }
  609. }, actor);
  610. runLater(1000 * .09, function(timeTask:TimedTask):Void
  611. {
  612. _powercooldown = false;
  613. }, actor);
  614. _power3POWER = (actor.getXVelocity() + 350);
  615. if((isKeyDown("U") && isKeyDown("R")))
  616. {
  617. actor.applyImpulse(1, -1, _power3POWER);
  618. }
  619. else if((isKeyDown("U") && isKeyDown("L")))
  620. {
  621. actor.applyImpulse(-1, -1, _power3POWER);
  622. }
  623. else if((isKeyDown("D") && isKeyDown("R")))
  624. {
  625. actor.applyImpulse(1, 1, _power3POWER);
  626. }
  627. else if((isKeyDown("D") && isKeyDown("L")))
  628. {
  629. actor.applyImpulse(-1, 1, _power3POWER);
  630. }
  631. else if(isKeyDown("L"))
  632. {
  633. actor.applyImpulse(-1, 0, _power3POWER);
  634. }
  635. else if(isKeyDown("D"))
  636. {
  637. actor.applyImpulse(0, 1, _power3POWER);
  638. }
  639. else if(isKeyDown("U"))
  640. {
  641. actor.applyImpulse(0, -1, _power3POWER);
  642. }
  643. else if(isKeyDown("R"))
  644. {
  645. actor.applyImpulse(1, 0, _power3POWER);
  646. }
  647. else
  648. {
  649. if(((Engine.engine.getGameAttribute("Dir") : String) == "R"))
  650. {
  651. actor.applyImpulse(1, 0, _power3POWER);
  652. }
  653. else if(((Engine.engine.getGameAttribute("Dir") : String) == "L"))
  654. {
  655. actor.applyImpulse(-1, 0, _power3POWER);
  656. }
  657. }
  658. }
  659. }
  660. });
  661.  
  662. }
  663.  
  664. override public function forwardMessage(msg:String)
  665. {
  666.  
  667. }
  668. }
Add Comment
Please, Sign In to add comment