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

Documentation de 3 scripts

parent 62a06d70
Branches
1 merge request!79Documentation de 3 scripts
This diff is collapsed.
......@@ -17,6 +17,7 @@ namespace Scripts.IA
public List<GameObject> _listRunners; //<! "Insérer description de la variable"
public float moyenneMotivation = 0; //<! "Insérer description de la variable"
// Champs privés
private System.Random rdn; //<! "Insérer description de la variable"
private static RunnersFactory instance; //<! "Insérer description de la variable"
private AbstractMap _map; //<! "Insérer description de la variable"
......
......@@ -61,9 +61,6 @@
GameObject.Find("Sportifs").GetComponent<RunnersFactory>().enabled = true;
}
//! @param start Position du @b GameObject de départ.
......
namespace Scripts.Waypoints
{
using UnityEngine;
using Mapbox.Utils;
using Mapbox.Unity.Map;
using Mapbox.Unity.MeshGeneration.Factories;
using Mapbox.Unity.Utilities;
using System.Collections.Generic;
using UnityEngine;
using Mapbox.Utils;
using Mapbox.Unity.Map;
using Mapbox.Unity.MeshGeneration.Factories;
using Mapbox.Unity.Utilities;
using System.Collections.Generic;
using Scripts.Routes;
using Scripts.Map;
//! @authors MapBox
//! Wakestufou
//! @brief Fait apparaître des waypoints sur la Map.
//! @details Cette classe s'occupe de transformer une liste de coordonnées GPS en waypoints liés à la map.
//! De cette maniètre la caméra peut bouger, les waypoints resterons à leur position de base.
//! du placement des waypoints et tu tracé de la route.
public class SpawnOnMap : MonoBehaviour
{
[SerializeField]
AbstractMap _map;
{
// Champs publiques
public List<GameObject> spawnedObjects; //!< Liste des waypoints placés.
public Transform parent; //!< Parent de la liste des waypoints placés.
[SerializeField]
[Geocode]
Vector2d[] _locations;
[SerializeField]
float _spawnScale = 1f;
[SerializeField]
float _spawnScaleStartEnd = 6f;
[SerializeField]
GameObject _markerPrefab;
[SerializeField]
GameObject _prefabDebut;
[SerializeField]
GameObject _prefabFin;
public List<GameObject> _spawnedObjects;
public Transform parent;
private float _zoom;
private static SpawnOnMap instance;
// Champs privés
private float _zoom; //!< Valeur du zoom de la caméra sur la map.
private static SpawnOnMap _instance; //!< Instance actuelle.
[SerializeField] AbstractMap _map; //!< Map Google Street View.
[SerializeField] [Geocode] Vector2d[] _locations; //!< Liste des positions GPS des waypoints à placer.
[SerializeField] float _spawnScale = 1f; //!< Taille d'un waypoint de base.
[SerializeField] float _spawnScaleStartEnd = 6f; //!< Taille des waypoints de départ et d'arrivée.
[SerializeField] GameObject _markerPrefab; //!< Préfabriqué d'un waypoint de base.
[SerializeField] GameObject _startPrefab; //!< Préfabriqué du waypoint de départ.
[SerializeField] GameObject _endPrefab; //!< Préfabriqué du waypoint d'arrivée.
//! @brief Se lance au lancement du script.
//! @details Crée les waypoints sur la map à partir des coordonnées GPS.
void Start()
{
instance = this;
_instance = this;
List<Vector2d> Waypoints = new List<Vector2d>(WaypointsFactory.getInstance().getWp());
_locations = new Vector2d[Waypoints.Count];
_spawnedObjects = new List<GameObject>();
spawnedObjects = new List<GameObject>();
for (int i = 0; i < _locations.Length; i++)
{
_locations[i] = Waypoints[i];
var instances = Instantiate(_markerPrefab, parent); ;
var _instances = Instantiate(_markerPrefab, parent); ;
if (i == 0)
{
instances = Instantiate(_prefabDebut, parent);
instances.transform.localScale = new Vector3(_spawnScaleStartEnd, _spawnScaleStartEnd, _spawnScaleStartEnd);
_instances = Instantiate(_startPrefab, parent);
_instances.transform.localScale = new Vector3(_spawnScaleStartEnd, _spawnScaleStartEnd, _spawnScaleStartEnd);
}
else if (i == _locations.Length - 1)
{
instances = Instantiate(_prefabFin, parent);
instances.transform.localScale = new Vector3(_spawnScaleStartEnd, _spawnScaleStartEnd, _spawnScaleStartEnd);
_instances = Instantiate(_endPrefab, parent);
_instances.transform.localScale = new Vector3(_spawnScaleStartEnd, _spawnScaleStartEnd, _spawnScaleStartEnd);
}
else
{
instances.transform.localScale = new Vector3(_spawnScale, _spawnScale, _spawnScale);
_instances.transform.localScale = new Vector3(_spawnScale, _spawnScale, _spawnScale);
}
instances.transform.localPosition = _map.GeoToWorldPosition(_locations[i], true);
_spawnedObjects.Add(instances);
_instances.transform.localPosition = _map.GeoToWorldPosition(_locations[i], true);
spawnedObjects.Add(_instances);
}
//GameObject.Find("Map").GetComponent<QuadTreeCameraMovement>().enabled = true;
//_cam = GameObject.Find("GameManager").GetComponent<QuadTreeCameraMovement>();
//_cam.enabled = true;
//_cam.minZoom = 0;
_zoom = _map.Zoom;
}
//! @brief Se répète toutes les 14ms (temps par défaut dans Unity).
//! @details Met à jour les waypoints de la map afin qu'ils gardent leur place réelle et non leur position Unity.
private void Update()
{
int count = _spawnedObjects.Count;
int count = spawnedObjects.Count;
for (int i = 0; i < count; i++)
{
var spawnedObject = _spawnedObjects[i];
var spawnedObject = spawnedObjects[i];
var location = _locations[i];
spawnedObject.transform.localPosition = _map.GeoToWorldPosition(location, true);
spawnedObject.transform.localScale = new Vector3(_spawnScale, _spawnScale, _spawnScale);
......@@ -88,12 +81,11 @@
if (VerifVisible())
{
GameObject.Find("GameManager").GetComponent<RouteTracer>().enabled = true;
//this.enabled = false;
} else if (_zoom <= 2)
}
else if (_zoom <= 2)
{
GameObject.Find("GameManager").GetComponent<RouteTracer>().enabled = true;
//this.enabled = false;
}
}
else
{
_zoom -= 0.25f;
......@@ -101,24 +93,32 @@
}
}
//! @brief Test la visibilité des waypoints.
//! @details Si un waypoints n'est dans le champs de vision de la caméra.
//! @return @e bool Si un waypoint n'est pas visible renvoie @b false, sinon renvoie @b true
private bool VerifVisible()
{
bool verif = true;
for (int i = 0; i<_spawnedObjects.Count; i++)
for (int i = 0; i < spawnedObjects.Count; i++)
{
if (!_spawnedObjects[i].GetComponent<Renderer>().isVisible) verif = false;
if (!spawnedObjects[i].GetComponent<Renderer>().isVisible) verif = false;
}
return verif;
}
//! @brief Récupère les objets crées.
//! @return @e List<GameObject> Liste des waypoints qui ont été placés.
public List<GameObject> getSpawnedObject()
{
return _spawnedObjects;
return spawnedObjects;
}
//! @brief Récupère l'instance de Waypoints.SpawnOnMap
//! @details Récupère l'instance du script actuel afin de respecter un patterne @b singleton.
//! @return @e SpawnOnMap Instance actuelle.
public static SpawnOnMap getInstance()
{
return instance;
return _instance;
}
}
}
\ 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