Browse Source

[ScrapYard] [2.0.2.2] Single based world

Zariteis 4 years ago
parent
commit
869ca701e1

BIN
ScrapYard/Assets/bScrapYardbg0.png


BIN
ScrapYard/Assets/bScrapYardbg1.png


BIN
ScrapYard/Assets/bScrapYardbg2.png


BIN
ScrapYard/Assets/bScrapYardbg3.png


BIN
ScrapYard/Assets/bgScrapYard.pdn


BIN
ScrapYard/Assets/bgScrapYard.png


BIN
ScrapYard/Assets/bgScrapYard2.pdn


BIN
ScrapYard/Assets/entranceScrapYard.png


BIN
ScrapYard/Assets/kylockeBody.png


BIN
ScrapYard/Assets/kylockeHead.png


BIN
ScrapYard/Assets/kylockeStand.png


BIN
ScrapYard/Assets/merchantBody.png


BIN
ScrapYard/Assets/merchantHead.png


BIN
ScrapYard/Assets/parallax.png


BIN
ScrapYard/Assets/planetScrapYard.png


BIN
ScrapYard/Assets/planetScrapYardPrev.png


BIN
ScrapYard/Assets/portraitPerceval.png


BIN
ScrapYard/Assets/shopStand.png


BIN
ScrapYard/Assets/shopStand_old.png


BIN
ScrapYard/Assets/sideBigScrapYard.png


BIN
ScrapYard/Assets/sideSmallScrapYard.png


BIN
ScrapYard/Assets/signScrapYard.png


+ 63 - 17
ScrapYard/ScrapYard.cs

@@ -1,5 +1,6 @@
 using UnityEngine;
 using GadgetCore.API;
+using System.Collections.Generic;
 
 namespace ScrapYard
 {
@@ -31,34 +32,79 @@ namespace ScrapYard
 
     protected override void Initialize()
     {
-      Logger.Log("ScrapYard v" + Info.Mod.Version);
+      Logger.Log("Scrap Yard v" + Info.Mod.Version);
       Core.logger = Logger;
 
-      Texture2D texturePlanetIcon = GadgetCoreAPI.LoadTexture2D("planetScrapYard.png", false);
-      Texture2D texturePlanetPrevIcon = GadgetCoreAPI.LoadTexture2D("planetScrapYardPrev.png", false);
-      Texture2D texturePortalSign = GadgetCoreAPI.LoadTexture2D("signScrapYard.png", false); 
-       Texture2D textureBG= GadgetCoreAPI.LoadTexture2D("bgScrapYard.png", false);
-      Texture2D textureParalex0 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg0.png", false);
-      Texture2D textureParalex1 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg1.png", false);
-      Texture2D textureParalex2 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg2.png", false);
-      Texture2D textureParalex3 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg3.png", false);
+      Texture2D texturePlanetIcon = GadgetCoreAPI.LoadTexture2D("planetScrapYard.png");
+      Texture2D texturePlanetPrevIcon = GadgetCoreAPI.LoadTexture2D("planetScrapYardPrev.png");
+      Texture2D texturePortalSign = GadgetCoreAPI.LoadTexture2D("signScrapYard.png");
+      Texture2D textureBG = GadgetCoreAPI.LoadTexture2D("bgScrapYard.png");
+      Texture2D textureParalex = GadgetCoreAPI.LoadTexture2D("parallax.png");
+      Texture2D textureParalex0 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg0.png");
+      Texture2D textureParalex1 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg1.png");
+      Texture2D textureParalex2 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg2.png");
+      Texture2D textureParalex3 = GadgetCoreAPI.LoadTexture2D("bScrapYardbg3.png");
 
-      Texture2D textureEntrance = GadgetCoreAPI.LoadTexture2D("entranceScrapYard.png", false);
-      Texture2D textureSmallSide = GadgetCoreAPI.LoadTexture2D("sideSmallScrapYard.png", false);
-      Texture2D textureBigSide = GadgetCoreAPI.LoadTexture2D("sideBigScrapYard.png", false);
+      Texture2D textureEntrance = GadgetCoreAPI.LoadTexture2D("entranceScrapYard.png");
+      Texture2D textureSmallSide = GadgetCoreAPI.LoadTexture2D("sideSmallScrapYard.png");
+      Texture2D textureBigSide = GadgetCoreAPI.LoadTexture2D("sideBigScrapYard.png");
 
-      Texture2D textureMid0 = GadgetCoreAPI.LoadTexture2D("midScrapYardChunk0.png", false);
-      Texture2D textureMid1 = GadgetCoreAPI.LoadTexture2D("midScrapYardChunk1.png", false);
+      Texture2D textureMid0 = GadgetCoreAPI.LoadTexture2D("midScrapYardChunk0.png");
+      Texture2D textureMid1 = GadgetCoreAPI.LoadTexture2D("midScrapYardChunk1.png");
 
-      PlanetInfo scrapYardPlanet = new PlanetInfo(PlanetType.NORMAL, "Scrap Yard", new GadgetCore.Util.Tuple<int, int>[] { new GadgetCore.Util.Tuple<int, int>(1, 100)  });
+      PlanetInfo scrapYardPlanet = new PlanetInfo(PlanetType.SINGLE, "Scrap Yard", new GadgetCore.Util.Tuple<int, int>[] { new GadgetCore.Util.Tuple<int, int>(1, 100) });
       scrapYardPlanet.SetPortalInfo(texturePortalSign, texturePlanetPrevIcon, texturePlanetIcon);
-      scrapYardPlanet.SetBackgroundInfo(textureBG, textureParalex0, textureParalex1, textureParalex2, textureParalex3);
+      scrapYardPlanet.SetBackgroundInfo(textureParalex, textureParalex0, textureParalex1, textureParalex2, textureParalex3);
       scrapYardPlanet.SetTerrainInfo(textureEntrance, textureBG, textureMid0, textureMid1, textureBigSide, textureSmallSide);
+
+      scrapYardPlanet.OnGenerateInsideTown += GenerateTown;
+      scrapYardPlanet.PortalUses = 300;
+
+      {
+        var scrapYardShopBuilding = Object.Instantiate((GameObject)Resources.Load("prop/2501"));
+        scrapYardShopBuilding.transform.localScale *= 8;
+        Texture2D texture = GadgetCoreAPI.LoadTexture2D("shopStand.png");
+        var renderer = scrapYardShopBuilding.GetComponentInChildren<Renderer>();
+        renderer.material = new Material(Shader.Find("Unlit/Transparent"))
+        {
+          mainTexture = texture
+        };
+        GadgetCoreAPI.AddCustomResource("prop/ScrapYard/scrapYardShopBuilding", scrapYardShopBuilding);
+      }
+
+      {
+        var scrapYardMerchant = Object.Instantiate((GameObject)Resources.Load("npc/perceval"));
+        Texture2D textureBody = GadgetCoreAPI.LoadTexture2D("merchantBody.png");
+        Texture2D textureHead = GadgetCoreAPI.LoadTexture2D("merchantHead.png");
+        var gameObjectBody = scrapYardMerchant.transform.Find("e").Find("perceval").FindChild("Plane_002");
+        var rendererBody = gameObjectBody.gameObject.GetComponentInChildren<Renderer>();
+        rendererBody.material = new Material(Shader.Find("Unlit/Transparent"))
+        {
+          mainTexture = textureBody
+        };
+        rendererBody.transform.position = new Vector3(0, 0, 0.1f);
+        var gameObjectHead = scrapYardMerchant.transform.Find("e").Find("perceval").FindChild("Plane");
+        var rendererHead = gameObjectHead.gameObject.GetComponentInChildren<Renderer>();
+        rendererHead.material = new Material(Shader.Find("Unlit/Transparent"))
+        {
+          mainTexture = textureHead
+        };
+        Component.DestroyImmediate(scrapYardMerchant.GetComponent<npcTurnScript>());
+        GadgetCoreAPI.AddCustomResource("prop/ScrapYard/scrapYardMerchant", scrapYardMerchant);
+      }
+
       scrapYardPlanet.Register("Scrap Yard");
+    }
 
 
-      //PlanetRegistry.SetVanillaExitPortalWeight(0, scrapYardPlanet.GetID(), 1000);
+    private static IEnumerable<GameObject> GenerateTown(Chunk chunk)
+    {
+      var list = new List<GameObject>();
+
+      list.Add((GameObject)Network.Instantiate(Resources.Load("prop/ScrapYard/scrapYardShopBuilding"), new Vector3(250f, -6f + 0.118f, 0.3f), Quaternion.identity, 0));
+      list.Add((GameObject)Network.Instantiate(Resources.Load("prop/ScrapYard/scrapYardMerchant"), new Vector3(255f, -6f - 0.118f * 12, 0.2f), Quaternion.identity, 0));
 
+      return list;
     }
   }
 }

+ 20 - 0
ScrapYard/ScrapYard.csproj

@@ -36,18 +36,26 @@
   <ItemGroup>
     <Reference Include="0Harmony">
       <HintPath>$(GamePath)$(ManagedFolder)0Harmony.dll</HintPath>
+      <SpecificVersion>false</SpecificVersion>
       <Private>false</Private>
+      <RequiredTargetFramework>net35</RequiredTargetFramework>
     </Reference>
     <Reference Include="Assembly-CSharp">
       <HintPath>$(GamePath)$(ManagedFolder)Assembly-CSharp.dll</HintPath>
+      <SpecificVersion>false</SpecificVersion>
+      <RequiredTargetFramework>net35</RequiredTargetFramework>
       <Private>false</Private>
     </Reference>
     <Reference Include="GadgetCore">
       <HintPath>$(GamePath)$(ManagedFolder)GadgetCore.dll</HintPath>
+      <SpecificVersion>false</SpecificVersion>
+      <RequiredTargetFramework>net35</RequiredTargetFramework>
       <Private>false</Private>
     </Reference>
     <Reference Include="UnityEngine">
       <HintPath>$(GamePath)$(ManagedFolder)UnityEngine.dll</HintPath>
+      <SpecificVersion>false</SpecificVersion>
+      <RequiredTargetFramework>net35</RequiredTargetFramework>
       <Private>false</Private>
     </Reference>
     <Reference Include="WindowsBase" />
@@ -170,6 +178,12 @@
     <None Update="Assets\iYellowLamp.png">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Update="Assets\merchantBody.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Update="Assets\merchantHead.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Update="Assets\midCoverChunk0.png">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
@@ -185,12 +199,18 @@
     <None Update="Assets\one">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Update="Assets\parallax.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Update="Assets\planetScrapYard.png">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
     <None Update="Assets\planetScrapYardPrev.png">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Update="Assets\shopStand.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Update="Assets\sideBigScrapYard.png">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>