Exemple #1
0
            private static void Prefix(Demolishable __instance)
            {
                if (__instance != null && !destroyed.Get(__instance))
                {
                    // лутаемые объекты типа шкафчиков
                    var setLocker = __instance.GetComponent <SetLocker>();
                    // if (!setLocker.used) setLocker.CompleteChore();
                    if (setLocker != null && !used.Get(setLocker))
                    {
                        CompleteChore.Invoke(setLocker);
                    }

                    // объекты которые можно "осмотреть", запись в кодекс
                    var loreBearer = __instance.GetComponent <LoreBearer>();
                    // if (!loreBearer.BeenClicked) loreBearer.OnClickRead();
                    if (loreBearer != null && !BeenClicked.Get(loreBearer))
                    {
                        OnClickRead.Invoke(loreBearer);
                    }

                    // калибратор. если не использован - нужно дропнуть зарядник
                    var geneShuffler = __instance.GetComponent <GeneShuffler>();
                    if (geneShuffler != null && !geneShuffler.IsConsumed)
                    {
                        geneShuffler.IsConsumed = true;
                        Scenario.SpawnPrefab(Grid.PosToCell(__instance), dropOffset.x, dropOffset.y, GeneShufflerRechargeConfig.ID, Grid.SceneLayer.Front).SetActive(true);
                        PopFXManager.Instance.SpawnFX(PopFXManager.Instance.sprite_Plus, Assets.GetPrefab(GeneShufflerRechargeConfig.ID.ToTag()).GetProperName(), __instance.transform, 1.5f, false);
                    }
                }
            }
Exemple #2
0
 private static void Prefix(Demolishable __instance)
 {
     if (__instance != null && !destroyed.Get(__instance))
     {
         var geneShuffler = __instance.GetComponent <GeneShuffler>();
         if (geneShuffler != null)
         {
             // если калибратор не использован - нужно дропнуть зарядник
             if (!geneShuffler.IsConsumed)
             {
                 geneShuffler.IsConsumed = true;
                 Scenario.SpawnPrefab(Grid.PosToCell(__instance), dropOffset.x, dropOffset.y, GeneShufflerRechargeConfig.ID, Grid.SceneLayer.Front).SetActive(true);
                 PopFXManager.Instance.SpawnFX(PopFXManager.Instance.sprite_Plus, Assets.GetPrefab(GeneShufflerRechargeConfig.ID.ToTag()).GetProperName(), __instance.transform, 1.5f, false);
             }
             __instance.GetComponent <BuildedGeneShuffler>()?.SpawnItemsFromConstruction();
         }
     }
 }