示例#1
0
    public void registerLog(int day, Bacteria[] bacterias, Contaminant contaminant, VariablesEnviroment variables, Action actionEffect, int score)
    {
        Events ev   = new Events(day, bacterias, contaminant, variables, actionEffect, score);
        string json = JsonConvert.SerializeObject(ev, Formatting.Indented);

        log += json + ",";
    }
示例#2
0
    public void init(Contaminant c)
    {
        progressBar.GetComponent <Image>().fillAmount = (float)c.qtd / c.qtdMax;
        percentageContaminant = (float)c.qtd / c.qtdMax;
        positionInitialX      = 1.744f;

        valueScale          = 0.5f;
        xPositionScale      = 0.17f * 5;
        sumInnerX           = 1.282f;
        xPosition           = transform.position.x;
        countPoint          = 0;
        progressing         = false;
        listDaysTable       = new int[] { 5, 10, 15, 20 };
        dictPoints          = new Dictionary <int, GameObject>();
        manageLanguagePhase = FindObjectOfType <ManageLanguagePhase>();

        velocityMove       = 2f;
        originalScalePoint = prefrabPoint.transform.localScale.x;
        parameters         = new Parameters();

        updateRadialProgressBar(percentageContaminant, c);
        heightQuadGraph = modulo((quadGraph.bounds.max.y) - (quadGraph.bounds.min.y));
        minQuadGraph    = (quadGraph.bounds.min.y);
        insertPoint(c);
    }
示例#3
0
    public void insertPoint(Contaminant c)
    {
        percentageContaminant = (float)c.qtd / c.qtdMax;
        updateRadialProgressBar(percentageContaminant, c);
        float      posY          = minQuadGraph + (heightQuadGraph * percentageContaminant);
        GameObject pointInstance = new GameObject();

        if (countPoint == nextValueScale)
        {
            updateValuesScale();
        }
        if (countPoint >= 5)
        {
            pointInstance = instantiatePoint(posY, true);
        }
        else
        {
            pointInstance = instantiatePoint(posY, false);
        }
        dictPoints.Add(countPoint, pointInstance);

        if (countPoint != 0)
        {
            DrawLine(ContaminantPrevious.transform.position, pointInstance.transform.position);
            progressing = true;
        }

        countPoint++;

        pointInstance.transform.parent = this.transform;
        ContaminantPrevious            = pointInstance;
    }
示例#4
0
 void updateRadialProgressBar(float per, Contaminant contaminant)
 {
     GameObject[] percentual    = GameObject.FindGameObjectsWithTag("percentualContamination");
     GameObject[] contaminatQtd = GameObject.FindGameObjectsWithTag("qtdContamination");
     foreach (GameObject go in percentual)
     {
         if (percentageContaminant < 0f)
         {
             go.GetComponent <Text>().text = "0 mg/Kg";
         }
         else
         {
             go.GetComponent <Text>().text = (System.Math.Round((per * contaminant.qtdMax), 1)).ToString() + " mg/Kg";
         }
     }
     foreach (GameObject go in contaminatQtd)
     {
         if (percentageContaminant < 0f)
         {
             go.GetComponent <Text>().text = "0 %";
         }
         else
         {
             go.GetComponent <Text>().text = System.Math.Round((contaminant.percentage * 100), 1).ToString() + "%";
         }
     }
 }
示例#5
0
    public void setPhase(string text)
    {
        valuePhase = int.Parse(text);
        switch (text)
        {
        case "1":

            bacterias = new Bacteria[] {
                listBacterias[6],
                listBacterias[1],
                listBacterias[2],
                listBacterias[3],
                listBacterias[8]
            };
            contaminant    = new Contaminant("Diesel", 300f, 240f, Type.Diesel);
            variables      = new VariablesEnviroment(5.7f, 25f, Moisture.medium);
            objectiveValue = ((30f) / contaminant.qtdMax);
            break;

        case "2":
            bacterias = new Bacteria[] {
                listBacterias[0],
                listBacterias[1],
                listBacterias[2],
                listBacterias[3],
                listBacterias[4]
            };
            contaminant    = new Contaminant("Biodiesel", 300f, 225f, Type.Biodiesel);
            variables      = new VariablesEnviroment(6.9f, 27f, Moisture.low);
            objectiveValue = ((30f) / contaminant.qtdMax);
            break;

        case "3":
            bacterias = new Bacteria[] {
                listBacterias[0],
                listBacterias[1],
                listBacterias[2],
                listBacterias[3],
                listBacterias[4]
            };
            contaminant    = new Contaminant("Diesel", 300f, 250f, Type.Diesel);
            variables      = new VariablesEnviroment(6f, 16f, Moisture.high);
            objectiveValue = ((30f) / contaminant.qtdMax);
            break;

        case "4":
            bacterias = new Bacteria[] {
                listBacterias[0],
                listBacterias[1],
                listBacterias[2],
                listBacterias[4],
                listBacterias[5]
            };
            contaminant    = new Contaminant("Diesel", 300f, 280f, Type.Biodiesel);
            variables      = new VariablesEnviroment(6.6f, 31f, Moisture.low);
            objectiveValue = ((30f) / contaminant.qtdMax);
            break;
        }
    }
示例#6
0
 public Events(int day, Bacteria[] bacterias, Contaminant contaminant, VariablesEnviroment variables, Action actionEffect, int score)
 {
     this.day          = day;
     this.bacterias    = bacterias;
     this.contaminant  = contaminant;
     this.variables    = variables;
     this.actionEffect = actionEffect;
     this.score        = score;
 }
示例#7
0
    public void setObjectiveValue(float value, Contaminant c)
    {
        int   heightCanvasQuad = 363;
        int   widthCanvasQuad  = 193;
        float heightObjective  = heightCanvasQuad * value;

        GameObject[] goList = GameObject.FindGameObjectsWithTag("objective");
        foreach (GameObject go in goList)
        {
            RectTransform rt = go.GetComponent <RectTransform>();
            rt.sizeDelta = new Vector2(widthCanvasQuad, heightObjective);
        }
        setTextObjective(value, c);
    }
示例#8
0
    void Awake()
    {
        listBacterias  = Bacteria.getClone(ScenesManager.bacterias);
        contaminant    = ScenesManager.contaminant.getClone();
        variables      = ScenesManager.variables.getClone();
        objectiveValue = ScenesManager.objectiveValue;

        parameters          = new Parameters();
        log                 = new LogEvent();
        manageLanguagePhase = FindObjectOfType <ManageLanguagePhase>();
        taxa                = parameters.taxa;
        scorePercentageLost = parameters.scorePercentageLost;
        numDaysEffect       = parameters.numDaysEffect;
        numberDayCicles     = parameters.numberDayCicles;
        timeDay             = parameters.timeDay;

        scoreLoss10days = parameters.scoreLoss10days;
        costAtenuation  = parameters.costAtenuation;
        costBioest      = parameters.costBioest;
        costBioaum      = parameters.costBioaum;


        valueAtenuation = parameters.valueAtenuation;
        valueBioest     = parameters.valueBioest;
        valueBioaum     = parameters.valueBioaum;

        day              = 1;
        score            = 300;
        previousScore    = score;
        actionEffect     = Action.None;
        absRateNutrient  = 1;
        globalEnviroment = -2;

        scorePrevious       = score;
        contaminantPrevious = contaminant.percentage;
        valuePrevious       = contaminant.qtd;
        degRate             = new float[5];
        dataDegradeted      = new List <float>();

        for (int i = 0; i < 5; i++)
        {
            degRate[i] = listBacterias[i].degRate;
        }
    }
示例#9
0
    private void setTextObjective(float value, Contaminant c)
    {
        GameObject go = GameObject.FindGameObjectWithTag("objectiveText");

        go.GetComponent <Text>().text = manageLanguagePhase.getObjectiveTextPt1() + (value * c.qtdMax).ToString() + manageLanguagePhase.getObjectiveTextPt2();
    }