The ProgrammersTalk Community
Forum Register Search Today's Posts Mark Forums Read
Register

Go Back   The ProgrammersTalk Community > Graphic & Game Programming > Flash ActionScript


Welcome to the The ProgrammersTalk Community forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.
Tags: , , , ,

Reply
 
LinkBack Thread Tools    Display Modes   
  #1 (permalink)  
Old 12-08-2007, 09:40 PM
ccoonen ccoonen is offline
PT Staff
Awards Showcase
Quality Tutorial Quality Tutorial Quality Tutorial Quality Tutorial 
Total Awards: 4
Join Date: Jun 2007
Location: Wisconsin
Posts: 308
iTrader: (0)
ccoonen is on a distinguished roadccoonen is on a distinguished roadccoonen is on a distinguished roadccoonen is on a distinguished road
Icon11 TypeSafe AS3 Enum

here is an example of a TypeSafe class for AS3 I just made that acts like an enum (typesafe means it's literally safe to declare a var as this type).

Code:
package com.layeronemedia.core {
    public class DebugType {
        
        public static const NONE:DebugType = new DebugType();
        public static const TRACE:DebugType = new DebugType();
        public static const TRACE_THROWERROR:DebugType = new DebugType();
        public static const TRACE_THROWERROR_LOGREMOTELY:DebugType = new DebugType();
        public static const THROWERROR:DebugType = new DebugType();
        public static const THROWERROR_LOGREMOTELY:DebugType = new DebugType();
        public static const LOGREMOTELY:DebugType = new DebugType();
        
        public static function getDebugType(type:String):DebugType {
            var retType:DebugType;
            switch(type.toLowerCase()) {
                case "logremotely":
                    retType = DebugType.LOGREMOTELY; break;
                case "trace":
                    retType = DebugType.TRACE; break;
                case "trace_throwerror":
                    retType = DebugType.TRACE_THROWERROR; break;
                case "trace_throwerror_logremotely":
                    retType = DebugType.TRACE_THROWERROR_LOGREMOTELY; break;
                case "throwerror":
                    retType = DebugType.THROWERROR; break;
                case "throwerror_logremotely":
                    retType = DebugType.THROWERROR_LOGREMOTELY; break;
                default:
                    retType = DebugType.NONE; break;
            }
            return retType;
        }
        
        public static function toString(a:DebugType):String {
            var retType:String;
            switch(a) {
                case DebugType.LOGREMOTELY:
                    retType = "Log Error(s) Remotely Only"; break;
                case DebugType.TRACE:
                    retType = "Trace Error(s) Only"; break;
                case DebugType.TRACE_THROWERROR:
                    retType = "Trace and Throw Error(s)"; break;
                case DebugType.TRACE_THROWERROR_LOGREMOTELY:
                    retType = "Trace, Throw, and Remotely Log Error(s)"; break;
                case DebugType.THROWERROR:
                    retType = "Throw Error(s) Only"; break;
                case DebugType.THROWERROR_LOGREMOTELY:
                    retType = "Throw, and Remotely Log Error(s)"; break;
                default:
                    retType = "No Debug Type Selected"; break;
            }
            return retType;
        }
    }
}
Reply With Quote
Reply


Thread Tools
Display Modes

   Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 05:17 AM. Powered by vBulletin
Copyright © 2000 - 2007, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO © 2007 ProgrammersTalk Sedo - Buy and Sell Domain Names and Websites project info: programmerstalk.net Statistics for project programmerstalk.net etracker® web controlling instead of log file analysis


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50