示例#1
0
        private void EmitEventBaseClasses()
        {
            CodeTypeDeclaration globalListener        = CodeNamespaceAscension.DeclareClass("GlobalEventListener");
            CodeTypeDeclaration entityListener        = CodeNamespaceAscension.DeclareClass("EntityEventListener");
            CodeTypeDeclaration entityListenerGeneric = CodeNamespaceAscension.DeclareClass("EntityEventListener<TState>");

            globalListener.BaseTypes.Add("Ascension.Networking.GlobalEventListenerBase");
            entityListener.BaseTypes.Add("Ascension.Networking.EntityEventListenerBase");
            entityListenerGeneric.BaseTypes.Add("Ascension.Networking.EntityEventListenerBase<TState>");

            foreach (EventDecorator d in Events)
            {
                EmitEventMethodOverride(true, globalListener, d);
                EmitEventMethodOverride(false, entityListener, d);
                EmitEventMethodOverride(false, entityListenerGeneric, d);
            }
        }
示例#2
0
 public CodeTypeDeclaration DeclareClass(string name)
 {
     return(CodeNamespace.DeclareClass(name));
 }