Пример #1
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent <MovementController>();
     lastTarget = target;
     //self = transform;
     server.clients.Add(this);
     grid = server.grid;
     recentlyPerformance = GetComponent <PerformanceCalculator>();
     recentlyPerformance.AddPositions(transform.position);
     controller.setMovementSpeed(recentlyPerformance.getSpeed());
 }
Пример #2
0
 // Use this for initialization
 void Start()
 {
     controller = GetComponent<MovementController>();
     lastTarget = target;
     //self = transform;
     server.clients.Add(this);
     grid = server.grid;
     recentlyPerformance = GetComponent<PerformanceCalculator>();
     recentlyPerformance.AddPositions(transform.position);
     controller.setMovementSpeed(recentlyPerformance.getSpeed());
 }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        controller.setMovementSpeed(recentlyPerformance.getSpeed());
        if (!recentlyPerformance.CheckCharging())
        {
            if (run)
            {
                uploadSensorDataToServer();

                //ha nem( útra várás || targetre várás || nincs elérhető target)
                if (!(pathRequestPending || targetRequestPending || !targetSuccess))
                {
                    //ha nem indulás
                    if (path != null)
                    {
                        //ha új target van
                        if (!target.Equals(lastTarget))
                        {
                            getNewPath(target);
                            lastTarget = target;
                        }
                        //ha nincs új target
                        else
                        {
                            //ha rossz a jelenlegi út
                            if (!checkPath())
                            {
                                if (wrongPosition())
                                {
                                    rescue();
                                }
                                if (!pathSuccess)
                                {
                                    getNewTarget(); //ha nem létezik út a jelenlegi célhoz
                                }
                                else
                                {
                                    getNewPath(path[path.Count - 1]); //ha létezik út a jelenlegi célhoz
                                }
                            }
                            //ha jó a jelenlegi út
                            else
                            {
                                controller.moveTo(path[currentWaypoint].worldPosition);
                                recentlyPerformance.AddPositions(transform.position);

                                //ha elértük az aktuális waypointot
                                if (waypointReached())
                                {
                                    //ha az elért pont a target
                                    if (path.Count.Equals(currentWaypoint + 1))
                                    {
                                        getNewTarget();
                                        recentlyPerformance.TimeAdd();
                                        recentlyPerformance.ClearLists();
                                    }
                                    else
                                    {
                                        currentWaypoint++;
                                        controller.moveTo(path[currentWaypoint].worldPosition);
                                        recentlyPerformance.AddPositions(transform.position);
                                        recentlyPerformance.ClearLists();
                                    }
                                }
                            }
                        }
                    }
                    //ha indulás
                    else
                    {
                        //ha van már target
                        if (target != null)
                        {
                            getNewPath(target);
                            lastTarget = target;
                        }
                        //ha még nincs target
                        else
                        {
                            if (dataSent)
                            {
                                getNewTarget();
                            }
                        }
                    }
                }
                //ha nincs elérhető target
                if (!targetSuccess)
                {
                    //ha nem hívtunk még új target-et
                    if (!waitAndNewTargetCalled)
                    {
                        waitAndNewTargetCalled = true;
                        //5mp várás, utána új target keresése
                        StartCoroutine(WaitAndNewPath(5));
                    }
                }
            }
        }
        else
        {
            controller.moveTo(recentlyPerformance.returnChargerPos());
            recentlyPerformance.AddPositions(transform.position);
        }
    }