# this class used to mock testing with inner classes and default arguments in functions class_name AdvancedTestClass extends Resource class SoundData: @warning_ignore("unused_private_class_variable") var _sample :String @warning_ignore("unused_private_class_variable") var _randomnes :float class AtmosphereData: enum { WATER, AIR, SMOKY, } var _toxigen :float var _type :int func _init(type := AIR, toxigen := 0.0): _type = type _toxigen = toxigen # some comment, and an row staring with an space to simmulate invalid formatting # seter func with default values func set_data(type := AIR, toxigen := 0.0) : _type = type _toxigen = toxigen static func to_atmosphere(_value :Dictionary) -> AtmosphereData: return null class Area4D extends Resource: const SOUND := 1 const ATMOSPHERE := 2 var _meta := Dictionary() func _init(_x :int, atmospere :AtmosphereData = null): _meta[ATMOSPHERE] = atmospere func get_sound() -> SoundData: # sounds are optional if _meta.has(SOUND): return _meta[SOUND] as SoundData return null func get_atmoshere() -> AtmosphereData: return _meta[ATMOSPHERE] as AtmosphereData var _areas : = {} func _init(): # add default atmoshere _areas["default"] = Area4D.new(1, AtmosphereData.new()) func get_area(name :String, default :Area4D = null) -> Area4D: return _areas.get(name, default) # test spy is called sub functions select() -> a(), b(), c() enum { A, B, C } func a() -> String: return "a" func b() -> String: return "b" func c() -> String: return "c" func select( type :int) -> String: match type: A: return a() B: return b() C: return c() _: return "" static func to_foo() -> String: return "foo"