You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			100 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			100 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
| 
											2 years ago
										 | using UnityEngine; | ||
|  | using Game.Common; | ||
|  | 
 | ||
|  | 
 | ||
|  | namespace Game | ||
|  | { | ||
|  |     public class PagePlayerTouch : UIPageBase<ViewPlayerTouch> | ||
|  |     { | ||
|  |         private int _mCosoleNumMax = 20; | ||
|  |         public PagePlayerTouch() | ||
|  |         { | ||
|  |         } | ||
|  |         protected override void OnCreate() | ||
|  |         { | ||
|  |             CreateUI(false); | ||
|  |             View.m_ConsoleInput.onClick.Add(() => | ||
|  |             { | ||
|  |                 View.m_ConsoleInput.RequestFocus(); | ||
|  |             }); | ||
|  |             SetCosoleVisible(false); | ||
|  |         } | ||
|  |         protected override void OnDestroy() { } | ||
|  |         protected override void OnOpen() | ||
|  |         { | ||
|  |             View.m_Console.RemoveChildrenToPool(); | ||
|  |         } | ||
|  |         protected override void OnClose() | ||
|  |         { | ||
|  |         } | ||
|  |         public override void Update() | ||
|  |         { | ||
|  |             var posScreen = Input.mousePosition; | ||
|  |             posScreen.y = Screen.height - posScreen.y; | ||
|  |             View.m_Cursor.SetPosition(posScreen.x, posScreen.y, posScreen.z); | ||
|  |         } | ||
|  |         protected override void OnInput(PPlayerInput context) | ||
|  |         { | ||
|  |             if (context.Action == EKeyActionType.Press) | ||
|  |             { | ||
|  |                 if (View.m_ConsolePanel.visible) | ||
|  |                 { | ||
|  |                     if (context.Key == EFunctionKey.Menu) | ||
|  |                     { | ||
|  |                         View.m_ConsoleInput.text = ""; | ||
|  |                         SetCosoleVisible(false); | ||
|  |                     } | ||
|  |                     if (context.Key == EFunctionKey.Enter) | ||
|  |                     { | ||
|  |                         if (View.m_ConsoleInput.focused) | ||
|  |                         { | ||
|  |                             OnCosoleSubmit(); | ||
|  |                         } | ||
|  |                         else | ||
|  |                         { | ||
|  |                             View.m_ConsoleInput.RequestFocus(); | ||
|  |                         } | ||
|  |                     } | ||
|  |                 } | ||
|  |                 else | ||
|  |                 { | ||
|  |                     if (context.Key == EFunctionKey.Enter) | ||
|  |                     { | ||
|  |                         SetCosoleVisible(true); | ||
|  |                         View.m_ConsoleInput.RequestFocus(); | ||
|  |                     } | ||
|  |                 } | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         private void OnCosoleSubmit() | ||
|  |         { | ||
|  |             var str = View.m_ConsoleInput.text; | ||
|  |             str = str.Replace("\n", ""); | ||
|  |             if (str.Length == 0) | ||
|  |             { | ||
|  |                 return; | ||
|  |             } | ||
|  |             View.m_ConsoleInput.text = ""; | ||
|  |             var consoleInfo = View.m_Console.AddItemFromPool(); | ||
|  |             consoleInfo.asCom.GetChild("Text").text = str; | ||
|  |             while (View.m_Console.numItems > _mCosoleNumMax) | ||
|  |             { | ||
|  |                 View.m_Console.RemoveChildToPoolAt(0); | ||
|  |             } | ||
|  |             View.m_Console.ScrollToView(View.m_Console.numItems - 1); | ||
|  |         } | ||
|  |         private void SetCosoleVisible(bool visible) | ||
|  |         { | ||
|  |             View.m_ConsolePanel.visible = visible; | ||
|  |             if (View.m_ConsolePanel.visible) | ||
|  |             { | ||
|  |                 UIManager.Instance.Open(EuiPage.GmPanel); | ||
|  |             } | ||
|  |             else | ||
|  |             { | ||
|  |                 UIManager.Instance.Close(EuiPage.GmPanel); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | } |