42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
|
|
import { GodotTypes } from "../GodotTypes";
|
|
import { MemberInitializer } from "../MemberInitializer";
|
|
import { MemberType } from "../MemberType";
|
|
import { Member } from "./Member";
|
|
|
|
export class Signal extends Member
|
|
{
|
|
constructor( memberInitializer:MemberInitializer )
|
|
{
|
|
super( MemberType.Signal, memberInitializer );
|
|
}
|
|
|
|
parseBody( body:any )
|
|
{
|
|
return this.parseMethodParameters( body );
|
|
}
|
|
|
|
|
|
getHeaderDefinition():string
|
|
{
|
|
return "\n " + this.info();
|
|
}
|
|
|
|
getBindings( className:string )
|
|
{
|
|
//ADD_SIGNAL(MethodInfo("session_supported", PropertyInfo(Variant::STRING, "session_mode"), PropertyInfo(Variant::BOOL, "supported")));
|
|
let parameterInfos = "";
|
|
|
|
for ( let i = 0; i < this.parameters.length; i++ )
|
|
{
|
|
let type = GodotTypes.stringToVariantType( this.parameters[ i ].type );
|
|
let name = this.parameters[ i ].name;
|
|
|
|
let pi = `, PropertyInfo(Variant::${type}, "${name}")`;
|
|
|
|
parameterInfos += pi;
|
|
}
|
|
|
|
return `ADD_SIGNAL (MethodInfo( "${this.name}" ${parameterInfos}) );`;
|
|
}
|
|
} |