Esempio n. 1
0
        public static bool IsValidIdentifier(AmmoIdentifier identifier)
        {
            switch (identifier.AmmoType)
            {
            case AmmoType.GADGET:
                return(ModdedStringRegistry.IsValidString(identifier.stringIdentifier));

            case AmmoType.LANDPLOT:
                return(ModdedStringRegistry.IsValidString(identifier.stringIdentifier) && Enum.IsDefined(typeof(SiloStorage.StorageType), (SiloStorage.StorageType)(int) identifier.longIdentifier));

            case AmmoType.PLAYER:
                return(Enum.IsDefined(typeof(PlayerState.AmmoMode), (PlayerState.AmmoMode)(int) identifier.longIdentifier));
            }
            return(true);
        }
Esempio n. 2
0
        public static List <AmmoDataV02> ResolveToData(AmmoIdentifier identifier, Game game)
        {
            switch (identifier.AmmoType)
            {
            case AmmoType.PLAYER:
                return(game.player.ammo[(PlayerState.AmmoMode)identifier.longIdentifier]);

            case AmmoType.GADGET:
                return(ModdedStringRegistry.IsValidString(identifier.stringIdentifier) ? (game.world.placedGadgets[identifier.stringIdentifier].drone?.drone?.ammo is AmmoDataV02 amdat ? new AmmoDataV02[] { amdat }.ToList() : game.world.placedGadgets[identifier.stringIdentifier].ammo) :null);

            case AmmoType.LANDPLOT:
                return(game.ranch.plots.FirstOrDefault((x) => x.id == identifier.stringIdentifier)?
                       .siloAmmo[(SiloStorage.StorageType)identifier.longIdentifier]);
            }

            return(null);
        }