示例#1
0
 // Token: 0x06001F07 RID: 7943 RVA: 0x000ABB78 File Offset: 0x000A9F78
 private void Start()
 {
     EditorRoads._isPaving          = false;
     EditorRoads.highlighter        = ((GameObject)UnityEngine.Object.Instantiate(Resources.Load("Edit/Highlighter"))).transform;
     EditorRoads.highlighter.name   = "Highlighter";
     EditorRoads.highlighter.parent = Level.editing;
     EditorRoads.highlighter.gameObject.SetActive(false);
     EditorRoads.highlighter.GetComponent <Renderer>().material.color = Color.red;
     EditorRoads.deselect();
 }
示例#2
0
 // Token: 0x06001F04 RID: 7940 RVA: 0x000AB768 File Offset: 0x000A9B68
 private static void select(Transform target)
 {
     if (EditorRoads.road != null)
     {
         if (EditorRoads.tangentIndex > -1)
         {
             EditorRoads.path.unhighlightTangent(EditorRoads.tangentIndex);
         }
         else if (EditorRoads.vertexIndex > -1)
         {
             EditorRoads.path.unhighlightVertex();
         }
     }
     if (EditorRoads.selection == target || target == null)
     {
         EditorRoads.deselect();
     }
     else
     {
         EditorRoads.selection = target;
         EditorRoads._road     = LevelRoads.getRoad(EditorRoads.selection, out EditorRoads.vertexIndex, out EditorRoads.tangentIndex);
         if (EditorRoads.road != null)
         {
             EditorRoads._path  = EditorRoads.road.paths[EditorRoads.vertexIndex];
             EditorRoads._joint = EditorRoads.road.joints[EditorRoads.vertexIndex];
             if (EditorRoads.tangentIndex > -1)
             {
                 EditorRoads.path.highlightTangent(EditorRoads.tangentIndex);
             }
             else if (EditorRoads.vertexIndex > -1)
             {
                 EditorRoads.path.highlightVertex();
             }
         }
         else
         {
             EditorRoads._path  = null;
             EditorRoads._joint = null;
         }
     }
     EditorEnvironmentRoadsUI.updateSelection(EditorRoads.road, EditorRoads.joint);
 }
示例#3
0
 // Token: 0x06001F06 RID: 7942 RVA: 0x000AB8B0 File Offset: 0x000A9CB0
 private void Update()
 {
     if (!EditorRoads.isPaving)
     {
         return;
     }
     if (!EditorInteract.isFlying && GUIUtility.hotControl == 0)
     {
         if (EditorInteract.worldHit.transform != null)
         {
             EditorRoads.highlighter.position = EditorInteract.worldHit.point;
         }
         if ((Input.GetKeyDown(KeyCode.Delete) || Input.GetKeyDown(KeyCode.Backspace)) && EditorRoads.selection != null && EditorRoads.road != null)
         {
             if (Input.GetKey(ControlsSettings.other))
             {
                 LevelRoads.removeRoad(EditorRoads.road);
             }
             else
             {
                 EditorRoads.road.removeVertex(EditorRoads.vertexIndex);
             }
             EditorRoads.deselect();
         }
         if (Input.GetKeyDown(ControlsSettings.tool_2) && EditorInteract.worldHit.transform != null)
         {
             Vector3 point = EditorInteract.worldHit.point;
             if (EditorRoads.road != null)
             {
                 if (EditorRoads.tangentIndex > -1)
                 {
                     EditorRoads.road.moveTangent(EditorRoads.vertexIndex, EditorRoads.tangentIndex, point - EditorRoads.joint.vertex);
                 }
                 else if (EditorRoads.vertexIndex > -1)
                 {
                     EditorRoads.road.moveVertex(EditorRoads.vertexIndex, point);
                 }
             }
         }
         if (Input.GetKeyDown(ControlsSettings.primary))
         {
             if (EditorInteract.logicHit.transform != null)
             {
                 if (EditorInteract.logicHit.transform.name.IndexOf("Path") != -1 || EditorInteract.logicHit.transform.name.IndexOf("Tangent") != -1)
                 {
                     EditorRoads.select(EditorInteract.logicHit.transform);
                 }
             }
             else if (EditorInteract.worldHit.transform != null)
             {
                 Vector3 point2 = EditorInteract.worldHit.point;
                 if (EditorRoads.road != null)
                 {
                     if (EditorRoads.tangentIndex > -1)
                     {
                         EditorRoads.select(EditorRoads.road.addVertex(EditorRoads.vertexIndex + EditorRoads.tangentIndex, point2));
                     }
                     else
                     {
                         float num  = Vector3.Dot(point2 - EditorRoads.joint.vertex, EditorRoads.joint.getTangent(0));
                         float num2 = Vector3.Dot(point2 - EditorRoads.joint.vertex, EditorRoads.joint.getTangent(1));
                         if (num > num2)
                         {
                             EditorRoads.select(EditorRoads.road.addVertex(EditorRoads.vertexIndex, point2));
                         }
                         else
                         {
                             EditorRoads.select(EditorRoads.road.addVertex(EditorRoads.vertexIndex + 1, point2));
                         }
                     }
                 }
                 else
                 {
                     EditorRoads.select(LevelRoads.addRoad(point2));
                 }
             }
         }
     }
 }