// Token: 0x06000012 RID: 18 RVA: 0x000025CC File Offset: 0x000007CC
        public static bool Prefix(Terraformer __instance)
        {
            SkinnedMeshRenderer[] allComponentsInChildren = __instance.GetAllComponentsInChildren <SkinnedMeshRenderer>();
            foreach (SkinnedMeshRenderer skinnedMeshRenderer in allComponentsInChildren)
            {
                bool flag = skinnedMeshRenderer.name.Contains("Terraformer_body");
                if (flag)
                {
                    skinnedMeshRenderer.material.color = new Color32(Convert.ToByte(MainPatch.config.Terrafvalue), Convert.ToByte(MainPatch.config.Terrafgvalue), Convert.ToByte(MainPatch.config.Terrabvalue), 1);
                }
                bool flag2 = skinnedMeshRenderer.name.Contains("Terraformer_front_01_02");
                if (flag2)
                {
                    skinnedMeshRenderer.material.color = new Color32(Convert.ToByte(MainPatch.config.Terrafvalue), Convert.ToByte(MainPatch.config.Terrafgvalue), Convert.ToByte(MainPatch.config.Terrabvalue), 1);
                }
                bool flag3 = skinnedMeshRenderer.name.Contains("Terraformer_front_02_02");
                if (flag3)
                {
                    skinnedMeshRenderer.material.color = new Color32(Convert.ToByte(MainPatch.config.Terrafvalue), Convert.ToByte(MainPatch.config.Terrafgvalue), Convert.ToByte(MainPatch.config.Terrabvalue), 1);
                }
                bool flag4 = skinnedMeshRenderer.name.Contains("Terraformer_front");
                if (flag4)
                {
                    skinnedMeshRenderer.material.color = new Color32(Convert.ToByte(MainPatch.config.Terrafvalue), Convert.ToByte(MainPatch.config.Terrafgvalue), Convert.ToByte(MainPatch.config.Terrabvalue), 1);
                }
            }

            return(true);
        }
        public override GameObject getGameObject()
        {
            GameObject prefab = CraftHelper.Utils.prefabCopy(TechType.Terraformer);

            Terraformer trfCmp = prefab.GetComponent <Terraformer>();
            BuilderTool bldCmp = prefab.AddComponent <BuilderTool>();

            bldCmp.copyFieldsFrom(trfCmp, "rightHandIKTarget", "leftHandIKTarget", "ikAimRightArm", "ikAimLeftArm", "mainCollider", "pickupable", "useLeftAimTargetOnPlayer", "drawSound");
            bldCmp.buildSound    = trfCmp.placeLoopSound;
            bldCmp.completeSound = CraftData.GetPrefabForTechType(TechType.Builder).GetComponent <BuilderTool>().completeSound;

            Object.DestroyImmediate(trfCmp);

            bldCmp.animator = prefab.getChild("terraformer_anim").GetComponent <Animator>();
            bldCmp.powerConsumptionConstruct = bldCmp.powerConsumptionDeconstruct = Main.config.powerConsumption;

            prefab.AddComponent <TrfBuilderControl>();

            CraftHelper.Utils.initVFXFab(prefab,
                                         eulerOffset: new Vector3(-10f, 90f, 0f),
                                         posOffset: new Vector3(-0.4f, 0.11f, 0f),
                                         localMaxY: 0.24f);

            return(prefab);
        }
Exemplo n.º 3
0
    void DetectRemoveVoxel()
    {
        if (!Input.GetMouseButtonDown(0))
        {
            return;
        }

        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit, max_edit_distance))
        {
            Terraformer.SetVoxel(hit, new VoxelAir());//replace with air
        }
    }
Exemplo n.º 4
0
    void DetectPlaceVoxel()
    {
        if (!Input.GetMouseButtonDown(1))
        {
            return;
        }

        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit, max_edit_distance))
        {
            Terraformer.SetVoxel(hit, block_to_place.Clone(), true);//place in adjacent
        }
    }
        static bool Prefix(Terraformer __instance, out bool __state)
        {
            __state = false;

            if (ClipmapLevelExtensions.isMeshesRebuilding)
            {
                return(false);
            }
            else
            {
                var probe = __instance.GetProbe();
                if (probe && !probe.activeSelf)
                {
                    probe.SetActive(true);
                }
            }

            if (LargeWorld.main == null)
            {
                return(false);
            }
            if (__instance.GetUsingPlayer() == null)
            {
                return(false);
            }

            var hasActiveStrokes = __instance.activeStrokes.Count > 0;
            var isAnyHandHeld    = __instance.GetUsingPlayer().GetRightHandHeld() || __instance.GetUsingPlayer().GetLeftHandHeld();

            if (__instance.penDown && hasActiveStrokes && !isAnyHandHeld)
            {
                __state = true;

#if BelowZero
                if (__instance.type == 14)
                {
                    Logger.Warning($"Terraformer.type uses undefined material type 14. Resetting to 1");
                    __instance.type = 1;
                }
#endif
            }

            return(true);
        }
        static void Postfix(Terraformer __instance, bool __state)
        {
            if (__state)
            {
                var type = LargeWorldStreamer.main.GetMaterialTypeOfLastOctreesEditAdd();
                if (type > 0)
                {
                    __instance.type = type;
                }

                var streamerV2 = LargeWorldStreamer.main.streamerV2;
                streamerV2.clipmapStreamer.FlushRangesEdited(streamerV2.octreesStreamer.minLod, streamerV2.octreesStreamer.maxLod);

                var probe = __instance.GetProbe();
                if (probe)
                {
                    probe.SetActive(false);
                }
            }
        }
 public static GameObject GetProbe(this Terraformer terraformer)
 {
     return(terraformer.probe);
 }
 public static Stack <GameObject> GetStrokePool(this Terraformer terraformer)
 {
     return(terraformer.strokePool);
 }
Exemplo n.º 9
0
 public TerraformerTests()
 {
     Sut      = new Terraformer(Mars);
     Analyzer = new PlanetAnalyzer(Mars);
 }
Exemplo n.º 10
0
 protected void GivenThatIAmTerraformingMars()
 {
     CurrentPlanet = Planet.Mars;
     Sut           = new Terraformer(CurrentPlanet);
 }