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

Update WaypointsFactory.cs

parent 54da4016
Branches
1 merge request!88Update WaypointsFactory.cs
namespace Scripts.Waypoints namespace Scripts.Waypoints
{ {
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -17,30 +17,30 @@ ...@@ -17,30 +17,30 @@
{ {
// Champs publiques // Champs publiques
public static List<Vector2d> points; //<! Coordonnées des waypoints public static List<Vector2d> points; //<! Coordonnées des waypoints
private string coordonnee1; //<! Coordonnées du point de départ public Transform prefabs_parent; //<! Objet qui va contenir les waypoints
private string coordonnee2; //<! Coordonnées du point de fin
public Transform _prefabs_parent; //<! Objet qui va contenir les waypoints
// Champs privés // Champs privés
Directions _directions; //<! Contient les informations gps de la course Directions _directions; //<! Contient les informations gps de la course
private GameObject map; //<! Map private GameObject _map; //<! Map
private static WaypointsFactory instance; //<! Instance de @b Waypoints.WaypointsFactory private static WaypointsFactory _instance; //<! Instance de @b Waypoints.WaypointsFactory
Vector2d[] _coordinates; //<! Va contenir @a coordonnee1 et @a coordonnee2 Vector2d[] _coordinates; //<! Va contenir @a coordonnee1 et @a coordonnee2
DirectionResource _directionResource; //<! Contient les informations sous forme de json deserialize DirectionResource _directionResource; //<! Contient les informations sous forme de json deserialize
private DirectionsResponse _DirectionResourceResultat; //<! Contient les informations de @a _directionRessource private DirectionsResponse _DirectionResourceResultat; //<! Contient les informations de @a _directionRessource
private bool test = true; //<! Test si la création des waypoints est finie private bool _test = true; //<! Test si la création des waypoints est finie
private AbstractMap abstractmap; //<! Map Google Street View. 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. //! @brief Se lance au lancement du script.
//! @details Initialise les variables //! @details Initialise les variables
void Start() void Start()
{ {
instance = this; _instance = this;
map = GameObject.Find("Map"); _map = GameObject.Find("Map");
abstractmap = map.GetComponent<AbstractMap>(); _abstractmap = _map.GetComponent<AbstractMap>();
points = new List<Vector2d>(); points = new List<Vector2d>();
coordonnee1 = ""; _coordonnee1 = "";
coordonnee2 = ""; _coordonnee2 = "";
_directions = MapboxAccess.Instance.Directions; _directions = MapboxAccess.Instance.Directions;
_coordinates = new Vector2d[2]; _coordinates = new Vector2d[2];
...@@ -51,11 +51,18 @@ ...@@ -51,11 +51,18 @@
//! @brief Retourne l'instance //! @brief Retourne l'instance
//! @details return @a instance //! @details return @a instance
//! @return @e WaypointsFactory Instance actuelle.
public static WaypointsFactory getInstance() 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 //! @brief Retourne les coordonnées des waypoints
//! @details Retourne la liste des coordonnées des waypoints //! @details Retourne la liste des coordonnées des waypoints
...@@ -69,49 +76,47 @@ ...@@ -69,49 +76,47 @@
//! @details Créer la route avec le point de départ et de fin //! @details Créer la route avec le point de départ et de fin
void Route() void Route()
{ {
_coordinates[0] = Conversions.StringToLatLon(coordonnee1); _coordinates[0] = Conversions.StringToLatLon(_coordonnee1);
_coordinates[1] = Conversions.StringToLatLon(coordonnee2); _coordinates[1] = Conversions.StringToLatLon(_coordonnee2);
_directionResource.Coordinates = _coordinates; _directionResource.Coordinates = _coordinates;
_directions.Query(_directionResource, HandleDirectionsResponse); _directions.Query(_directionResource, HandleDirectionsResponse);
} }
//! @param res Réponse de la direction.
//! @brief Enregistre les informations //! @brief Enregistre les informations
//! @details Enregistre les informations en format json deserialize //! @details Enregistre les informations en format json deserialize
void HandleDirectionsResponse(DirectionsResponse res) void HandleDirectionsResponse(DirectionsResponse res)
{ {
_DirectionResourceResultat = res; _DirectionResourceResultat = res;
test = false; _test = false;
} }
//! @param coord1 Coordonnée 1
//! @param coord2 Coordonnée 2
//! @brief Lance la création de route //! @brief Lance la création de route
//! @details Lance la création de route //! @details Lance la création de route
public void click(string coord1, string coord2) public void click(string coord1, string coord2)
{ {
coordonnee1 = coord1; _coordonnee1 = coord1;
coordonnee2 = coord2; _coordonnee2 = coord2;
Debug.Log(coordonnee1); Debug.Log(_coordonnee1);
Debug.Log(coordonnee2); Debug.Log(_coordonnee2);
StartCoroutine(createRoad()); StartCoroutine(createRoad());
} }
//! @brief Lance la création de route //! @brief Lance la création de route
//! @details 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() IEnumerator createRoad()
{ {
if (coordonnee1 == "" || coordonnee2 == "") if (_coordonnee1 == "" || _coordonnee2 == "")
{ {
} }
else else
{ {
Route(); Route();
yield return new WaitUntil(() => test == false); yield return new WaitUntil(() => _test == false);
PlacementWaypoint(abstractmap.WorldToGeoPosition(GameObject.FindGameObjectWithTag("start_wp").transform.position)); PlacementWaypoint(_abstractmap.WorldToGeoPosition(GameObject.FindGameObjectWithTag("start_wp").transform.position));
foreach (var val in _DirectionResourceResultat.Routes[0].Legs[0].Steps) foreach (var val in _DirectionResourceResultat.Routes[0].Legs[0].Steps)
{ {
...@@ -121,16 +126,16 @@ ...@@ -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("start_wp").Destroy();
GameObject.FindGameObjectWithTag("end_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 //! @brief Enregistre un waypoints
//! @details Enregistre les coordonnées d'un waypoints //! @details Enregistre les coordonnées d'un waypoints
void PlacementWaypoint(Vector2d coordonnesPoints) void PlacementWaypoint(Vector2d coordonnesPoints)
...@@ -138,4 +143,4 @@ ...@@ -138,4 +143,4 @@
points.Add(coordonnesPoints); 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