public void RunCommand(UserCmd.CmdFields userCmd) { if (!EquippableGameObject) { return; } if (_equipped) { EquippableGameObject.ProcessRunCommand(userCmd); } }
private void SetItemName(string itemName) { _itemName = itemName; var data = GameData.Instance.Equippables.FirstOrDefault(x => string.Equals(x.Name, itemName, StringComparison.OrdinalIgnoreCase)); if (data == null) { if (Game.IsHost) { Delete(); } Debug.LogError("Missing Equippable: " + itemName); return; } _itemName = data.Name; //var dataInstance = GameObject.Instantiate(data); var obj = Game.NewGameObject(); EntityGameObject = obj.AddComponent(data.ComponentType) as EquippableGameObject; EquippableGameObject.Init(this, data); SetIsEquipped(_equipped); }
private void SetIsEquipped(bool equipped) { _equipped = equipped; if (!EquippableGameObject) { return; } if (equipped) { if (Human == null) { Debug.LogError("Attempted to equip when Human is null!"); return; } Human.Equippables.SetEquippedItem(this); EquippableGameObject.ProcessEquip(); } else { EquippableGameObject.ProcessUnequip(); } }