public override void Register(WorldComponent_DefEditingResearchManager comp) { WorldComp = comp; FieldInfo fieldInfo = typeof(BuildingProperties).GetField(fieldName, RSUUtil.universal); LogicFieldEditor logicFieldEditor = new LogicFieldEditor(fieldInfo, fieldInfo.GetValue(def.building), RSUUtil.Parse(fieldInfo, value), def.building); Editor = logicFieldEditor; WorldComp.AddEditor(Editor, false); }
public void SetEditorValue(LogicFieldEditor a, bool b) { if (!editors.ContainsKey(a)) { Log.Error("LogicFieldEditor was not found in the dictionary."); return; } editors[a] = b; if (initialized) { a.Resolve(b); } }
public override void Register(WorldComponent_DefEditingResearchManager comp) { WorldComp = comp; FieldInfo fieldInfo = def.GetType().GetFields(RSUUtil.universal).ToList().Find(field => field.Name == fieldName); if (fieldInfo == null) { Log.Error(string.Format("Cannot find field {0} in Def {1}", fieldName, def.defName)); } LogicFieldEditor logicFieldEditor = new LogicFieldEditor(fieldInfo, fieldInfo.GetValue(def), RSUUtil.Parse(fieldInfo, value), def); Editor = logicFieldEditor; WorldComp.AddEditor(Editor, false); }
public override void Register(WorldComponent_DefEditingResearchManager comp) { WorldComp = comp; FieldInfo fieldInfo = type.GetField(fieldName, RSUUtil.universal); var compProps = def.comps.Find(c => c.GetType() == type || c.GetType().IsSubclassOf(type)); if (compProps == null) { Log.Error("CompProperties type " + type.FullName + " was not found."); return; } LogicFieldEditor logicFieldEditor = new LogicFieldEditor(fieldInfo, fieldInfo.GetValue(compProps), RSUUtil.Parse(fieldInfo, value), compProps); Editor = logicFieldEditor; WorldComp.AddEditor(Editor, false); }
public void AddEditor(LogicFieldEditor a, bool b) { editors.Add(a, b); }