public void ApplyData(ItemData data) { if (Player.Local == null) { return; } // TODO: // Because of this, and the UpdateData method, attachment data is useless and non-funtional. string[] keys = new string[] { "Sight Attachment", "Magazine Attachment", "Under Barrel Attachment", "Muzzle Attachment" }; GameObject player = Player.Local.gameObject; foreach (var key in keys) { if (data.ContainsKey(key)) { Item item = Item.GetItem(data.Get <string>(key)); Attachment a = item.GetComponent <Attachment>(); SetAttachment(player, a.Type, a, null); } } }
public void UpdateData(ItemData data) { Attachment a; Dictionary <AttachmentType, string> dic = new Dictionary <AttachmentType, string>(); dic.Add(AttachmentType.MAGAZINE, "Magazine Attachment"); dic.Add(AttachmentType.MUZZLE, "Muzzle Attachment"); dic.Add(AttachmentType.SIGHT, "Sight Attachment"); dic.Add(AttachmentType.UNDER_BARREL, "Under Barrel Attachment"); foreach (var pair in dic) { a = GetCurrentAttachment(pair.Key); if (a != null) { data.Update(pair.Value, a.Item.Prefab); } else { if (data.ContainsKey(pair.Value)) { data.Remove(pair.Value); } } } }
public Item(ItemId id, float range = 0) { Id = id; if (ItemData.ContainsKey(Id)) { ItemInfo = ItemData[Id]; } Range = range; }
public void SetDataDefaults(ItemData data) { data.Update("Bullet In Chamber", true); if (data.ContainsKey("Bullets In Magazine")) { int bullets = data.Get <int>("Bullets In Magazine"); data.Update("Bullets In Magazine", --bullets); } }
public void UpdateData(ItemData data) { if (PreventExploit) { data.Update("Shot Timer", timeRemainingOnShot); } else { if (data.ContainsKey("Shot Timer")) { data.Remove("Shot Timer"); } } }