#include <hxcpp.h>

#ifndef INCLUDED_phoenix_UniformValueType
#include <phoenix/UniformValueType.h>
#endif
namespace phoenix{

::phoenix::UniformValueType UniformValueType_obj::color;

::phoenix::UniformValueType UniformValueType_obj::_float;

::phoenix::UniformValueType UniformValueType_obj::_int;

::phoenix::UniformValueType UniformValueType_obj::texture;

::phoenix::UniformValueType UniformValueType_obj::unknown;

::phoenix::UniformValueType UniformValueType_obj::vector2;

::phoenix::UniformValueType UniformValueType_obj::vector3;

::phoenix::UniformValueType UniformValueType_obj::vector4;

HX_DEFINE_CREATE_ENUM(UniformValueType_obj)

int UniformValueType_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("color")) return 5;
	if (inName==HX_CSTRING("float")) return 1;
	if (inName==HX_CSTRING("int")) return 0;
	if (inName==HX_CSTRING("texture")) return 6;
	if (inName==HX_CSTRING("unknown")) return 7;
	if (inName==HX_CSTRING("vector2")) return 2;
	if (inName==HX_CSTRING("vector3")) return 3;
	if (inName==HX_CSTRING("vector4")) return 4;
	return super::__FindIndex(inName);
}

int UniformValueType_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("color")) return 0;
	if (inName==HX_CSTRING("float")) return 0;
	if (inName==HX_CSTRING("int")) return 0;
	if (inName==HX_CSTRING("texture")) return 0;
	if (inName==HX_CSTRING("unknown")) return 0;
	if (inName==HX_CSTRING("vector2")) return 0;
	if (inName==HX_CSTRING("vector3")) return 0;
	if (inName==HX_CSTRING("vector4")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic UniformValueType_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("color")) return color;
	if (inName==HX_CSTRING("float")) return _float;
	if (inName==HX_CSTRING("int")) return _int;
	if (inName==HX_CSTRING("texture")) return texture;
	if (inName==HX_CSTRING("unknown")) return unknown;
	if (inName==HX_CSTRING("vector2")) return vector2;
	if (inName==HX_CSTRING("vector3")) return vector3;
	if (inName==HX_CSTRING("vector4")) return vector4;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("int"),
	HX_CSTRING("float"),
	HX_CSTRING("vector2"),
	HX_CSTRING("vector3"),
	HX_CSTRING("vector4"),
	HX_CSTRING("color"),
	HX_CSTRING("texture"),
	HX_CSTRING("unknown"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(UniformValueType_obj::color,"color");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::_float,"_float");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::_int,"_int");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::texture,"texture");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::unknown,"unknown");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::vector2,"vector2");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::vector3,"vector3");
	HX_MARK_MEMBER_NAME(UniformValueType_obj::vector4,"vector4");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::color,"color");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::_float,"_float");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::_int,"_int");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::texture,"texture");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::unknown,"unknown");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::vector2,"vector2");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::vector3,"vector3");
	HX_VISIT_MEMBER_NAME(UniformValueType_obj::vector4,"vector4");
};
#endif

static ::String sMemberFields[] = { ::String(null()) };
Class UniformValueType_obj::__mClass;

Dynamic __Create_UniformValueType_obj() { return new UniformValueType_obj; }

void UniformValueType_obj::__register()
{

hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("phoenix.UniformValueType"), hx::TCanCast< UniformValueType_obj >,sStaticFields,sMemberFields,
	&__Create_UniformValueType_obj, &__Create,
	&super::__SGetClass(), &CreateUniformValueType_obj, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatic
#endif
#ifdef HXCPP_SCRIPTABLE
    , 0
#endif
);
}

void UniformValueType_obj::__boot()
{
hx::Static(color) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("color"),5);
hx::Static(_float) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("float"),1);
hx::Static(_int) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("int"),0);
hx::Static(texture) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("texture"),6);
hx::Static(unknown) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("unknown"),7);
hx::Static(vector2) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("vector2"),2);
hx::Static(vector3) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("vector3"),3);
hx::Static(vector4) = hx::CreateEnum< UniformValueType_obj >(HX_CSTRING("vector4"),4);
}


} // end namespace phoenix
