package com.uwsoft.editor.renderer.components; import com.badlogic.ashley.core.Component; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.reflect.ClassReflection; import com.badlogic.gdx.utils.reflect.ReflectionException; import com.uwsoft.editor.renderer.scripts.IScript; import java.util.Iterator; /** * Created by azakhary on 6/19/2015. */ public class ScriptComponent implements Component { public Array<IScript> scripts = new Array<IScript>(); public void addScript(IScript script) { scripts.add(script); } public void addScript(String className) { try { IScript script = (IScript) ClassReflection.newInstance(ClassReflection.forName(className)); addScript(script); } catch (ReflectionException e) { // well, if it's not there, then we don't care } } public void removeScript(Class className) { Iterator<IScript> i = scripts.iterator(); while (i.hasNext()) { IScript s = i.next(); if(s.getClass().getName().equals(className)) { i.remove(); } } } }