/// <summary> /// Registers a CustomFish object into the game /// </summary> /// <param name="fish">The CustomFish that you are registering</param> /// <returns>The TechType created using the info from your CustomFish object</returns> TechType IFishHandler.RegisterFish(Fish fish) { TechType type = TechTypeHandler.AddTechType(fish.id, fish.displayName, fish.tooltip); fishTechTypes.Add(type); FishPrefab fishPrefab = new FishPrefab(fish.id, $"WorldEntities/Tools/{fish.id}", type) { modelPrefab = fish.modelPrefab, swimSpeed = fish.swimSpeed, swimRadius = fish.swimRadius, swimInterval = fish.swimInterval, pickupable = fish.isPickupable, isWaterCreature = fish.isWaterCreature }; if (!string.IsNullOrEmpty(fish.spriteFileName)) { SpriteHandler.RegisterSprite(type, Path.Combine(Path.Combine(Environment.CurrentDirectory, "QMods"), fish.spriteFileName)); } PrefabHandler.RegisterPrefab(fishPrefab); Logger.Debug($"Successfully registered fish: '{fish.displayName}' with Tech Type: '{fish.id}'"); return(type); }
/// <summary> /// Registers a CustomFish object into the game /// </summary> /// <param name="fish">The CustomFish that you are registering</param> /// <returns>The TechType created using the info from your CustomFish object</returns> public static TechType RegisterFish(CustomFish fish) { Logger.Log($"[FishFramework] Creating fish: {fish.displayName}"); TechType type = TechTypeHandler.AddTechType(fish.id, fish.displayName, fish.tooltip); fishTechTypes.Add(type); CustomFishPrefab fishPrefab = new CustomFishPrefab(fish.id, $"WorldEntities/Tools/{fish.id}", type) { modelPrefab = fish.modelPrefab, swimSpeed = fish.swimSpeed, swimRadius = fish.swimRadius, swimInterval = fish.swimInterval, pickupable = fish.isPickupable, isWaterCreature = fish.isWaterCreature }; if (!string.IsNullOrEmpty(fish.spriteFileName)) { SpriteHandler.RegisterSprite(type, Path.Combine(Environment.CurrentDirectory + "/QMods/", fish.spriteFileName)); } PrefabHandler.RegisterPrefab(fishPrefab); return(type); }