Ejemplo n.º 1
0
        public void RunCommand(UserCmd.CmdFields userCmd)
        {
            if (!EquippableGameObject)
            {
                return;
            }

            if (_equipped)
            {
                EquippableGameObject.ProcessRunCommand(userCmd);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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();
            }
        }