Esempio n. 1
0
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            ActionPreview preview = target as ActionPreview;

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Focus Position"))
            {
                if (preview.m_bornPos != Vector3.zero)
                {
                    GameObject go = new GameObject();
                    go.transform.position      = preview.m_bornPos;
                    Selection.activeGameObject = go;
                    SceneView.lastActiveSceneView.FrameSelected();
                    DestroyImmediate(go);
                    Selection.activeGameObject = preview.gameObject;
                }
            }
            if (GUILayout.Button("Cast Position"))
            {
                var view = SceneView.currentDrawingSceneView ?? SceneView.lastActiveSceneView;
                if (view != null)
                {
                    var camera = view.camera;
                    if (camera != null)
                    {
                        var        ray = camera.ScreenPointToRay(new Vector3(view.position.width * 0.5f, view.position.height * 0.5f, 0.0f));
                        RaycastHit hit;
                        if (Physics.Raycast(ray, out hit))
                        {
                            preview.m_bornPos = hit.point;
                        }
                    }
                }
            }
            EditorGUILayout.EndHorizontal();
        }
Esempio n. 2
0
 private void Awake()
 {
     preview = GameObject.Find("ActionPreviewManager").GetComponent <ActionPreview>();
 }