public void Clickmask3d(string[] arguments) { string[] paths = arguments[0].Split('.'); float x = float.Parse(arguments[1]); float y = float.Parse(arguments[2]); float w = float.Parse(arguments[3]); float h = float.Parse(arguments[4]); Transform target = GameObject.Find(paths[0]).transform; int index = 1; while (index < paths.Length) { Transform tran = target.Find(paths[index]); if (tran == null) { LSharpScript.Instance.Analysis(); return; } target = tran; index++; } CTutorialDialog dialog = Global.SceneManager.FindDialog(SceneManager.Prefabs.TutorialDialog) as CTutorialDialog; int intDefault = LayerMask.NameToLayer("Default"); //int intUI = LayerMask.NameToLayer("UI"); Camera[] cameras = App.Util.SceneManager.CurrentScene.GetComponentsInChildren <Camera>(); Camera camera3D = System.Array.Find(cameras, c => c.gameObject.layer == intDefault); //Camera cameraUI = System.Array.Find(cameras, c=>c.gameObject.layer == intUI); Vector2 vec = RectTransformUtility.WorldToScreenPoint(camera3D, target.position); dialog.ShowFocus(vec.x + x, Camera.main.pixelHeight - vec.y + y, w, h); }
public void Clickmask(string[] arguments) { string[] paths = arguments[0].Split('.'); float x = float.Parse(arguments[1]); float y = float.Parse(arguments[2]); float w = float.Parse(arguments[3]); float h = float.Parse(arguments[4]); Transform target = GameObject.Find(paths[0]).transform; int index = 1; while (index < paths.Length) { Transform tran = target.Find(paths[index]); if (tran == null) { LSharpScript.Instance.Analysis(); return; } target = tran; index++; } CTutorialDialog dialog = Global.SceneManager.FindDialog(SceneManager.Prefabs.TutorialDialog) as CTutorialDialog; dialog.ShowFocus(target.position.x - w * 0.5f + x, Camera.main.pixelHeight - target.position.y - h * 0.5f + y, w, h); }