An error occurred while loading the file. Please try again.
-
MrWarzo authoredf4d85709
namespace Scripts.IA
{
using UnityEngine;
using Scripts.Waypoints;
using Mapbox.Unity.Map;
using System.Collections.Generic;
//! @authors Wakestufou
//! @brief "Insérer description rapide"
//! @details "Insérer description détaillée"
public class RunnersFactory : MonoBehaviour
{
// Champs publiques
public int nbJoueur; //<! "Insérer description de la variable"
public Transform parent; //<! "Insérer description de la variable"
public Runners copy; //<! "Insérer description de la variable"
public List<GameObject> _listRunners; //<! "Insérer description de la variable"
public float moyenneMotivation = 0; //<! "Insérer description de la variable"
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"
//! @brief Se lance au lancement du script.
//! @details "Insérer description détaillée"
void Start()
{
_listRunners = new List<GameObject>();
_map = GameObject.Find("Map").GetComponent<AbstractMap>();
instance = this;
rdn = new System.Random();
nbJoueur = 5 + Ui.fame * 2;
for (int i = 0; i < nbJoueur; i++)
{
_listRunners.Add(Instantiate(copy, _map.GeoToWorldPosition(WaypointsFactory.getInstance().getWp()[0]),
new Quaternion(0, 0, 0, 0), parent).gameObject);
moyenneMotivation += _listRunners[i].GetComponent<Runners>().motivation;
}
moyenneMotivation /= float.Parse(_listRunners.Count.ToString());
}
//! @brief Se répète toutes les 14ms (temps par défaut dans Unity).
//! @details "Insérer description détaillée"
private void Update()
{
_listRunners.Clear();
moyenneMotivation = 0;
for (int i = 0; i < GameObject.Find("Sportifs").transform.childCount; i++)
{
_listRunners.Add(GameObject.Find("Sportifs").transform.GetChild(i).gameObject);
moyenneMotivation += _listRunners[i].GetComponent<Runners>().motivation;
}
moyenneMotivation /= float.Parse(_listRunners.Count.ToString());
if (GameObject.Find("Sportifs").transform.childCount != 0)
{
Ui.motiv = moyenneMotivation;
if (Ui.motiv < 0)
{
Ui.motiv = 0;
}
else if (Ui.motiv > 100)
{
Ui.motiv = 100;
}
}
else
{
}
}
//! @brief "Insérer description rapide"
//! @details "Insérer description détaillée"
public System.Random getRandom()
{
return rdn;
}
//! @brief "Insérer description rapide"
//! @details "Insérer description détaillée"
public static RunnersFactory getInstance()
{
return instance;
}
}
}