private void Update() { PaletteTextFilter.HandleInputFieldFocus(); if (block && !block.gameObject.activeInHierarchy || module && !module.block.gameObject.activeInHierarchy) { Clean(); } if (Input.GetMouseButtonDown(2)) { if (block) { block.visible.EnableOutlineGlow(false, cakeslice.Outline.OutlineEnableReason.ScriptHighlight); } try { Tank tank = null; if (block && module) { tank = block.tank; } var temp_block = Singleton.Manager <ManPointer> .inst.targetVisible.block; if (tank && temp_block.tank && tank != temp_block.tank) { Clean(); } block = temp_block; block.visible.EnableOutlineGlow(true, cakeslice.Outline.OutlineEnableReason.ScriptHighlight); } catch { Clean(); } if (block && block.tank && block.tank.GetComponentInChildren <ModuleOffgridStore>()) { module = block.tank.GetComponentInChildren <ModuleOffgridStore>(); targets.Clear(); AdvancedBuildingMod.transformGizmo.ClearTargets(); AdvancedBuildingMod.transformGizmo.AddTarget(block.trans); position = block.trans.localPosition; rotation = block.trans.localEulerAngles; scale = block.trans.localScale; } if (!block) { AdvancedBuildingMod.transformGizmo.enabled = false; } useGUILayout = block; } }
private void Clean() { if (block) { block.visible.EnableOutlineGlow(false, cakeslice.Outline.OutlineEnableReason.ScriptHighlight); } block = null; module = null; useGUILayout = false; Singleton.Manager <ManPointer> .inst.ChangeBuildMode(ManPointer.BuildingMode.Grab); AdvancedBuildingMod.transformGizmo.transformType = RuntimeGizmos.TransformType.Move; AdvancedBuildingMod.transformGizmo.enabled = false; SaveConfig(); }