Exemplo n.º 1
0
        /// <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);
                    }
                }
            }
        }
Exemplo n.º 2
0
 /// <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);
     }
 }
Exemplo n.º 3
0
 /// <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);
     }
 }
Exemplo n.º 4
0
 /// <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);
     }
 }
Exemplo n.º 5
0
 /// <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);
     }
 }
Exemplo n.º 6
0
        /// <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);
            }
        }
Exemplo n.º 7
0
        /// <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);
                }
            }
        }