Esempio n. 1
0
ScriptAnyValue GetAnyValue(IMonoObject *pObject)
{
	switch(pObject->GetType())
	{
	case eMonoAnyType_String:
		return ScriptAnyValue(ToCryString((mono::string)pObject->GetManagedObject()));
	case eMonoAnyType_Float:
	case eMonoAnyType_Short:
	case eMonoAnyType_Integer:
		return ScriptAnyValue(pObject->Unbox<float>());
	case eMonoAnyType_Boolean:
		return ScriptAnyValue(pObject->Unbox<bool>());
	case eMonoAnyType_Vec3:
		return ScriptAnyValue(pObject->Unbox<Vec3>());
	}

	return ScriptAnyValue();
}
Esempio n. 2
0
//------------------------------------------------------------------------
//------------------------------------------------------------------------
//------------------------------------------------------------------------
ScriptAnyValue SUIToLuaConversationHelper::UIValueToLuaValue(const TUIData& value, bool& ok)
{
	ok = true;
	switch ( value.GetType() )
	{
	case eUIDT_Bool: return SUIConvHelperTmpl::GetValueRaw<bool>(value);
	case eUIDT_Int:  return SUIConvHelperTmpl::GetValueRaw<int>(value);
	case eUIDT_EntityId: return SUIConvHelperTmpl::GetValueRaw<EntityId>(value);
	case eUIDT_Float: return SUIConvHelperTmpl::GetValueRaw<float>(value);
	case eUIDT_Vec3: return SUIConvHelperTmpl::GetValueRaw<Vec3>(value);
	case eUIDT_String:
	case eUIDT_WString:
		{	
			string val;
			if ( value.GetValueWithConversion( val ) )
				return ScriptAnyValue( val.c_str() );
		}
	}
	ok = false;
	return ScriptAnyValue( false );
}
Esempio n. 3
0
	ScriptAnyValue GetValueRaw(const TUIData& value)
	{
		const T* val = value.GetPtr<T>();
		assert(val);
		return ScriptAnyValue(*val);
	}