void init() { mTrans = transform; if (tradeRouteMain != null) { tradeRouteMain.Update(); tradeRoute = tradeRouteMain; initPos(); hadLastTown = false; canMoveShip = true; mTargetRot = mTrans.localRotation; mTargetPos = mTrans.localPosition; mOffset.x = Random.Range(0.0f, 10.0f); mOffset.y = Random.Range(0.0f, 10.0f); } }
public override void OnInspectorGUI() { tradeToute = target as MyTradeRoute; DrawDefaultInspector(); NGUIEditorTools.DrawSeparator(); RaycastHit hitt; if (tradeToute.KeyTradeRouteNodes != null) { for (int i = 0; i < tradeToute.KeyTradeRouteNodes.Count - 1; i++) { Debug.DrawLine(tradeToute.KeyTradeRouteNodes [i], tradeToute.KeyTradeRouteNodes [i + 1]); } } EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("Editor Trade Route"); if (GUILayout.Button("Editor")) { tradeToute.isEditMode = !tradeToute.isEditMode; isEditor = tradeToute.isEditMode; // tradeToute.Update(); } } EditorGUILayout.EndHorizontal(); if (isEditor) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("在运行模式下移动该对象到某个点,点击Add即可以添加该点到路径中"); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("路径关键点"); } EditorGUILayout.EndHorizontal(); if (tradeToute.KeyTradeRouteNodes == null) { tradeToute.KeyTradeRouteNodes = new System.Collections.Generic.List <UnityEngine.Vector3> (); } for (int i = 0; i < tradeToute.KeyTradeRouteNodes.Count; i++) { Vector3 keyPoint = tradeToute.KeyTradeRouteNodes [i]; EditorGUILayout.BeginHorizontal(); { EditorGUILayout.Vector3Field("Key Point." + i, keyPoint); if (GUILayout.Button("Location")) { tradeToute.transform.position = keyPoint; return; } if (GUILayout.Button("Delecte")) { tradeToute.KeyTradeRouteNodes.RemoveAt(i); tradeToute.Update(); return; } } EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); { newPoint = EditorGUILayout.Vector3Field("New Key Point", tradeToute.transform.position); GUI.color = Color.green; if (GUILayout.Button("Add")) { tradeToute.KeyTradeRouteNodes.Add(newPoint); tradeToute.Update(); } GUI.color = Color.white; } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("Apply")) { } } EditorGUILayout.EndHorizontal(); } }