Ejemplo n.º 1
0
    public void Select()
    {
        try
        {
            PlaceableObject.Current.HideAllGizmos();
            PlaceableObject.Current.EnableClickColliders();
        }
        catch { }

        Material[] Mats;
        Material   Mat;

        //Deselect the current roadmarker
        if (BezCtrlPt.Current != null)
        {
            if (BezCtrlPt.Current.goRdMkr != null)
            {
                Mats    = BezCtrlPt.Current.goRdMkr.GetComponentInChildren <MeshRenderer>().sharedMaterials;
                Mat     = (Material)Resources.Load("Prefabs/Materials/Orange", typeof(Material));
                Mats[1] = Mat;
                BezCtrlPt.Current.goRdMkr.GetComponentInChildren <MeshRenderer>().sharedMaterials = Mats;
                BezCtrlPt.Current.goRdMkr.GetComponent <RoadMarker>().Gizmo.SetActive(false);
                BezCtrlPt.Current.goRdMkr.GetComponent <RoadMarker>().GizmoBankL.SetActive(false);
                BezCtrlPt.Current.goRdMkr.GetComponent <RoadMarker>().GizmoBankR.SetActive(false);
                BezCtrlPt.Current.goRdMkr.GetComponent <RoadMarker>().Selected = false;
            }
        }
        Selected = true;
        CtrlPt.Select();    //sets th Current CtrlPt and Current Line;
        Mats    = BezCtrlPt.Current.goRdMkr.GetComponentInChildren <MeshRenderer>().sharedMaterials;
        Mat     = (Material)Resources.Load("Prefabs/Materials/BrightGreen", typeof(Material));
        Mats[1] = Mat;
        GetComponentInChildren <MeshRenderer>().sharedMaterials = Mats;
        Gizmo.SetActive(true);
        Gizmo.transform.rotation = Quaternion.identity;
        if (CtrlPt.SegStartIdx < Road.Instance.XSecs.Count)     //put this in because the GizmoBank was failing on the last CtrlPt
        {
            GizmoBankR.SetActive(true);
            GizmoBankR.GetComponent <GizmoBank>().Init();
            GizmoBankL.SetActive(true);
            GizmoBankL.GetComponent <GizmoBank>().Init();
            _bc.LerpTowards(BezCtrlPt.Current.Pos + Vector3.up * 10);
        }
        ToolboxController tbc = GameObject.Find("BuilderGUICanvas(Clone)").GetComponent <ToolboxController>();

        tbc.SetToolToggle("RoadSectn", false);
        tbc.ShowInsertButton(true);
        if (Road.Instance.Sectns[CtrlPt.CtrlPtId].RoadMaterial != null)
        {
            tbc.ShowRoadToolOptionForSelectedSection(ShopItemType.Road, Road.Instance.Sectns[CtrlPt.CtrlPtId].RoadMaterial);
        }
        tbc.ShowRoadToolOptionForSelectedSection(ShopItemType.Fence, Road.Instance.Sectns[CtrlPt.CtrlPtId].LFenceType, "L");
        tbc.ShowRoadToolOptionForSelectedSection(ShopItemType.Fence, Road.Instance.Sectns[CtrlPt.CtrlPtId].RFenceType, "R");
    }
Ejemplo n.º 2
0
        public override void Manipulate(CtrlPt ctrlPt, PointF d)
        {
            if (ctrlPt == CtrlPt.LineEnd0)
            {
                Point0 = new PointF(d.X + Point0.X, d.Y + Point0.Y);
            }
            if (ctrlPt == CtrlPt.LineEnd1)
            {
                Point1 = new PointF(d.X + Point1.X, d.Y + Point1.Y);
            }

            _buildBoundingRect();
        }
Ejemplo n.º 3
0
 virtual public void Manipulate(CtrlPt ctrlPt, PointF d)
 {
     if (ctrlPt == CtrlPt.TopLeft)
     {
         var x = LocalRect.X + d.X;
         var y = LocalRect.Y + d.Y;
         var w = LocalRect.Width - d.X;
         var h = LocalRect.Height - d.Y;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.TopMiddle)
     {
         var x = LocalRect.X;
         var y = LocalRect.Y + d.Y;
         var w = LocalRect.Width;
         var h = LocalRect.Height - d.Y;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.TopRight)
     {
         var x = LocalRect.X;
         var y = LocalRect.Y + d.Y;
         var w = LocalRect.Width + d.X;
         var h = LocalRect.Height - d.Y;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.RightMiddle)
     {
         var x = LocalRect.X;
         var y = LocalRect.Y;
         var w = LocalRect.Width + d.X;
         var h = LocalRect.Height;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.BottomRight)
     {
         var x = LocalRect.X;
         var y = LocalRect.Y;
         var w = LocalRect.Width + d.X;
         var h = LocalRect.Height + d.Y;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.BottomMiddle)
     {
         var x = LocalRect.X;
         var y = LocalRect.Y;
         var w = LocalRect.Width;
         var h = LocalRect.Height + d.Y;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.BottomLeft)
     {
         var x = LocalRect.X + d.X;
         var y = LocalRect.Y;
         var w = LocalRect.Width - d.X;
         var h = LocalRect.Height + d.Y;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.LeftMiddle)
     {
         var x = LocalRect.X + d.X;
         var y = LocalRect.Y;
         var w = LocalRect.Width - d.X;
         var h = LocalRect.Height;
         LocalRect = new RectangleF(x, y, w, h);
     }
     else if (ctrlPt == CtrlPt.Rotation)
     {
         Angle += d.X;
     }
 }