class_name Instantiate extends Object ## Instantiates a scene based on [param clss_name]. Scene must be located next ## to the associated class. static func scene(clss_name: Variant) -> Node: var scn_path := scene_path(clss_name) var scn: PackedScene = ResourceLoader.load(scn_path) var node := scn.instantiate() return node static func scene_path(clss_name: Variant) -> String: var clss_path := (clss_name as Resource).resource_path assert(clss_path.ends_with(".gd"), "missing script for class") var scn_path := clss_path.substr(0, clss_path.rfind(".gd")) + ".tscn" assert(ResourceLoader.exists(scn_path), "missing scene for class") return scn_path