public SavedPickup(Pickup pickup) { tilePos = new SavedTilePos(pickup.position); if (pickup is ResourcePickup) { ResourcePickup resourcePickup = pickup as ResourcePickup; pickupType = 0; index = resourcePickup.info.ToIndex(); stackHeight = pickup.gameObjects.Count; } else if (pickup is WeaponPickup) { WeaponPickup weaponPickup = pickup as WeaponPickup; pickupType = 1; index = weaponPickup.info.ToIndex(); stackHeight = 1; } else if (pickup is AugmentPickup) { AugmentPickup augmentPickup = pickup as AugmentPickup; pickupType = 2; index = augmentPickup.info.ToIndex(); stackHeight = 1; } else { Debug.LogError("Unrecognized pickup type"); pickupType = -1; index = -1; stackHeight = -1; } }
public void PickupAugment(AugmentPickup newAugment) { if (body.UpdateAugment(newAugment.info)) { tm.PickupAugment(newAugment); } }
public AugmentPickup SpawnAugment(Vector3 position, AugmentInfo info, Island island) { Vector2 posV2 = PosToV2(position); if (island == null || GetBuildingAtPosition(posV2) != null || GetPickupAtPosition(posV2) != null) { return(null); } if (!Crafting.instance.augmentInfos.Contains(info)) { Debug.LogError("Augment info not found in list"); return(null); } GameObject augmentGO = Instantiate(info.pickupPrefab, island.transform); augmentGO.transform.position = position; AugmentPickup augment = new AugmentPickup(info, augmentGO, island); pickups.Add(posV2, augment); island.pickups.Add(augment); SavedGame.UpdatePickups(); return(augment); }
public void PickupAugment(AugmentPickup augment) { List <Pickup> objectsToPickup = new List <Pickup> { augment.ToPickup() }; PickupObjects(objectsToPickup); }
public void PickUpPickup() { Vector2 playerPos = TerrainManager.PosToV2(playerTransform.position); if (ResourcePickup.IsAtPosition(playerPos)) { CollectResource(ResourcePickup.GetAtPosition(playerPos)); } else if (WeaponPickup.IsAtPosition(playerPos)) { PickupWeapon(WeaponPickup.GetAtPosition(playerPos)); } else if (AugmentPickup.IsAtPosition(playerPos)) { PickupAugment(AugmentPickup.GetAtPosition(playerPos)); } }