template<> jsval ScriptInterface::ToJSVal<std::vector<IComponent*> >(JSContext* cx, const std::vector<IComponent*>& val) { return ToJSVal_vector(cx, val); }
template<> void ScriptInterface::ToJSVal<std::vector<IComponent*> >(JSContext* cx, JS::MutableHandleValue ret, const std::vector<IComponent*>& val) { ToJSVal_vector(cx, ret, val); }
template<> void ScriptInterface::ToJSVal<CVector2D>(JSContext* cx, JS::MutableHandleValue ret, const CVector2D& val) { std::vector<float> vec = {val.X, val.Y}; ToJSVal_vector(cx, ret, vec); }