public static void OnPlayerEditedNetworkInputfield(InputfieldEditCallbackData data) { Dictionary <ushort, int> warning = Warning.warnings.GetValueOrDefault(data.Player.ID, new Dictionary <ushort, int>()); if (data.InputfieldIdentifier.StartsWith("Khanx.Warning.")) { IEnumerable <ItemTypes.ItemType> itemsInCategory = ItemTypes.NotableTypes.Where(type => type.HasCategory(Warning.PreferredCategories[data.Storage.GetAs <int>("Khanx.Warning.categoryDropDown")])); foreach (ItemTypes.ItemType item in itemsInCategory) { data.Storage.TryGetAsOrDefault <int>("Khanx.Warning." + item.Name + "Field", out int amount, 0); int warningAmount = warning.GetValueOrDefault(item.ItemIndex, 0); if (amount != warningAmount) { if (warning.ContainsKey(item.ItemIndex)) { warning.Remove(item.ItemIndex); } warning.Add(item.ItemIndex, amount); } } if (Warning.warnings.ContainsKey(data.Player.ID)) { Warning.warnings.Remove(data.Player.ID); } Warning.warnings.Add(data.Player.ID, warning); } }
public static void OnPlayerEditedNetworkInputfield(InputfieldEditCallbackData data) { if (data.InputfieldIdentifier.StartsWith("Khanx.Sign.")) { data.Storage.TryGetAsOrDefault <string>(data.InputfieldIdentifier, out string text, "-"); string[] sPosition = data.InputfieldIdentifier.Substring(11).Split('.'); // 11 = Khanx.Sign. Vector3Int position = new Vector3Int(int.Parse(sPosition[0]), int.Parse(sPosition[1]), int.Parse(sPosition[2])); Sign sign = signs.GetValueOrDefault(position, new Sign(data.Player.ID, text)); sign.text = text; if (signs.ContainsKey(position)) { signs.Remove(position); } signs.Add(position, sign); } }