forked from LeenkxTeam/LNXSDK
		
	t3du - Set / Get World Nodes
This commit is contained in:
		
							
								
								
									
										40
									
								
								leenkx/Sources/leenkx/logicnode/SetWorldNode.hx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								leenkx/Sources/leenkx/logicnode/SetWorldNode.hx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | ||||
| package leenkx.logicnode; | ||||
|  | ||||
| class SetWorldNode extends LogicNode { | ||||
|  | ||||
| 	public function new(tree: LogicTree) { | ||||
| 		super(tree); | ||||
| 	} | ||||
|  | ||||
| 	override function run(from: Int) { | ||||
| 		var world: String = inputs[1].get(); | ||||
|  | ||||
| 		if (world != null){ | ||||
|  | ||||
| 			//check if world shader data exists | ||||
| 			var file: String = 'World_'+world+'_data'; | ||||
| 			#if lnx_json | ||||
| 				file += ".json"; | ||||
| 			#elseif lnx_compress | ||||
| 				file += ".lz4"; | ||||
| 			#else | ||||
| 				file += '.lnx'; | ||||
| 			#end | ||||
|  | ||||
| 			var exists: Bool = false; | ||||
|  | ||||
| 			iron.data.Data.getBlob(file, function(b: kha.Blob) { | ||||
| 				if (b != null) exists = true; | ||||
| 			}); | ||||
|  | ||||
| 			assert(Error, exists == true, "World must be either associated to a scene or have fake user"); | ||||
|  | ||||
| 			iron.Scene.active.raw.world_ref = world; | ||||
| 			var npath = leenkx.renderpath.RenderPathCreator.get(); | ||||
| 			npath.loadShader("shader_datas/World_" + world + "/World_" + world); | ||||
| 			iron.RenderPath.setActive(npath); | ||||
| 		} | ||||
|  | ||||
| 		runOutput(0); | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user