30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
"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
|