예제 #1
0
파일: ParaData.cpp 프로젝트: pedia/raidget
void RichPara::Cat(Id field, const String& param, const RichPara::CharFormat& f)
{
	cacheid = 0;
	Part& p = part.Add();
	p.field = field;
	p.fieldparam = param;
	p.format = f;
	VectorMap<String, Value> dummy;
	FieldType *ft = fieldtype().Get(field, NULL);
	if(ft)
		p.fieldpart ^= ft->Evaluate(param, dummy, f);
}
예제 #2
0
파일: ParaData.cpp 프로젝트: pedia/raidget
bool RichPara::EvaluateFields(VectorMap<String, Value>& vars)
{
	bool b = false;
	for(int i = 0; i < GetCount(); i++) {
		Part& p = part[i];
		if(p.field) {
			FieldType *f = fieldtype().Get(p.field, NULL);
			if(f) {
				p.fieldpart ^= f->Evaluate(p.fieldparam, vars, p.format);
				b = true;
			}
		}
	}
	return b;
}