Guest User

Untitled

a guest
Jun 19th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.project
  2. {
  3.     import as3.type.EnumType;
  4.     import as3.type.enum;
  5.    
  6.     {
  7.         EnumType.enum::create( Planet, 'JUPITER', new PlanetData("Jupiter", 78923, 2342) );
  8.         EnumType.enum::create( Planet, 'MARS', new PlanetData("Mars", 78923, 2342) );
  9.         EnumType.enum::create( Planet, 'EARTH', new PlanetData("Earth", 78923, 2342) );
  10.     }
  11.    
  12.  
  13.     public class Planet extends EnumType
  14.     {
  15.         static public function get JUPITER():Planet
  16.         {
  17.             return enum::instanceOf(Planet, 'JUPITER');
  18.         }
  19.         static public function get MARS():Planet
  20.         {
  21.             return enum::instanceOf(Planet, 'MARS');
  22.         }
  23.         static public function get EARTH():Planet
  24.         {
  25.             return enum::instanceOf(Planet, 'EARTH');
  26.         }
  27.        
  28.         private var _planetData:PlanetData;
  29.         public function Planet(data:PlanetData)
  30.         {
  31.             if (null == data)
  32.                 throw new Error("No nulls");
  33.            
  34.             _planetData = data;
  35.            
  36.             super();
  37.         }
  38.        
  39.        
  40.         public function getPlanetName():String
  41.         {
  42.             return _planetData.name;
  43.         }
  44.     }
  45. }
  46.  
  47. internal class PlanetData
  48. {
  49.     public var name:String;
  50.     public var mass:uint;
  51.     public var radius:uint;
  52.    
  53.     function PlanetData(planetName:String, planetMass:uint, planetRadius:uint)
  54.     {
  55.         name = planetName;
  56.         mass = planetMass;
  57.         radius = planetRadius;
  58.     }
  59. }
Add Comment
Please, Sign In to add comment