private void AddKnownPartsAndStates(ThemeClass cls) { foreach (var partInfo in ThemeInfo.GetParts(cls.ClassName)) { bool partDefined = cls.FindPart(partInfo.Item1) != null; var part = cls.AddPart(partInfo.Item1, partInfo.Item2); part.IsUndefined = !partDefined; foreach (var stateInfo in ThemeInfo.GetStates(part)) { bool stateDefined = part.FindState(stateInfo.Item1) != null; var state = part.AddState(stateInfo.Item1, stateInfo.Item2); state.IsUndefined = !stateDefined; } } }
public ThemePart FindPart(int partId) { if (partId == 0) { return(classPart); } foreach (var part in Parts) { if (part.Id == partId) { return(part); } } return(overrides?.FindPart(partId)); }