CSL_Traffic.RoadCustomizerTool.TryCreateToolButton C# (CSharp) Метод

TryCreateToolButton() приватный Метод

private TryCreateToolButton ( ) : UIButton
Результат UIButton
		UIButton TryCreateToolButton()
		{
			//GameObject roadsOptionPanel = GameObject.Find("RoadsOptionPanel(RoadsPanel)");
			//if (roadsOptionPanel == null)
			//    return null;

			//UITabstrip tabstrip = roadsOptionPanel.GetComponentInChildren<UITabstrip>();
			//if (tabstrip == null)
			//    return null;

			GameObject mainToolStrip = GameObject.Find("MainToolstrip");
			if (mainToolStrip == null)
				return null;

			UITabstrip tabstrip = mainToolStrip.GetComponent<UITabstrip>();
			if (tabstrip == null)
				return null;
            if (tabstrip.tabs == null)
                return null;
            if (!tabstrip.tabs.Any())
                return null;

            UIButton roadsButton = (UIButton)tabstrip.tabs.First();

			UIButton btn = mainToolStrip.GetComponent<UIComponent>().AddUIComponent<UIButton>();
			
			btn.name = "RoadCustomizer";
			btn.text = "";
			btn.tooltip = "Road Customizer Tool";
			btn.size = roadsButton.size;
			btn.playAudioEvents = true;

			btn.disabledBgSprite = "rctBg";// roadsButton.disabledBgSprite;
			btn.focusedBgSprite = "rctBg" + "Focused";// roadsButton.focusedBgSprite;
			btn.hoveredBgSprite = "rctBg" + "Hovered";// roadsButton.hoveredBgSprite;
			btn.normalBgSprite = "rctBg";// roadsButton.normalBgSprite;
			btn.pressedBgSprite = "rctBg" + "Pressed";// roadsButton.pressedBgSprite;

			btn.atlas = UI.UIUtils.LoadThumbnailsTextureAtlas("UIThumbnails");
			btn.atlas.AddSprites(roadsButton.atlas.sprites);
			btn.foregroundSpriteMode = UIForegroundSpriteMode.Fill;
			UI.UIUtils.SetThumbnails("rct", new UI.UIUtils.SpriteTextureInfo() { startX = 796, startY = 0, width = 36, height = 36 }, btn.atlas);
			UI.UIUtils.SetThumbnails("rctBg", new UI.UIUtils.SpriteTextureInfo() { startX = 835, startY = 0, width = 43, height = 49 }, btn.atlas, new string[] { "Hovered", "Pressed", "Focused", "" });

			btn.disabledFgSprite = "rct";
			btn.focusedFgSprite = "rct";
			btn.hoveredFgSprite = "rct";
			btn.normalFgSprite = "rct";
			btn.pressedFgSprite = "rct";
			btn.group = roadsButton.group;

			//btn.eventClick += delegate(UIComponent component, UIMouseEventParameter eventParam)
			//{
			//	//ToolsModifierControl.SetTool<RoadCustomizerTool>();
			//	//StartCoroutine(SetRoadCustomizerTool());
			//	ToolsModifierControl.SetTool<RoadCustomizerTool>();
			//};

			btn.eventButtonStateChanged += delegate(UIComponent component, UIButton.ButtonState value)
			{
				if (value == UIButton.ButtonState.Focused)
				{
					if (ToolsModifierControl.GetCurrentTool<DefaultTool>() != null)
						ToolsModifierControl.SetTool<RoadCustomizerTool>();
					else
						StartCoroutine(SetRoadCustomizerTool());
				}
				else if (value == UIButton.ButtonState.Normal)
				{
					//if (ToolsModifierControl.GetCurrentTool<RoadCustomizerTool>() != null)
					ToolsModifierControl.SetTool<DefaultTool>();
				}
			};

			InitializeUI(btn);

			return btn;
		}