"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Signal = void 0; const GodotTypes_1 = require("../GodotTypes"); const MemberType_1 = require("../MemberType"); const Member_1 = require("./Member"); class Signal extends Member_1.Member { constructor(memberInitializer) { super(MemberType_1.MemberType.Signal, memberInitializer); } parseBody(body) { return this.parseMethodParameters(body); } getHeaderDefinition() { return "\n " + this.info(); } getBindings(className) { //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_1.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}) );`; } } exports.Signal = Signal; //# sourceMappingURL=Signal.js.map