private IEnumerator CreateProp() { Debug.Log("CreateProp detour"); UndoMod.Instsance.BeginObserving("Build prop", "Vanilla"); IEnumerator result = null; RedirectionHelper.RevertRedirect(createProp_original, state); try { result = (IEnumerator)createProp_original.Invoke(ToolsModifierControl.GetTool <PropTool>(), new object[] { }); AsyncTask asyncTask = new AsyncTask(result, null); asyncTask.Execute(); } catch (Exception e) { Debug.LogError(e); UndoMod.Instsance.InvalidateAll(); } state = RedirectionHelper.RedirectCalls(createProp_original, patch); //Singleton<SimulationManager>.instance.AddAction(() => { UndoMod.Instsance.EndObserving(); //}); yield return(0); yield break; }
private void OnEnterPickTarget(OnNetInstanceCacheContainerXml item, int idx) { ToolsModifierControl.SetTool <DefaultTool>(); WriteTheSignsMod.Controller.RoadSegmentToolInstance.OnSelectSegment += (k) => item.SetTargetSegment(idx, k); CurrentSegmentInSelect = idx; ToolsModifierControl.SetTool <RoadSegmentTool>(); }
public MainPanel() { UIView uiView = UIView.GetAView(); markRouteBtn = (UIButton)uiView.AddUIComponent(typeof(UIButton)); markRouteBtn.text = "Mark a Route"; markRouteBtn.width = 150; markRouteBtn.height = 30; markRouteBtn.normalBgSprite = "ButtonMenu"; markRouteBtn.disabledBgSprite = "ButtonMenuDisabled"; markRouteBtn.hoveredBgSprite = "ButtonMenuHovered"; markRouteBtn.focusedBgSprite = "ButtonMenuFocused"; markRouteBtn.pressedBgSprite = "ButtonMenuPressed"; markRouteBtn.textColor = new Color32(255, 255, 255, 255); markRouteBtn.disabledTextColor = new Color32(7, 7, 7, 255); markRouteBtn.hoveredTextColor = new Color32(7, 132, 255, 255); markRouteBtn.focusedTextColor = new Color32(255, 255, 255, 255); markRouteBtn.pressedTextColor = new Color32(30, 30, 44, 255); markRouteBtn.eventClick += markRouteBtn_eventClick; markRouteBtn.relativePosition = new Vector3(180f, 60f); ToolsModifierControl.toolController.CurrentTool = ToolsModifierControl.GetTool <DefaultTool>(); ToolsModifierControl.SetTool <DefaultTool>(); }
public void Update() { var tool = ToolsModifierControl.GetTool <SelectionTool>(); if (tool == null) { return; } if (!tool.enabled && bar.isVisible) { bar.Hide(); } if (ModInfo.ClipboardToolShortcut.IsPressed()) { if (!_keyPressProcessed) { _keyPressProcessed = true; ToggleTool(); } } else { _keyPressProcessed = false; } }
public override void OnUpdate(float realTimeDelta, float simulationTimeDelta) { base.OnUpdate(realTimeDelta, simulationTimeDelta); var newSelectedPrefab = ToolsModifierControl.GetCurrentTool <BuildingTool>()?.m_prefab; if (_selectedPrefab == newSelectedPrefab) { return; } if (newSelectedPrefab != null) { SegmentDataManager.Instance.SetAssetMode(true); Revert(); Apply(newSelectedPrefab); } else { SegmentDataManager.Instance.SetAssetMode(false); Revert(); } _selectedPrefab = newSelectedPrefab; }
void DoTheThing(SnapshotTool.SnapshotMode mode) { var currentTool = ToolsModifierControl.toolController.CurrentTool; SnapshotTool tool = ToolsModifierControl.SetTool <SnapshotTool>(); if (tool != null) { var crhelper = CoroutineHelper.Create(() => { tool.Mode = mode; int w = 644; int h = 360; if (mode == SnapshotTool.SnapshotMode.Thumbnail) { w = AssetImporterThumbnails.thumbWidth; h = AssetImporterThumbnails.thumbHeight; } else if (mode == SnapshotTool.SnapshotMode.Infotooltip) { w = SnapshotTool.tooltipWidth; h = SnapshotTool.tooltipHeight; } tool.StartShot(w, h, () => { ToolsModifierControl.toolController.CurrentTool = currentTool; Debug.Log("Snapshot taken"); }); }); crhelper.Run(0.5f); } }
public MainPanel() { UIView uiView = UIView.GetAView(); dialog = uiView.AddUIComponent(typeof(DropdownDialog)) as DropdownDialog; dialog.Hide(); placeSignBtn = (UIButton)uiView.AddUIComponent(typeof(UIButton)); placeSignBtn.text = "DB"; placeSignBtn.width = 75; placeSignBtn.height = 30; placeSignBtn.normalBgSprite = "ButtonMenu"; placeSignBtn.disabledBgSprite = "ButtonMenuDisabled"; placeSignBtn.hoveredBgSprite = "ButtonMenuHovered"; placeSignBtn.focusedBgSprite = "ButtonMenuFocused"; placeSignBtn.pressedBgSprite = "ButtonMenuPressed"; placeSignBtn.textColor = new Color32(255, 255, 255, 255); placeSignBtn.disabledTextColor = new Color32(7, 7, 7, 255); placeSignBtn.hoveredTextColor = new Color32(7, 132, 255, 255); placeSignBtn.focusedTextColor = new Color32(255, 255, 255, 255); placeSignBtn.pressedTextColor = new Color32(30, 30, 44, 255); placeSignBtn.eventClick += propSelectorToolBtn_eventClick; placeSignBtn.relativePosition = new Vector3(30, 60); propSelectorTool = ToolsModifierControl.toolController.gameObject.AddComponent <PropSelectorTool>(); ToolsModifierControl.toolController.CurrentTool = ToolsModifierControl.GetTool <DefaultTool>(); ToolsModifierControl.SetTool <DefaultTool>(); propSelectorTool.dialog = dialog; }
public void Update() { try { if (ToolsModifierControl.GetCurrentTool <ToolBase>() is NetTool) { binfo = null; if (this.IsMetroTrack(ToolsModifierControl.GetCurrentTool <NetTool>().m_prefab)) { Debug.Log($"Getting {ToolsModifierControl.GetCurrentTool<NetTool>().m_prefab}"); this.showWindow = true; this.SetNetToolPrefab(); //var currentTool = ToolsModifierControl.GetCurrentTool<NetTool>(); //var paramArgs = new List<object>(); //paramArgs.Add(currentTool.m_prefab); //var hi = (float)typeof(NetTool).GetMethod("GetElevation").Invoke(currentTool, paramArgs.ToArray()); } else { this.showWindow = false; } } else if (ToolsModifierControl.GetCurrentTool <ToolBase>().GetType().Name == "NetToolFine") { binfo = null; if (this.IsMetroTrack((ToolsModifierControl.GetCurrentTool <ToolBase>() as NetTool).m_prefab)) { this.showWindow = true; this.SetNetToolPrefab(); } else { this.showWindow = false; } } else if (ToolsModifierControl.GetCurrentTool <ToolBase>() is BuildingTool) { var info = (ToolsModifierControl.GetCurrentTool <ToolBase>() as BuildingTool).m_prefab; if (info.IsAbovegroundMetroStation()) { binfo = info; this.showWindow = true; } else { binfo = null; this.showWindow = false; } } else { binfo = null; this.showWindow = false; } } catch (Exception ex) { Debug.Log(ex); } }
public static void SetUpUndoModififcationPanel(UIComponent optionsBar) { if (GameObject.Find("UndoTerrainPanel") != null) { return; } var undoPanel = optionsBar.AddUIComponent <UIPanel>(); undoPanel.name = "UndoTerrainPanel"; undoPanel.backgroundSprite = "MenuPanel2"; undoPanel.size = new Vector2(231, 106); undoPanel.isVisible = false; undoPanel.relativePosition = new Vector3(-256, -594); UIUtil.SetupTitle("", undoPanel); var applyButton = undoPanel.AddUIComponent <UIButton>(); applyButton.name = "Apply"; applyButton.localeID = "MAPEDITOR_UNDO_TERRAIN"; applyButton.size = new Vector2(191, 38); applyButton.relativePosition = new Vector3(20, 54); applyButton.normalBgSprite = "ButtonMenu"; applyButton.hoveredBgSprite = "ButtonMenuHovered"; applyButton.pressedBgSprite = "ButtonMenuPressed"; applyButton.disabledBgSprite = "ButtonMenuDisabled"; applyButton.canFocus = false; var utoPanel = undoPanel.gameObject.AddComponent <UndoTerrainOptionPanel>(); applyButton.eventClick += (component, eventParam) => { utoPanel.UndoTerrain(); }; var toolField = typeof(UndoTerrainOptionPanel).GetField("m_TerrainTool", BindingFlags.Instance | BindingFlags.NonPublic); toolField.SetValue(utoPanel, ToolsModifierControl.GetTool <TerrainTool>()); }
protected override void OnButtonClicked(UIComponent comp) { object objectUserData = comp.objectUserData; NetInfo netInfo = objectUserData as NetInfo; BuildingInfo buildingInfo = objectUserData as BuildingInfo; if ((UnityEngine.Object)netInfo != (UnityEngine.Object)null) { if ((UnityEngine.Object) this.roadsOptionPanel != (UnityEngine.Object)null) { this.roadsOptionPanel.Show(); } NetToolFine netTool = ToolsModifierControl.SetTool <NetToolFine>(); if ((UnityEngine.Object)netTool != (UnityEngine.Object)null) { netTool.m_prefab = netInfo; } } if (!((UnityEngine.Object)buildingInfo != (UnityEngine.Object)null)) { return; } if ((UnityEngine.Object) this.roadsOptionPanel != (UnityEngine.Object)null) { this.roadsOptionPanel.Hide(); } BuildingTool buildingTool = ToolsModifierControl.SetTool <BuildingTool>(); if (!((UnityEngine.Object)buildingTool != (UnityEngine.Object)null)) { return; } buildingTool.m_prefab = buildingInfo; buildingTool.m_relocate = 0; }
protected override void OnButtonClicked(UIComponent comp) { object objectUserData = comp.objectUserData; BuildingInfo buildingInfo = objectUserData as BuildingInfo; NetInfo netInfo = objectUserData as NetInfo; TreeInfo treeInfo = objectUserData as TreeInfo; PropInfo propInfo = objectUserData as PropInfo; if (buildingInfo != null) { BuildingTool buildingTool = ToolsModifierControl.SetTool <BuildingTool>(); if (buildingTool != null) { if (base.pathsOptionPanel != null) { base.pathsOptionPanel.Hide(); } buildingTool.m_prefab = buildingInfo; buildingTool.m_relocate = 0; } } if (netInfo != null) { NetToolFine netTool = ToolsModifierControl.SetTool <NetToolFine>(); if (netTool != null) { if (base.pathsOptionPanel != null) { base.pathsOptionPanel.Show(); } netTool.m_prefab = netInfo; } } if (treeInfo != null) { TreeTool treeTool = ToolsModifierControl.SetTool <TreeTool>(); if (treeTool != null) { if (base.pathsOptionPanel != null) { base.pathsOptionPanel.Hide(); } treeTool.m_prefab = treeInfo; treeTool.m_mode = TreeTool.Mode.Single; } } if (propInfo != null) { PropTool propTool = ToolsModifierControl.SetTool <PropTool>(); if (propTool != null) { if (base.pathsOptionPanel != null) { base.pathsOptionPanel.Hide(); } propTool.m_prefab = propInfo; propTool.m_mode = PropTool.Mode.Single; } } }
private void UpdateHeader() { if ((UnityEngine.Object)ToolsModifierControl.GetCurrentTool <TreeTool>() != (UnityEngine.Object)null) { if (!this.m_Header.isVisible) { this.ShowHeader(); } if (!Singleton <TreeManager> .exists) { return; } //begin mod this.m_Header.text = string.Format(Locale.Get("CHIRPHEADER_TREESNPROPS"), (object)(Singleton <TreeManager> .instance.m_treeCount + Singleton <PropManager> .instance.m_propCount - SpecialPoints.CountSpecialPoints()), (object)64.ToString()); //end mod } else if ((UnityEngine.Object)ToolsModifierControl.GetCurrentTool <PropTool>() != (UnityEngine.Object)null) { if (!this.m_Header.isVisible) { this.ShowHeader(); } if (!Singleton <PropManager> .exists) { return; } //begin mod this.m_Header.text = string.Format(Locale.Get("CHIRPHEADER_TREESNPROPS"), (object)(Singleton <PropManager> .instance.m_propCount + Singleton <TreeManager> .instance.m_treeCount - SpecialPoints.CountSpecialPoints()), (object)64.ToString()); //end mod } else { this.HideHeader(); } }
private void ProcessKeyEvent(EventType eventType, KeyCode keyCode, EventModifiers modifiers) { if (eventType != EventType.KeyDown) { return; } var tool = ToolsModifierControl.GetCurrentTool <NodeElevationTool>(); if (tool == null) { return; } var node = tool.m_hoveredNode; if (node == 0) { return; } var position = NetManager.instance.m_nodes.m_buffer[node].m_position; if (this.m_buildElevationUp.IsPressed(eventType, keyCode, modifiers)) { NetManager.instance.m_nodes.m_buffer[node].m_position = new Vector3(position.x, position.y + 0.1f, position.z); NetManager.instance.UpdateNode(node, 0, 0); } else if (this.m_buildElevationDown.IsPressed(eventType, keyCode, modifiers)) { NetManager.instance.m_nodes.m_buffer[node].m_position = new Vector3(position.x, position.y - 0.1f, position.z); NetManager.instance.UpdateNode(node, 0, 0); } }
private static Texture2D GetCurrentBrush() { var tool = ToolsModifierControl.GetCurrentTool <ToolBase>(); var brushField = GetBrushField(tool); return((Texture2D)brushField?.GetValue(tool)); }
private static void SetBrush(Texture2D nextBrush) { var tool = ToolsModifierControl.GetCurrentTool <ToolBase>(); var brushField = GetBrushField(tool); brushField?.SetValue(tool, nextBrush); }
private void RefreshDisplayData() { if (refreshOnce) { if (isVisible) { m_fromLabel.text = Localization.Get("From"); m_toLabel.text = Localization.Get("To"); //DebugLog.LogToFileOnly("fromSelected = " + fromSelected.ToString() + " toSelected = " + toSelected.ToString() + " symmetry = " + symmetry.ToString() + " uturnLane: " + uturnLane.ToString() + " hasSidewalk: " + hasSidewalk.ToString()); //DebugLog.LogToFileOnly(m_currentModule); var m_prefab = Parser.NetInfoFromUI(fromSelected, toSelected, symmetry, hasSidewalk, hasBike); m_prefab = UpdateRoadVariant(m_prefab); if (m_prefab != null) { m_netTool = ToolsModifierControl.SetTool <NetTool>(); UIView.Find("RoadsPanel").Show(); m_netTool.m_prefab = m_prefab; m_result.atlas = m_netTool.m_prefab.m_Atlas; m_result.spriteName = m_netTool.m_prefab.m_Thumbnail; } else { //ToolsModifierControl.SetTool<DefaultTool>(); if (m_netTool != null) { m_netTool.m_prefab = null; } m_result.atlas = SpriteUtilities.GetAtlas(Loader.m_atlasNameNoAsset); m_result.spriteName = "NOASSET"; } refreshOnce = false; } } }
public void Search() { PrefabInfo current = null; UIScrollPanelItem.ItemData selected = null; if (scrollPanel.selectedItem != null) { current = scrollPanel.selectedItem.asset.prefab; } string text = ""; Asset.AssetType type = Asset.AssetType.All; if (input != null) { text = input.text; type = (Asset.AssetType)typeFilter.selectedIndex; if (!FindIt.isRicoEnabled && type >= Asset.AssetType.Rico) { type++; } } List <Asset> matches = AssetTagList.instance.Find(text, type); scrollPanel.Clear(); foreach (Asset asset in matches) { if (asset.prefab != null) { UIScrollPanelItem.ItemData data = new UIScrollPanelItem.ItemData(); data.name = asset.title; data.tooltip = Asset.GetLocalizedTooltip(asset.prefab, data.name); data.tooltipBox = GeneratedPanel.GetTooltipBox(TooltipHelper.GetHashCode(data.tooltip)); data.asset = asset; scrollPanel.itemsData.Add(data); if (asset.prefab == current) { selected = data; } } } scrollPanel.DisplayAt(0); scrollPanel.selectedItem = selected; if (scrollPanel.selectedItem != null) { FindIt.SelectPrefab(scrollPanel.selectedItem.asset.prefab); } else { ToolsModifierControl.SetTool <DefaultTool>(); } }
protected override void HandleSignPlaced() { RouteManager.Instance().SetSign(this.m_cachedPosition, this.m_cachedAngle, routePrefix, routeStr, destination, this.signType); RenderingManager.instance.ForceUpdate(); ToolsModifierControl.toolController.CurrentTool = ToolsModifierControl.GetTool <DefaultTool>(); ToolsModifierControl.SetTool <DefaultTool>(); }
public override void OnUpdate(float realTimeDelta, float simulationTimeDelta) { if (Event.current.alt && Input.GetKeyDown(KeyCode.T)) { var manager = Singleton <InfoManager> .instance; UIView.playSoundDelegate(UIView.GetAView().defaultClickSound, 1f); if (manager.CurrentMode != InfoManager.InfoMode.TerrainHeight) { BuildingTool currentTool = ToolsModifierControl.GetCurrentTool <BuildingTool>(); if (currentTool != null && currentTool.m_relocate != 0) { currentTool.CancelRelocate(); } Singleton <InfoViewsPanel> .instance.CloseToolbar(); WorldInfoPanel.HideAllWorldInfoPanels(); if (Singleton <InfoManager> .exists) { m_previousMode = manager.CurrentMode; m_previousSubInfoMode = manager.CurrentSubMode; Singleton <InfoManager> .instance.SetCurrentMode(InfoManager.InfoMode.TerrainHeight, InfoManager.SubInfoMode.Default); Singleton <GuideManager> .instance.InfoViewUsed(); } } else { Singleton <InfoViewsPanel> .instance.CloseToolbar(); manager.SetCurrentMode(m_previousMode, m_previousSubInfoMode); Singleton <GuideManager> .instance.InfoViewUsed(); } } }
public static void UninstallMod() { if (ToolsModifierControl.toolController.CurrentTool is MoveItTool) { ToolsModifierControl.SetTool <DefaultTool>(); } MoveItTool.m_debugPanel = null; Object.Destroy(DebugGameObject); Object.Destroy(MoveToToolObject); UIToolOptionPanel.instance = null; UIMoreTools.MoreToolsPanel = null; UIMoreTools.MoreToolsBtn = null; Action.selection.Clear(); Filters.Picker = null; MoveItTool.PO = null; Object.Destroy(MoveItTool.instance.m_button); UILoadWindow.Close(); UISaveWindow.Close(); if (MoveItTool.instance != null) { MoveItTool.instance.enabled = false; MoveItTool.instance = null; } IsGameLoaded = false; LocaleManager.eventLocaleChanged -= LocaleChanged; }
protected override void OnToolUpdate() { try { base.OnToolUpdate(); if (_pauseMenu != null && _pauseMenu.isVisible) { ToolsModifierControl.SetTool <DefaultTool>(); UIView.library.Hide("PauseMenu"); } if (LimitReached) { ShowToolInfo(true, TOOL_INFO + Environment.NewLine + Environment.NewLine + TOOL_INFO_LIMIT_REACHED, _hitPosition); } else { ShowToolInfo(true, TOOL_INFO, _hitPosition); } } catch (Exception e) { Debug.Log("[Note It!] LocationTool:OnToolUpdate -> Exception: " + e.Message); } }
public static void Load() { DisplayPanel.Create(); GoToPanel.Create(); Tool.NetworkDetectiveTool.Create(); ToolsModifierControl.SetTool <DefaultTool>(); // disable tool. }
/// <summary> /// Tool GUI event processing. /// Called by game every GUI update. /// </summary> /// <param name="e">Event</param> protected override void OnToolGUI(Event e) { // Check for escape key. if (e.type == EventType.keyDown && e.keyCode == KeyCode.Escape) { // Escape key pressed - disable tool. e.Use(); ToolsModifierControl.SetTool <DefaultTool>(); } // Don't do anything if mouse is inside UI or if there are any errors other than failed raycast. if (m_toolController.IsInsideUI || (m_selectErrors != ToolErrors.None && m_selectErrors != ToolErrors.RaycastFailed)) { return; } // Try to get a hovered network instance. ushort segment = m_hoverInstance.NetSegment; if (segment != 0) { // Check for mousedown events with button zero. if (e.type == EventType.MouseDown && e.button == 0) { // Got one; use the event. UIInput.MouseUsed(); // Send the result to the panel. ReplacerPanel.Panel?.SetTarget(segment); } } }
protected override void OnLeftClick() { if (m_hoverBuilding != 0) { OnBuildingSelect?.Invoke(m_hoverBuilding); ToolsModifierControl.SetTool <DefaultTool>(); } }
public static void OnBudgetClicked() { if (ToolsModifierControl.IsUnlocked(UnlockManager.Feature.Economy)) { ToolsModifierControl.mainToolbar.ShowEconomyPanel(1); WorldInfoPanel.Hide <PublicTransportWorldInfoPanel>(); } }
protected override void OnLeftClick() { if (m_hoverSegment != 0) { OnSelectSegment?.Invoke(m_hoverSegment); ToolsModifierControl.SetTool <DefaultTool>(); } }
private static void DisableTool() { if (ToolsModifierControl.toolController.CurrentTool == _simpleSelectionTool) { ToolsModifierControl.toolController.CurrentTool = ToolsModifierControl.GetTool <DefaultTool>(); ToolsModifierControl.SetTool <DefaultTool>(); } }
public static void EnableTool() { Log._Debug("LoadingExtension.EnableTool: called"); TrafficManagerTool tmTool = GetTrafficManagerTool(true); ToolsModifierControl.toolController.CurrentTool = tmTool; ToolsModifierControl.SetTool <TrafficManagerTool>(); }
public void Plop(BuildingItem mItem) { var buildingTool = ToolsModifierControl.SetTool <BuildingTool>(); { buildingTool.m_prefab = mItem.prefab; buildingTool.m_relocate = 0; } }
public void DisableTool() { Log.Info("DisableTool: called"); if (ToolsModifierControl.toolController?.CurrentTool == this) { ToolsModifierControl.SetTool <DefaultTool>(); } }