28 lines
		
	
	
		
			617 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			617 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package iron.data; | ||
|  | 
 | ||
|  | import iron.data.SceneFormat; | ||
|  | 
 | ||
|  | class ParticleData { | ||
|  | 
 | ||
|  | 	public var name: String; | ||
|  | 	public var raw: TParticleData; | ||
|  | 
 | ||
|  | 	public function new(raw: TParticleData, done: ParticleData->Void) { | ||
|  | 		this.raw = raw; | ||
|  | 		this.name = raw.name; | ||
|  | 
 | ||
|  | 		done(this); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function parse(name: String, id: String, done: ParticleData->Void) { | ||
|  | 		Data.getSceneRaw(name, function(format: TSceneFormat) { | ||
|  | 			var raw: TParticleData = Data.getParticleRawByName(format.particle_datas, id); | ||
|  | 			if (raw == null) { | ||
|  | 				trace('Particle data "$id" not found!'); | ||
|  | 				done(null); | ||
|  | 			} | ||
|  | 			new ParticleData(raw, done); | ||
|  | 		}); | ||
|  | 	} | ||
|  | } |