Example #1
0
	void Object::LoadFromJson(const JsonObject& obj)
	{
		for (PropertySet::PropertyMap::iterator it = GetPropertySet()->Begin();
			it != GetPropertySet()->End();
			it++)
		{
			if (obj.HasMember(it->first.c_str()))
			{
				Set(it->first, obj[it->first.c_str()].GetString());
			}
		}
	}
Example #2
0
	MaterialMask Material::ParseMask(JsonObject& obj)
	{
		MaterialMask ret;

		if (obj.HasMember("red"))
		{
			GetValue(ret.red_mask_,obj,"red");
		}
		if (obj.HasMember("green"))
		{
			GetValue(ret.green_mask_,obj,"green");
		}
		if (obj.HasMember("blue"))
		{
			GetValue(ret.blue_mask_,obj,"blue");
		}
		if (obj.HasMember("alpha"))
		{
			GetValue(ret.alpha_mask_,obj,"alpha");
		}
		return ret;
	}
Example #3
0
	void Material::ParseExp(MaterialInput& input,JsonObject& obj,const string& key)
	{
		if (obj.HasMember(key.c_str()))
		{
			JsonObject::MemberIterator first_mem = obj[key.c_str()].MemberBegin();
			if(first_mem!=obj.MemberEnd())
			{
				MaterialExpMap::iterator it = exp_map_.find(first_mem->name.GetString());
				if (it!=exp_map_.end())
				{
					MaterialExpression* exp =(*it).second;
					input.input_mask_ = ParseMask(first_mem->value);
					ParseExp(exp,first_mem->value);
					input.link_ = exp;
				}
				first_mem++;
			}
		}

	}