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(); }
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(); }