/// <summary> /// Initialize entity relationships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { base.InitAdditionalRecipes(); if (!(ProtoEntity is IProtoItemFish fish)) { return; } if (fish.DropItemsList != null && fish.DropItemsList.EnumerateAllItems().Any()) { Droplist = new DroplistRecipeViewModel(this, fish.DropItemsList.EnumerateAllItems()); EntityViewModelsManager.AddRecipe(Droplist); } if (fish.BaitWeightList.Entries.Count > 0) { foreach (var baitWithWeight in fish.BaitWeightList.Entries) { var baitVM = EntityViewModelsManager.GetEntityViewModel(baitWithWeight.Value); if (baitVM is ProtoItemFishingBaitViewModel baitViewModel) { baitViewModel.AddRelatedFish(this, baitWithWeight.Weight); } else { Api.Logger.Error("CNEI: Wrong bait veiw model " + baitVM); } } } }
/// <summary> /// Initialize entity relationships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { if (ProtoEntity is IProtoCharacterMob creature && creature.LootDroplist != null && creature.LootDroplist.EnumerateAllItems().Any()) { Droplist = new DroplistRecipeViewModel(this, creature.LootDroplist.EnumerateAllItems()); EntityViewModelsManager.AddRecipe(Droplist); } }
/// <summary> /// Initilize entity reletionships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { if (ProtoEntity is IProtoObjectLoot loot && loot.LootDroplist != null && loot.LootDroplist.EnumerateAllItems().Any()) { Droplist = new DroplistRecipeViewModel(this, loot.LootDroplist.EnumerateAllItems()); EntityViewModelsManager.AddRecipe(Droplist); } }
/// <summary> /// Initialize entity relationships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { if (ProtoEntity is ProtoObjectHackableContainer hackableContainer && hackableContainer.LootDroplist != null && hackableContainer.LootDroplist.EnumerateAllItems().Any()) { Droplist = new DroplistRecipeViewModel(this, hackableContainer.LootDroplist.EnumerateAllItems()); EntityViewModelsManager.AddRecipe(Droplist); } }
/// <summary> /// Initilize entity reletionships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { if (ProtoEntity is IProtoObjectVegetation vegetation && vegetation.DroplistOnDestroy != null && vegetation.DroplistOnDestroy.EnumerateAllItems().Any()) { DroplistOnDestroy = new DroplistRecipeViewModel(this, vegetation.DroplistOnDestroy.EnumerateAllItems()); EntityViewModelsManager.AddRecipe(DroplistOnDestroy); } }
/// <summary> /// Initilize entity reletionships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { base.InitAdditionalRecipes(); if (ProtoEntity is IProtoObjectGatherableVegetation gatherableVegetation && gatherableVegetation.GatherDroplist != null && gatherableVegetation.GatherDroplist.EnumerateAllItems().Any()) { GatherDroplist = new DroplistRecipeViewModel(this, gatherableVegetation.GatherDroplist.EnumerateAllItems()); EntityViewModelsManager.AddRecipe(GatherDroplist); } }
/// <summary> /// Initialize entity relationships with each other - invoked after all entity view Models created, /// so you can access them by using <see cref="EntityViewModelsManager.GetEntityViewModel" /> /// and <see cref="EntityViewModelsManager.GetAllEntityViewModels" />. /// </summary> public override void InitAdditionalRecipes() { if (ProtoEntity is IProtoObjectMineral mineral) { if (mineral.DropItemsConfig == null) { return; } HashSet <IProtoItem> droplist = new HashSet <IProtoItem>(); droplist.AddRange(mineral.DropItemsConfig.Stage1.EnumerateAllItems()); droplist.AddRange(mineral.DropItemsConfig.Stage2.EnumerateAllItems()); droplist.AddRange(mineral.DropItemsConfig.Stage3.EnumerateAllItems()); droplist.AddRange(mineral.DropItemsConfig.Stage4.EnumerateAllItems()); if (droplist.Count > 0) { Droplist = new DroplistRecipeViewModel(this, droplist); EntityViewModelsManager.AddRecipe(Droplist); } } }