Exemple #1
0
        internal virtual TowerModel GetBaseParagonModel()
        {
            TowerModel towerModel;

            switch (ParagonMode)
            {
            case ParagonMode.Base000:
                towerModel = ModTowerHelper.CreateTowerModel(this, new[] { 0, 0, 0 });
                break;

            case ParagonMode.Base555:
                towerModel = ModTowerHelper.CreateTowerModel(this, new[] { 5, 5, 5 });
                break;

            case ParagonMode.None:
            default:
                return(null);
            }

            towerModel.appliedUpgrades = new Il2CppStringArray(6);
            for (var i = 0; i < 5; i++)
            {
                towerModel.appliedUpgrades[i] = upgrades[0, i].Id;
            }

            return(towerModel);
        }
Exemple #2
0
        internal override void PostRegister()
        {
            foreach (var towerModel in towerModels)
            {
                ModTowerHelper.FinalizeTowerModel(this, towerModel);
            }

            Game.instance.GetLocalizationManager().textTable[Id]                  = DisplayName;
            Game.instance.GetLocalizationManager().textTable[Id + "s"]            = DisplayNamePlural;
            Game.instance.GetLocalizationManager().textTable[Id + " Description"] = Description;

            if (!DontAddToShop)
            {
                try
                {
                    var index = GetTowerIndex(Game.instance.model.towerSet.ToList());
                    if (index >= 0)
                    {
                        var shopTowerDetailsModel = new ShopTowerDetailsModel(Id, index, 5, 5, 5, -1, 0, null);
                        Game.instance.model.AddTowerDetails(shopTowerDetailsModel, index);
                    }
                }
                catch (Exception)
                {
                    MelonLogger.Error($"Failed to add ModTower {Name} to the shop");
                    throw;
                }
            }

            ModTowerSet?.towers.Add(this);
        }
Exemple #3
0
 /// <inheritdoc />
 protected sealed override void Register()
 {
     towerModels = ModTowerHelper.AddTower(this);
 }
Exemple #4
0
 internal override void PostRegister()
 {
     base.PostRegister();
     ModTowerHelper.FinalizeHero(this);
 }