Ejemplo n.º 1
0
        public void SpawnItem(ItemDefinition item, Vector2Int spawnPosition)
        {
            ItemBehaviour instantiatedItem = _itemBehaviourFactory.Create();

            instantiatedItem.GetComponent <SpriteRenderer>().sprite = item.Sprite;
            instantiatedItem.ItemData.ItemType       = item.ItemType;
            instantiatedItem.ItemData.ItemDefinition = item;

            Vector2Int positionToPlaceItem = GetPositionToPlaceItem(spawnPosition);

            instantiatedItem.ItemData.LogicalPosition = positionToPlaceItem;
            instantiatedItem.RefreshWorldPosition();
        }
Ejemplo n.º 2
0
        public void SpawnWeapon(WeaponDefinition weaponToSpawn, Vector2Int spawnPosition, ItemDefinition previousWeapon = null)
        {
            ItemBehaviour instantiatedItem = _itemBehaviourFactory.Create();

            instantiatedItem.GetComponent <SpriteRenderer>().sprite = weaponToSpawn.Sprite;
            instantiatedItem.ItemData.ItemType         = ItemType.Weapon;
            instantiatedItem.ItemData.WeaponDefinition = weaponToSpawn;
            instantiatedItem.ItemData.ItemDefinition   = previousWeapon;

            Vector2Int positionToPlaceItem = GetPositionToPlaceItem(spawnPosition);

            instantiatedItem.ItemData.LogicalPosition = positionToPlaceItem;
            instantiatedItem.RefreshWorldPosition();
        }