<%@ Property 
    Name="ClassNames" 
    Type="System.String[]" 
    Category="Context" 
    Description="The names of the classes to be generated."             %>
    
<%  string version = "3";                                               %>
<%  string nm = "";                                                     %>
<%  string id = "";                                                     %>
<%  string[] splt = null;                                               %>
<% for(int i = 0; i < ClassNames.Length; i++)                           %>
<% {    string ln = ClassNames[i];                                      %>
<%      if(ln == "")                                                    %>
<%      {                                                               %>

<%          continue;                                                   %>
<%      }else if(ln.StartsWith(@"//"))                                  %>
<%      {                                                               %>
<%          version = ln.Substring(2,1);                                %>

    // Version <%= version %> Tags
<%          continue;                                                   %>
<%      }else if(ln.IndexOf(",") != -1)                                 %>
<%      {                                                               %>
<%        splt =    ln.Split(new Char[]{','});                          %>
<%        nm = splt[1];                                                 %>
<%        id = splt[0];                                                 %>
<%       }                                                              %>
    #region  <%= nm %>Action <% if(splt.Length > 2){ %>++<% } %>
    public struct <%= nm %>Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.<%= nm %>;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v<%= version %>;
            }
        }
        #endregion
        
<%  // properties                                                       %>
<% for(int j = 2; j < splt.Length; j+=2)                                %>
<% {                                                                    %>
<%      string propName = splt[j];                                      %>
<%      string propPrivName = "p_" + propName.Substring(0,1).ToLower() + propName.Substring(1,propName.Length - 1); %>
<%      string propType = splt[j+1];                                    %>
        #region <%= propName %>
        private <%= propType %> <%= propPrivName %>;
        [SwfActionElement]
        public <%= propType %> <%= propName %>
        {
            get
            {
                return <%= propPrivName %>;
            }
            set
            {
                <%= propPrivName %> = value;
            }
        }
        #endregion
<% }                                                                    %>
    }
    #endregion  
<% } %>