Example #1
0
 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;
     }
 }
Example #2
0
 public void PickupAugment(AugmentPickup newAugment)
 {
     if (body.UpdateAugment(newAugment.info))
     {
         tm.PickupAugment(newAugment);
     }
 }
Example #3
0
    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);
    }
Example #4
0
    public void PickupAugment(AugmentPickup augment)
    {
        List <Pickup> objectsToPickup = new List <Pickup> {
            augment.ToPickup()
        };

        PickupObjects(objectsToPickup);
    }
Example #5
0
    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));
        }
    }