Example #1
0
 void ColorTheCurves(RouteMaster master)
 {
     foreach (var route in master.Routes)
     {
         route.colorOfCurve = master.preferedColor;
     }
 }
Example #2
0
    void CreateFlatPath(RouteMaster m)
    {
        var flat = m.NewRoute();

        if (flat != null)
        {
            m.Routes.Peek().controlPoints[1].position = m.Routes.Peek().controlPoints[0].position + (Vector3.right * 10);
            m.Routes.Peek().controlPoints[2].position = m.Routes.Peek().controlPoints[3].position + (Vector3.left * 10);
        }
    }
Example #3
0
 void ClearAIs(RouteMaster master)
 {
     foreach (var ai in master.SpawnedAIs)
     {
         if (ai != null)
         {
             DestroyImmediate(ai);
         }
     }
     master.SpawnedAIs.Clear();
 }
Example #4
0
    int totalControlPoints(RouteMaster _m)
    {
        int index = 0;

        foreach (var route in _m.Routes)
        {
            foreach (var cp in route.controlPoints)
            {
                if (cp != null)
                {
                    index++;
                }
            }
        }
        return(index);
    }
Example #5
0
 bool IsWithinEraseArea(Vector3 toErase, RouteMaster _master)
 {
     //Is the obj pos < x
     if (toErase.x < _master.Eraser.transform.position.x + _master.EraseArea &&
         //pos > x
         toErase.x > _master.Eraser.transform.position.x - _master.EraseArea &&
         //pos < y
         toErase.y < _master.Eraser.transform.position.y + _master.EraseArea &&
         //pos > y
         toErase.y > _master.Eraser.transform.position.y - _master.EraseArea)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #6
0
        public JsonResult SaveRoute(int Id, string Code, string Name, int OrginLocationID, int DestinationId, string Details)
        {
            try
            {
                var acopeningmaster = (from d in db.RouteMasters where d.RouteID == Id select d).FirstOrDefault();
                if (acopeningmaster == null)
                {
                    acopeningmaster = new RouteMaster();
                }
                else
                {
                    var details = (from d in db.RouteOrders where d.RouteID == acopeningmaster.RouteID select d).ToList();
                    db.RouteOrders.RemoveRange(details);
                    db.SaveChanges();
                }
                acopeningmaster.RouteCode             = Code;
                acopeningmaster.RouteName             = Name;
                acopeningmaster.OrginLocationID       = OrginLocationID;
                acopeningmaster.DestinationLocationID = DestinationId;

                if (acopeningmaster.RouteID == 0)
                {
                    db.RouteMasters.Add(acopeningmaster);
                }
                db.SaveChanges();
                var IDetails = JsonConvert.DeserializeObject <List <DepotVM> >(Details);
                foreach (var item in IDetails)
                {
                    var InvoiceDetail = new RouteOrder();
                    InvoiceDetail.RouteID   = acopeningmaster.RouteID;
                    InvoiceDetail.DepotID   = item.ID;
                    InvoiceDetail.StopOrder = item.AgentID;

                    db.RouteOrders.Add(InvoiceDetail);
                    db.SaveChanges();
                }
                return(Json(new { status = "ok", message = "Route Submitted Successfully!" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { status = "failed", message = e.Message.ToString() }, JsonRequestBehavior.AllowGet));
            }
        }
Example #7
0
 void CloseGap(RouteMaster m, bool atTheBegining)
 {
     if (m != null)
     {
         if (m.Routes.Count > 1)
         {
             if (atTheBegining == false)
             {
                 Vector2 lastpoint = m.Routes.Peek().IndividualPoints[m.Routes.Peek().IndividualPoints.Count - 1];
                 m.lRoutes()[0].controlPoints[0].position = lastpoint;
             }
             else
             {
                 Vector2 firstPoint = m.lRoutes()[0].controlPoints[0].position;
                 m.Routes.Peek().controlPoints[3].position = firstPoint;
             }
         }
     }
 }
        public static List<DC> GetAllDC()
        {
            List<DC> lstRoute = null;
            RouteMasterBLL objRouteMasterBLL = null;
            RouteMaster routeMaster = new RouteMaster();
            //   int DCId = 1;//
            try
            {

                objRouteMasterBLL = new RouteMasterBLL();
                lstRoute = objRouteMasterBLL.GetSelectedDC();
            }
            catch (Exception ex)
            {

            }
            finally
            {
                objRouteMasterBLL = null;
            }
            return lstRoute;
        }
        public int AddRout(RouteMaster _master, string Otype)
        {
            DALCommon dal = new DALCommon(ConStr);

            return(dal.AddRout(_master, Otype));
        }
Example #10
0
    protected virtual void OnSceneGUI()
    {
        RouteMaster master = (RouteMaster)target;

        if (master.isEraseMode == true)
        {
            master.Eraser.transform.position = Handles.PositionHandle(master.Eraser.transform.position, Quaternion.identity);

            if (Event.current.type == EventType.Repaint)
            {
                Handles.color = Color.red;
                //Handles.DotHandleCap(0, master.Eraser.transform.position, Quaternion.identity, 0.5f, EventType.Repaint);
                Handles.SphereHandleCap(0, master.Eraser.transform.position, Quaternion.identity, 1f, EventType.Repaint);

                Handles.color = new Color(1f, 0.5f, 0.5f);
                Handles.RectangleHandleCap(0, master.Eraser.transform.position, Quaternion.identity, master.EraseArea, EventType.Repaint);

                foreach (var bush in master.Bushes)
                {
                    if (bush != null)
                    {
                        if (IsWithinEraseArea(bush.transform.position, master))
                        {
                            master.Bushes.Remove(bush);
                            DestroyImmediate(bush);
                        }
                    }
                }
            }
        }


        if (master.Routes.Count > 1)
        {
            List <Route> routes = new List <Route>();

            routes.AddRange(master.Routes);

            for (int i = 0; i < routes.Count; i++)
            {
                var handleSize = 3f;
                var snap       = Vector3.one * 0.1f;

                Handles.color = Color.cyan;

                EditorGUI.BeginChangeCheck();
                Vector3 newTargetPos = Handles.FreeMoveHandle(routes[i].controlPoints[3].position, Quaternion.identity, handleSize, snap,
                                                              Handles.SphereHandleCap);

                //The index of the tangent handlers are 1 and 2. These determine the nature of the curve or
                //how curvy it is
                Handles.color = Color.grey;
                Vector3 curveDeterment1 = Handles.FreeMoveHandle(routes[i].controlPoints[1].position, Quaternion.identity, handleSize, snap,
                                                                 Handles.SphereHandleCap);

                Vector3 curveDeterment2 = Handles.FreeMoveHandle(routes[i].controlPoints[2].position, Quaternion.identity, handleSize, snap,
                                                                 Handles.SphereHandleCap);

                if (EditorGUI.EndChangeCheck())
                {
                    Undo.RecordObject(master, "Change Look At Target Position");

                    routes[i].controlPoints[1].position = curveDeterment1;
                    routes[i].controlPoints[2].position = curveDeterment2;

                    routes[i].controlPoints[3].position = newTargetPos;
                    if (routes[i - 1] != null)
                    {
                        routes[i - 1].controlPoints[0].position = newTargetPos;
                    }

                    //Undo.RecordObject(master, "Change Look At Target Position");
                }
            }
        }
    }
Example #11
0
 void CheckRouteDataInEditor(RouteMaster _m)
 {
     Debug.Log("You have " + _m.Routes.Count + " routes");
     Debug.Log("You have a total of " + totalControlPoints(_m) + " Handles");
 }
Example #12
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        RouteMaster master = (RouteMaster)target;

        master.Init();
        //master.InitPrefab();

        //master.CreateNewRoute();

        //This is only debugging purposes
        if (master.AllowDebugMsg)
        {
            CheckRouteDataInEditor(master);
        }

        ColorTheCurves(master);

        var centeredStyle = GUI.skin.GetStyle("Label");

        centeredStyle.alignment = TextAnchor.UpperCenter;
        centeredStyle.fontSize  = 15;
        centeredStyle.fontStyle = FontStyle.Bold;
        centeredStyle.richText  = true;

        GUILayout.Space(10);
        GUILayout.Label("<color=#a94064>Route Management</color>", centeredStyle);
        GUILayout.BeginHorizontal();

        if (GUILayout.Button("New Route"))
        {
            Debug.Log("Button Pressed");
            master.CreateNewRoute();
        }

        if (GUILayout.Button("Delete Newest Route"))
        {
            master.DeleteNewestRoute();
        }

        GUILayout.EndHorizontal();

        if (GUILayout.Button("Create Flat Route"))
        {
            CreateFlatPath(master);
        }

        GUILayout.Space(25);

        if (GUILayout.Button("Reload precision points"))
        {
            foreach (var r in master.Routes)
            {
                r.precisionValue = master.precisionValue;
            }
        }

        if (GUILayout.Button("Populate Curve"))
        {
            master.SpawnObject();
        }

        GUILayout.Space(10);
        GUILayout.Label("<color=#a94064>Eraser</color>", centeredStyle);

        if (master.isEraseMode == false)
        {
            if (GUILayout.Button("ENABLE Erase Mode"))
            {
                master.isEraseMode = true;
            }
        }
        else
        {
            if (GUILayout.Button("DISABLE Erase Mode"))
            {
                master.isEraseMode = false;
            }
        }

        GUILayout.Space(10);

        GUILayout.Label("<color=#a94064>Closing the Gap</color>", centeredStyle);
        GUILayout.BeginHorizontal();

        if (GUILayout.Button("Loop @ Beginning"))
        {
            CloseGap(master, true);
        }

        if (GUILayout.Button("Loop @ End"))
        {
            CloseGap(master, false);
        }

        GUILayout.EndHorizontal();

        GUILayout.Space(10);

        GUILayout.Label("<color=#a94064>AI Management</color>", centeredStyle);
        GUILayout.Label("<size=9><color=#a94064>The button will overwrite the number of AIs you have in the scene</color></size>", centeredStyle);

        GUILayout.BeginHorizontal();

        if (GUILayout.Button("Instantiate AI"))
        {
            Spawn(master);
        }

        if (GUILayout.Button("Clear All AIs"))
        {
            ClearAIs(master);
        }

        GUILayout.EndHorizontal();
    }
Example #13
0
    void Spawn(RouteMaster master)
    {
        if (Resources.Load("Prefabs/_testAI") != null)
        {
            for (int i = 0; i < master.SpawnedAIs.Count; i++)
            {
                if (master.SpawnedAIs[i] != null)
                {
                    DestroyImmediate(master.SpawnedAIs[i]);
                }
            }

            master.SpawnedAIs.Clear();

            for (int i = 0; i < master.NoofAIs; i++)
            {
                var ai = PrefabUtility.InstantiatePrefab(Resources.Load("Prefabs/_testAI")) as GameObject;
                ai.transform.position = master.transform.position + (Vector3.up * i);
                master.SpawnedAIs.Add(ai);

                //Get the relevant component from ai
                var routeFollower = ai.GetComponent <RouteFollower>();
                if (routeFollower != null)
                {
                    routeFollower.routeMaster   = master;
                    routeFollower.speedModifier = master.speedModifier;
                    routeFollower.Delay         = i * master.gapBetweenAgents;
                    switch (master._aITYPE)
                    {
                    case RouteMaster._AITYPE.NONE:
                        if (Resources.Load("Prefabs/AI") != null)
                        {
                            var type = PrefabUtility.InstantiatePrefab(Resources.Load("Prefabs/AI")) as GameObject;
                            type.transform.position = master.transform.position + (Vector3.up * i);
                            type.transform.parent   = ai.transform;
                        }
                        else
                        {
                            Debug.LogError("Error of Resources.Load possibly the path");
                        }
                        break;

                    case RouteMaster._AITYPE.TEST:
                        if (Resources.Load("Prefabs/AI") != null)
                        {
                            var type = PrefabUtility.InstantiatePrefab(Resources.Load("Prefabs/AI")) as GameObject;
                            type.transform.position = master.transform.position + (Vector3.up * i);
                            type.transform.parent   = ai.transform;
                        }
                        else
                        {
                            Debug.LogError("Error of Resources.Load possibly the path");
                        }
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    Debug.LogError("No routefollower script attached to instance???");
                }
            }
        }
    }