| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- using GadgetCore.API;
- using UnityEngine;
- namespace Subworlds
- {
- [Gadget("SubworldShip", LoadAfter: new string[] { "RecipeMenuCore", "SubworldCore" }, Dependencies: new string[] { "RecipeMenuCore", "SubworldCore" })]
- public partial class SubworldsGadget : Gadget<SubworldsGadget>
- {
- protected override void LoadConfig()
- {
- Config.Load();
- string fileVersion = Config.ReadString("ConfigVersion", CoreGadget.CONFIG_VERSION, comments: "The Config Version (not to be confused with mod version)");
- if (fileVersion != CoreGadget.CONFIG_VERSION)
- {
- Config.Reset();
- Config.WriteString("ConfigVersion", CoreGadget.CONFIG_VERSION, comments: "The Config Version (not to be confused with mod version)");
- }
- Config.Save();
- }
- public override string GetModDescription()
- {
- return "A mod that adds ships that can be reaided.";
- }
- protected override void Initialize()
- {
- Logger.Log("Subworlds v" + Info.Mod.Version);
- Core.logger = Logger;
- Texture2D texturePlanetIcon = GadgetCoreAPI.LoadTexture2D("Ship/icon.png");
- Texture2D texturePlanetPrevIcon = GadgetCoreAPI.LoadTexture2D("Ship/button.png");
- Texture2D texturePortalSign = GadgetCoreAPI.LoadTexture2D("Ship/sign.png");
- AudioClip audioShip = GadgetCoreAPI.LoadAudioClip("01_space.ogg");
- Core.shipPlanet = new PlanetInfo(PlanetType.SPECIAL, "Subworld Ship", new GadgetCore.Util.Tuple<int, int>[] { new GadgetCore.Util.Tuple<int, int>(1, 100) }, audioShip);
- var planet = Core.shipPlanet;
- planet.SetPortalInfo(texturePortalSign, texturePlanetPrevIcon, texturePlanetIcon);
- planet.OnGenerateWorld += ShipGenerator.GenarateTown;
- planet.OnGenerateTown += ShipGenerator.Genarate;
- planet.Register("SubworldShip");
- planet.PortalUses = -1;
- // Create World Parts
- CreateShipPart("ShipAEntrance", GadgetCoreAPI.LoadTexture2D("Ship/shipAEntranceFG.png"), GadgetCoreAPI.LoadTexture2D("Ship/shipAEntranceBG.png"), new int[][] {
- new int[] { 11, 5, 5, 1}
- , new int[] { 11, 5, 1, 6}
- , new int[] { 11, 10, 5, 1}
- }, new int[][] { }, 16, 16);
- CreateShipPart("ShipAMain", GadgetCoreAPI.LoadTexture2D("Ship/shipAMainFG.png"), GadgetCoreAPI.LoadTexture2D("Ship/shipAMainBG.png"), new int[][] {
- new int[] { 0, 0, 32, 1}
- , new int[] { 0, 15, 32, 1}
- , new int[] { 0, 0, 1, 6}
- , new int[] { 31, 0, 1, 6}
- , new int[] { 0, 10, 1, 6}
- , new int[] { 31, 10, 1, 6}
- , new int[] { 3, 5, 4, 1}
- , new int[] { 9, 5, 4, 1}
- , new int[] { 19, 5, 4, 1}
- , new int[] { 25, 5, 4, 1}
- , new int[] { 3, 10, 4, 1}
- , new int[] { 9, 10, 4, 1}
- , new int[] { 19, 10, 4, 1}
- , new int[] { 25, 10, 4, 1}
- }, new int[][] {
- new int[] { 3, 7, 0 }
- , new int[] { 6, 7, 1 }
- , new int[] { 25, 7, 1 }
- , new int[] { 28, 7, 0 }
- });
- CreateShipPart("ShipAExit", GadgetCoreAPI.LoadTexture2D("Ship/shipAExitFG.png"), GadgetCoreAPI.LoadTexture2D("Ship/shipAExitBG.png"), new int[][] {
- new int[] { 0, 5, 10, 1}
- , new int[] { 0, 10, 13, 1}
- , new int[] { 10, 6, 2, 1}
- , new int[] { 12, 7, 1, 4}
- }, new int[][] {
- new int[] { 5, 7, 0 }
- }, 16, 16);
- CreateShipPart("ShuttleMain", GadgetCoreAPI.LoadTexture2D("Ship/shuttleMainFG.png"), GadgetCoreAPI.LoadTexture2D("Ship/shuttleMainBG.png"), new int[][] {
- new int[] { 3, 5, 10, 1}
- , new int[] { 3, 10, 11, 1}
- , new int[] { 3, 5, 1, 5}
- , new int[] { 13, 6, 1, 1}
- , new int[] { 14, 7, 1, 3}
- }, new int[][] {
- new int[] { 5, 7, 0 }
- }, 16, 16);
- // Create Decorations
- CreateObject("BrokenTeleporter", GadgetCoreAPI.LoadTexture2D("Ship/brokenTeleporter.png"), true);
- CreateBrakableObject("BrokenPirate1", GadgetCoreAPI.LoadTexture2D("Ship/brokenPirate1.png"), true);
- CreateBrakableObject("BrokenPirate2", GadgetCoreAPI.LoadTexture2D("Ship/brokenPirate2.png"), true);
- CreateBrakableObject("BrokenPirate3", GadgetCoreAPI.LoadTexture2D("Ship/brokenPirate3.png"), true);
- CreateBrakableObject("BrokenPirate4", GadgetCoreAPI.LoadTexture2D("Ship/brokenPirate4.png"), true);
- CreateBrakableObject("BrokenPirate5", GadgetCoreAPI.LoadTexture2D("Ship/brokenPirate5.png"), true);
- CreateBrakableObject("BrokenPirate6", GadgetCoreAPI.LoadTexture2D("Ship/brokenPirate6.png"), true);
- CreateBrakableObject("BrokenCrates1", GadgetCoreAPI.LoadTexture2D("Ship/brokenCrates1.png"));
- CreateBrakableObject("BrokenCrates2", GadgetCoreAPI.LoadTexture2D("Ship/brokenCrates2.png"));
- CreateBrakableObject("BrokenCrates3", GadgetCoreAPI.LoadTexture2D("Ship/brokenCrates3.png"));
- CreateBrakableObject("BrokenCrates4", GadgetCoreAPI.LoadTexture2D("Ship/brokenCrates4.png"));
- CreateBrakableObject("BrokenItemMod", GadgetCoreAPI.LoadTexture2D("Ship/brokenItemMod.png"));
- CreateBrakableObject("BrokenChest", GadgetCoreAPI.LoadTexture2D("Ship/brokenChest.png"));
- // Create Enemies
- CreateSliverEnemy("BrokenSliver", GadgetCoreAPI.LoadTexture2D("Ship/brokenSliverHead.png"), GadgetCoreAPI.LoadTexture2D("Ship/brokenSliverBody.png"), GadgetCoreAPI.LoadTexture2D("Ship/brokenSliverTail.png"));
- CreateDroidEnemy("BrokenDroid", GadgetCoreAPI.LoadTexture2D("Ship/droid.png"));
- CreateTurretEnemy("Turret", GadgetCoreAPI.LoadTexture2D("Ship/brokenTurret.png"), GadgetCoreAPI.LoadTexture2D("Ship/brokenTurretTop.png"));
- // Create Hazards
- CreateLaserHazard("LaserHazard", GadgetCoreAPI.LoadTexture2D("Ship/brokenLaser.png"));
- CreateOldChest("OldChest", GadgetCoreAPI.LoadTexture2D("Ship/oldChest.png"));
- }
- }
- }
|