Exemplo n.º 1
0
    public string SelectedTechValue(TechElement tech)
    {
        if (currentSelection == null || currentSelection.agent == null)
        {
            return("");
        }
        var neurons = currentSelection.agent.brain.GetNeuronsByTechElement(tech);

        // Set neuron text and color
        var values = "";

        for (int i = 0; i < neurons.Count; i++)
        {
            //textStatsGraphLegend.text = "<color=#ff0000ff>Species A -----</color>\n\n<color=#00ff00ff>Species B -----</color>\n\n<color=#0000ffff>Species C -----</color>\n\n<color=#ffffffff>Species D -----</color>";
            Color  textColor = new Color(0.67f, 0.67f, 0.67f);
            float  neuronVal = 100f * neurons[i].currentValue;
            string plusMinus = "";
            if (neuronVal < 0f)
            {
                textColor = new Color(0.9f, 0.8f, 0.6f);
            }
            else if (neuronVal > 0f)
            {
                textColor = new Color(0.5f, 0.8f, 0.96f);
                plusMinus = "+";
            }
            string hexColorCode = ColorUtility.ToHtmlStringRGB(textColor);
            values += "<color=#" + hexColorCode + ">" + plusMinus + neuronVal.ToString("F0") + "</color>";  // neurons[i].name + " " +
            if (i < neurons.Count - 1)
            {
                values += ", ";
            }
        }
        return(values);
    }
Exemplo n.º 2
0
    bool HasPrerequisite(TechElement[] abilities, TechElement prerequisite)
    {
        foreach (var ability in abilities)
        {
            if (ability == prerequisite)
            {
                return(true);
            }
        }

        return(false);
    }
Exemplo n.º 3
0
    public Color CategoryColor(TechElement element)
    {
        foreach (var category in categories)
        {
            if (category.category == element.category)
            {
                return(category.color);
            }
        }

        return(Color.gray);
    }
Exemplo n.º 4
0
    public List <Neuron> GetNeuronsByTechElement(TechElement tech)
    {
        var result = new List <Neuron>();

        foreach (var neuron in neurons)
        {
            if (tech.ContainsNeuron(neuron.data.template))
            {
                result.Add(neuron);
            }
        }

        return(result);
    }
Exemplo n.º 5
0
 // WPP: simplified search by using cached values
 //public bool SelectedAgentHasTech(TechElementId techId) { return currentSelection.candidate.candidateGenome.bodyGenome.data.HasTech(techId); }
 public bool SelectedAgentHasTech(TechElement value)
 {
     return(unlockedTech.Contains(value));
 }
Exemplo n.º 6
0
 public bool Contains(TechElement value)
 {
     return(values.Contains(value));
 }
Exemplo n.º 7
0
 public bool HasPrerequisites(TechElement[] abilities, TechElement requestedAbility)
 {
     return(requestedAbility.HasPrerequisites(abilities));
 }