Exemplo n.º 1
0
    /// <summary>
    /// Define FactorData separate of the MonoBehavior component. This lets us test/simulate outside of Unity more easily.
    /// </summary>
    /// <param name="values">Just use new FactorData(params)</param>
    /// <returns>The component created on a new game object</returns>
    private EnvFactor AddNewEnvironmentFactor(FactorData values)
    {
        GameObject go = new GameObject();

        EnvFactor newFactor = go.AddComponent <EnvFactor>();

        go.transform.SetParent(transform);

        newFactor.AssignFactorData(values);
        return(newFactor);
    }
Exemplo n.º 2
0
    private void RegisterNewEnvironmentFactor(FactorData newFactor)
    {
        EnvFactor newEnvFactor = AddNewEnvironmentFactor(newFactor);

        //We track the dictionary for easy references
        factors.Add(newFactor.Key, newEnvFactor);

        //But we also have two lists to make it cheaper to iterate. Iterating over a dictionary is very expensive.
        FactorNames.Add(newFactor.Key);
        AllFactors.Add(newEnvFactor);
    }