SEMilfred
2/17/2020 - 11:17 AM

WIP A script file for setting and getting flags.

A script file for setting and getting flags.

FlagsObject =  function() {
    owner = id;
    this = self;

    // Setter function for setting flags and executing watch function
    set = function(_flag, _val) {
        var _old_val = this.get(_flag, _val);
        variable_instance_set(this, _flag, _val);
        if (_val != _old_val && typeof(this.watch) == "function") {
            this.watch(_val, _old_val);
        }
        return _val;
    };

    // Getter function for getting the value of a flag
    get = function(_flag, _default) {
        var _return = variable_instance_get(this, _flag);
        if (is_undefined(_return)) {
            return _default;
        }
        return _return;
    };
}

flag = new FlagsObject();
flag.set("inAir", true); // flag.inAir = true;
flag.watch = function(newVal, oldVal) {
  show_debug_message(newVal);
  show_debug_message(oldVal);
}