private void OnSicknessTrigger(GameObject target, TriggerInfo trigger) { int num = UnityEngine.Random.Range(0, trigger.sickness_ids.Length); string text = trigger.sickness_ids[num]; Sickness sickness = null; Database.Sicknesses sicknesses = Db.Get().Sicknesses; for (int i = 0; i < sicknesses.Count; i++) { if (sicknesses[i].Id == text) { sickness = sicknesses[i]; break; } } if (sickness != null) { string infection_source_info = trigger.sourceCallback(base.gameObject, target); SicknessExposureInfo exposure_info = new SicknessExposureInfo(sickness.Id, infection_source_info); Klei.AI.Sicknesses sicknesses2 = target.GetComponent <MinionModifiers>().sicknesses; sicknesses2.Infect(exposure_info); } else { DebugUtil.DevLogErrorFormat(base.gameObject, "Couldn't find sickness with id [{0}]", text); } }
public static List <SubEntry> CollectSubEntries(string folder) { List <SubEntry> list = new List <SubEntry>(); string path = (!(folder == string.Empty)) ? Path.Combine(baseEntryPath, folder) : baseEntryPath; string[] array = new string[0]; try { array = Directory.GetFiles(path, "*.yaml", SearchOption.AllDirectories); } catch (UnauthorizedAccessException obj) { Debug.LogWarning(obj); } string[] array2 = array; foreach (string text in array2) { try { SubEntry subEntry = YamlIO.LoadFile <SubEntry>(text, YamlParseErrorCB, widgetTagMappings); if (subEntry != null) { list.Add(subEntry); } } catch (Exception ex) { DebugUtil.DevLogErrorFormat("CodexCache.CollectSubEntries failed to load [{0}]: {1}", text, ex.ToString()); } } list.Sort((SubEntry x, SubEntry y) => x.title.CompareTo(y.title)); return(list); }
private void SanitizeMassAndTemperature() { if (_Temperature <= 0f) { DebugUtil.DevLogErrorFormat(base.gameObject, "{0} is attempting to serialize a temperature of <= 0K. Resetting to default.", base.gameObject.name); _Temperature = Element.defaultValues.temperature; } if (Mass > MAX_MASS) { DebugUtil.DevLogErrorFormat(base.gameObject, "{0} is attempting to serialize very large mass {1}. Resetting to default.", base.gameObject.name, Mass); Mass = Element.defaultValues.mass; } }
private void SetMass(float mass) { if ((mass > MAX_MASS || mass < 0f) && ElementID != SimHashes.Regolith) { DebugUtil.DevLogErrorFormat(base.gameObject, "{0} is getting an abnormal mass set {1}.", base.gameObject.name, Mass); } mass = Mathf.Clamp(mass, 0f, MAX_MASS); Units = mass / MassPerUnit; if (Units <= 0f && !KeepZeroMassObject) { Util.KDestroyGameObject(base.gameObject); } else if (!KeepZeroMassObject && Units <= 0f) { throw new ArgumentException("Invalid mass"); } }
public static List <CodexEntry> CollectEntries(string folder) { List <CodexEntry> list = new List <CodexEntry>(); string path = (!(folder == string.Empty)) ? Path.Combine(baseEntryPath, folder) : baseEntryPath; string[] array = new string[0]; try { array = Directory.GetFiles(path, "*.yaml"); } catch (UnauthorizedAccessException obj) { Debug.LogWarning(obj); } string category = folder.ToUpper(); string[] array2 = array; foreach (string text in array2) { try { CodexEntry codexEntry = YamlIO.LoadFile <CodexEntry>(text, YamlParseErrorCB, widgetTagMappings); if (codexEntry != null) { codexEntry.category = category; list.Add(codexEntry); } } catch (Exception ex) { DebugUtil.DevLogErrorFormat("CodexCache.CollectEntries failed to load [{0}]: {1}", text, ex.ToString()); } } foreach (CodexEntry item in list) { if (string.IsNullOrEmpty(item.sortString)) { item.sortString = Strings.Get(item.title); } } list.Sort((CodexEntry x, CodexEntry y) => x.sortString.CompareTo(y.sortString)); return(list); }
public bool IsPotentialSuccess() { if (IsSuccess()) { return(true); } if ((UnityEngine.Object)chore.driver == (UnityEngine.Object)consumerState.choreDriver) { return(true); } if (failedPreconditionId != -1) { if (failedPreconditionId >= 0 && failedPreconditionId < chore.preconditions.Count) { PreconditionInstance preconditionInstance = chore.preconditions[failedPreconditionId]; return(preconditionInstance.id == ChorePreconditions.instance.IsMoreSatisfyingLate.id); } DebugUtil.DevLogErrorFormat("failedPreconditionId out of range {0}/{1}", failedPreconditionId, chore.preconditions.Count); } return(false); }
protected override void OnActivate() { title = UI.CONSUMABLESSCREEN.TITLE; base.OnActivate(); AddPortraitColumn("Portrait", base.on_load_portrait, null, true); AddButtonLabelColumn("Names", base.on_load_name_label, base.get_value_name_label, delegate(GameObject widget_go) { GetWidgetRow(widget_go).SelectMinion(); }, delegate(GameObject widget_go) { GetWidgetRow(widget_go).SelectAndFocusMinion(); }, base.compare_rows_alphabetical, on_tooltip_name, base.on_tooltip_sort_alphabetically, false); AddLabelColumn("QOLExpectations", on_load_qualityoflife_expectations, get_value_qualityoflife_label, compare_rows_qualityoflife_expectations, on_tooltip_qualityoflife_expectations, on_tooltip_sort_qualityoflife_expectations, 96, true); List <IConsumableUIItem> list = new List <IConsumableUIItem>(); for (int i = 0; i < FOOD.FOOD_TYPES_LIST.Count; i++) { list.Add(FOOD.FOOD_TYPES_LIST[i]); } List <GameObject> prefabsWithTag = Assets.GetPrefabsWithTag(GameTags.Medicine); for (int j = 0; j < prefabsWithTag.Count; j++) { MedicinalPill component = prefabsWithTag[j].GetComponent <MedicinalPill>(); if ((bool)component) { list.Add(component); } else { DebugUtil.DevLogErrorFormat("Prefab tagged Medicine does not have MedicinalPill component: {0}", prefabsWithTag[j]); } } list.Sort(delegate(IConsumableUIItem a, IConsumableUIItem b) { int num2 = a.MajorOrder.CompareTo(b.MajorOrder); if (num2 == 0) { num2 = a.MinorOrder.CompareTo(b.MinorOrder); } return(num2); }); ConsumerManager.instance.OnDiscover += OnConsumableDiscovered; List <ConsumableInfoTableColumn> list2 = new List <ConsumableInfoTableColumn>(); List <DividerColumn> list3 = new List <DividerColumn>(); List <ConsumableInfoTableColumn> list4 = new List <ConsumableInfoTableColumn>(); StartScrollableContent("consumableScroller"); int num = 0; for (int k = 0; k < list.Count; k++) { if (list[k].Display) { if (list[k].MajorOrder != num && k != 0) { string id = "QualityDivider_" + list[k].MajorOrder; ConsumableInfoTableColumn[] quality_group_columns = list4.ToArray(); DividerColumn dividerColumn = new DividerColumn(delegate { if (quality_group_columns == null || quality_group_columns.Length == 0) { return(true); } ConsumableInfoTableColumn[] array = quality_group_columns; foreach (ConsumableInfoTableColumn consumableInfoTableColumn in array) { if (consumableInfoTableColumn.isRevealed) { return(true); } } return(false); }, "consumableScroller"); list3.Add(dividerColumn); RegisterColumn(id, dividerColumn); list4.Clear(); } ConsumableInfoTableColumn item = AddConsumableInfoColumn(list[k].ConsumableId, list[k], on_load_consumable_info, get_value_consumable_info, on_click_consumable_info, set_value_consumable_info, compare_consumable_info, on_tooltip_consumable_info, on_tooltip_sort_consumable_info); list2.Add(item); num = list[k].MajorOrder; list4.Add(item); } } AddSuperCheckboxColumn("SuperCheckConsumable", list2.ToArray(), base.on_load_value_checkbox_column_super, get_value_checkbox_column_super, base.on_press_checkbox_column_super, base.set_value_checkbox_column_super, null, on_tooltip_consumable_info_super); }