Skip to content
Snippets Groups Projects
Commit 3feddbb8 authored by MrWarzo's avatar MrWarzo :speech_balloon:
Browse files

Merge branch 'jordan.pereira-main-patch-10830' into 'main'

Update WaypointsFactory.cs

See merge request !88
parents 54da4016 411ebe17
Branches
1 merge request!88Update WaypointsFactory.cs
namespace Scripts.Waypoints
namespace Scripts.Waypoints
{
using System.Collections;
using System.Collections.Generic;
......@@ -17,30 +17,30 @@
{
// Champs publiques
public static List<Vector2d> points; //<! Coordonnées des waypoints
private string coordonnee1; //<! Coordonnées du point de départ
private string coordonnee2; //<! Coordonnées du point de fin
public Transform _prefabs_parent; //<! Objet qui va contenir les waypoints
public Transform prefabs_parent; //<! Objet qui va contenir les waypoints
// Champs privés
Directions _directions; //<! Contient les informations gps de la course
private GameObject map; //<! Map
private static WaypointsFactory instance; //<! Instance de @b Waypoints.WaypointsFactory
private GameObject _map; //<! Map
private static WaypointsFactory _instance; //<! Instance de @b Waypoints.WaypointsFactory
Vector2d[] _coordinates; //<! Va contenir @a coordonnee1 et @a coordonnee2
DirectionResource _directionResource; //<! Contient les informations sous forme de json deserialize
private DirectionsResponse _DirectionResourceResultat; //<! Contient les informations de @a _directionRessource
private bool test = true; //<! Test si la création des waypoints est finie
private AbstractMap abstractmap; //<! Map Google Street View.
private bool _test = true; //<! Test si la création des waypoints est finie
private AbstractMap _abstractmap; //<! Map Google Street View.
private string _coordonnee1; //<! Coordonnées du point de départ
private string _coordonnee2; //<! Coordonnées du point de fin
//! @brief Se lance au lancement du script.
//! @details Initialise les variables
void Start()
{
instance = this;
map = GameObject.Find("Map");
abstractmap = map.GetComponent<AbstractMap>();
_instance = this;
_map = GameObject.Find("Map");
_abstractmap = _map.GetComponent<AbstractMap>();
points = new List<Vector2d>();
coordonnee1 = "";
coordonnee2 = "";
_coordonnee1 = "";
_coordonnee2 = "";
_directions = MapboxAccess.Instance.Directions;
_coordinates = new Vector2d[2];
......@@ -51,11 +51,18 @@
//! @brief Retourne l'instance
//! @details return @a instance
//! @return @e WaypointsFactory Instance actuelle.
public static WaypointsFactory getInstance()
{
return instance;
return _instance;
}
/*
//! @brief Retourne si les waypoints ont fini d'être crée
//! @details Retourne si les waypoints ont fini d'être crée
public bool getTest()
{
return test;
}*/
//! @brief Retourne les coordonnées des waypoints
//! @details Retourne la liste des coordonnées des waypoints
......@@ -69,49 +76,47 @@
//! @details Créer la route avec le point de départ et de fin
void Route()
{
_coordinates[0] = Conversions.StringToLatLon(coordonnee1);
_coordinates[1] = Conversions.StringToLatLon(coordonnee2);
_coordinates[0] = Conversions.StringToLatLon(_coordonnee1);
_coordinates[1] = Conversions.StringToLatLon(_coordonnee2);
_directionResource.Coordinates = _coordinates;
_directions.Query(_directionResource, HandleDirectionsResponse);
}
//! @param res Réponse de la direction.
//! @brief Enregistre les informations
//! @details Enregistre les informations en format json deserialize
void HandleDirectionsResponse(DirectionsResponse res)
{
_DirectionResourceResultat = res;
test = false;
_test = false;
}
//! @param coord1 Coordonnée 1
//! @param coord2 Coordonnée 2
//! @brief Lance la création de route
//! @details Lance la création de route
public void click(string coord1, string coord2)
{
coordonnee1 = coord1;
coordonnee2 = coord2;
Debug.Log(coordonnee1);
Debug.Log(coordonnee2);
_coordonnee1 = coord1;
_coordonnee2 = coord2;
Debug.Log(_coordonnee1);
Debug.Log(_coordonnee2);
StartCoroutine(createRoad());
}
//! @brief Lance la création de route
//! @details Lance la création de route
//! @return @e IEnumerator Permet d'assigner un délai à la répétition de la coroutine.
IEnumerator createRoad()
{
if (coordonnee1 == "" || coordonnee2 == "")
if (_coordonnee1 == "" || _coordonnee2 == "")
{
}
else
{
Route();
yield return new WaitUntil(() => test == false);
PlacementWaypoint(abstractmap.WorldToGeoPosition(GameObject.FindGameObjectWithTag("start_wp").transform.position));
yield return new WaitUntil(() => _test == false);
PlacementWaypoint(_abstractmap.WorldToGeoPosition(GameObject.FindGameObjectWithTag("start_wp").transform.position));
foreach (var val in _DirectionResourceResultat.Routes[0].Legs[0].Steps)
{
......@@ -121,16 +126,16 @@
}
}
PlacementWaypoint(abstractmap.WorldToGeoPosition(GameObject.FindGameObjectWithTag("end_wp").transform.position));
PlacementWaypoint(_abstractmap.WorldToGeoPosition(GameObject.FindGameObjectWithTag("end_wp").transform.position));
GameObject.FindGameObjectWithTag("start_wp").Destroy();
GameObject.FindGameObjectWithTag("end_wp").Destroy();
map.GetComponent<SpawnOnMap>().enabled = true;
_map.GetComponent<SpawnOnMap>().enabled = true;
}
}
//! @param coordonnesPoints Coordonnées du point à ajouter.
//! @brief Enregistre un waypoints
//! @details Enregistre les coordonnées d'un waypoints
void PlacementWaypoint(Vector2d coordonnesPoints)
......@@ -138,4 +143,4 @@
points.Add(coordonnesPoints);
}
}
}
\ No newline at end of file
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment