Example #1
0
 public JsonSaver(TypeFinder typeFinder)
 {
     this.typeFinder = typeFinder;
     loadControl     = new LoadControl(typeFinder);
     saveableValue   = new JsonSaveable(this);
     valueReaders.Add(saveableValue.ElementName, saveableValue);
     enumValue = new JsonEnum(this);
     valueReaders.Add(enumValue.ElementName, enumValue);
     valueWriters = new ValueWriterCollection(saveableValue, enumValue);
     addParser <bool>(new JsonBool(this));
     addParser <byte>(new JsonByte(this));
     addParser <char>(new JsonChar(this));
     addParser <decimal>(new JsonDecimal(this));
     addParser <double>(new JsonDouble(this));
     addParser <float>(new JsonFloat(this));
     addParser <int>(new JsonInt(this));
     addParser <long>(new JsonLong(this));
     addParser <Quaternion>(new JsonQuaternion(this));
     addParser <Ray3>(new JsonRay3(this));
     addParser <sbyte>(new JsonSByte(this));
     addParser <short>(new JsonShort(this));
     addParser <String>(new JsonString(this));
     addParser <uint>(new JsonUInt(this));
     addParser <ulong>(new JsonULong(this));
     addParser <ushort>(new JsonUShort(this));
     addParser <Vector3>(new JsonVector3(this));
     addParser <Color>(new JsonColor(this));
     addParser <byte[]>(new JsonBlob(this));
     addParser <Guid>(new JsonGuid(this));
     saveControl = new SaveControl(this, valueWriters, this);
 }
Example #2
0
    void SetaDirecaoEvolucao()
    {
        int mediaUltimosScores = 0;
        int maiorElemento      = 0;

        for (int i = 0; i < arquivoGame.lastScores.Length; i++)
        {
            mediaUltimosScores += arquivoGame.lastScores[i];

            if (maiorElemento < arquivoGame.lastScores[i])
            {
                maiorElemento = arquivoGame.lastScores[i];
            }
        }

        mediaUltimosScores = (mediaUltimosScores - maiorElemento) / (arquivoGame.lastScores.Length - 1);

        if (mediaUltimosScores < (maiorElemento / 2))
        {
            arquivoGame.evolutionState = false;
        }
        else
        {
            arquivoGame.evolutionState = true;
        }

        for (int i = 0; i < arquivoGame.lastScores.Length; i++)
        {
            arquivoGame.lastScores[i] = -1;
        }

        SaveControl.AtualizarArquivoJogo(arquivoGame);
    }
    public override bool Pass()
    {
        int a = SaveControl.GetInt(Key);

        if (Comparison == Method.Equal)
        {
            return(a == Value);
        }
        else if (Comparison == Method.Greater)
        {
            return(a > Value);
        }
        else if (Comparison == Method.Less)
        {
            return(a < Value);
        }
        else if (Comparison == Method.NotEqual)
        {
            return(a != Value);
        }
        else
        {
            return(false);
        }
    }
Example #4
0
 public XmlSaver(TypeFinder typeFinder)
 {
     this.typeFinder = typeFinder;
     loadControl     = new LoadControl(typeFinder);
     saveableValue   = new XmlSaveable(this);
     valueReaders.Add(saveableValue.ElementName, saveableValue);
     enumValue = new XmlEnum(this);
     valueReaders.Add(enumValue.ElementName, enumValue);
     valueWriters = new ValueWriterCollection(saveableValue, enumValue);
     addXmlValue <bool>(new XmlBool(this));
     addXmlValue <byte>(new XmlByte(this));
     addXmlValue <char>(new XmlChar(this));
     addXmlValue <decimal>(new XmlDecimal(this));
     addXmlValue <double>(new XmlDouble(this));
     addXmlValue <float>(new XmlFloat(this));
     addXmlValue <int>(new XmlInt(this));
     addXmlValue <long>(new XmlLong(this));
     addXmlValue <Quaternion>(new XmlQuaternion(this));
     addXmlValue <Ray3>(new XmlRay3(this));
     addXmlValue <sbyte>(new XmlSByte(this));
     addXmlValue <short>(new XmlShort(this));
     addXmlValue <String>(new XmlString(this));
     addXmlValue <uint>(new XmlUInt(this));
     addXmlValue <ulong>(new XmlULong(this));
     addXmlValue <ushort>(new XmlUShort(this));
     addXmlValue <Vector3>(new XmlVector3(this));
     addXmlValue <Color>(new XmlColor(this));
     addXmlValue <byte[]>(new XmlBlob(this));
     addXmlValue <Guid>(new XmlGuid(this));
     saveControl = new SaveControl(this, valueWriters, this);
 }
Example #5
0
    void ProximaGeracao(Cromossomo primeiro, Cromossomo segundo)
    {
        Cromossomo penultimo = new Cromossomo();
        Cromossomo ultimo    = new Cromossomo();

        if (SaveControl.RetornarEvolutionState())
        {
            int menor = 10;

            for (int i = 0; i < cromossomosUsados.Count; i++)
            {
                if (cromossomosUsados[i].FuncaoAvaliacao() <= menor)
                {
                    menor = cromossomosUsados[i].FuncaoAvaliacao();

                    if (i == 0)
                    {
                        penultimo = cromossomosUsados[i];
                        ultimo    = cromossomosUsados[i];
                    }
                    else
                    {
                        ultimo    = penultimo;
                        penultimo = cromossomosUsados[i];
                    }
                }
            }
        }
        else
        {
            int maior = 0;

            for (int i = 0; i < cromossomosUsados.Count; i++)
            {
                if (cromossomosUsados[i].FuncaoAvaliacao() >= maior)
                {
                    maior = cromossomosUsados[i].FuncaoAvaliacao();

                    if (i == 0)
                    {
                        penultimo = cromossomosUsados[i];
                        ultimo    = cromossomosUsados[i];
                    }
                    else
                    {
                        ultimo    = penultimo;
                        penultimo = cromossomosUsados[i];
                    }
                }
            }
        }

        cromossomosUsados[penultimo.id].cromossomo = primeiro.cromossomo;
        cromossomosUsados[ultimo.id].cromossomo    = segundo.cromossomo;

        arquivoGame.cromossomos = cromossomosUsados;
        SaveControl.AtualizarArquivoJogo(arquivoGame);
    }
Example #6
0
 public void SaveData()
 {
     CurrentUser.userInfo.result          = new List <QuestionResult>();
     CurrentUser.userInfo.result          = GetQuizResult();
     CurrentUser.userInfo.numberCorrect   = GetFinalScore();
     CurrentUser.userInfo.numberIncorrect = Instance.TotalQuest - GetFinalScore();
     CurrentUser.userInfo.timeplay        = (int)(DateTime.Now - CurrentUser.userInfo.date).TotalSeconds;
     SaveControl.AddPlayerRecord(CurrentUser.userInfo);
 }
Example #7
0
 private void Awake()
 {
     // セーブボタンが押された時の処理
     saveButton.onClick.AddListener(() =>
     {
         TemplateSaveData saveData = new TemplateSaveData(inputField.text);
         SaveControl.Save(saveData);
     });
 }
    void Start()
    {
        // Try to load game from save file
        saveControl = GetComponent <SaveControl>();
        saveControl.LoadGame(saveControl.reservedFilename);

        resetButton.interactable = false;
        SetBPM(BPM);
    }
Example #9
0
 public void Awake()
 {
     if (Main && Main != this)
     {
         Destroy(gameObject);
         return;
     }
     Main = this;
     DontDestroyOnLoad(gameObject);
 }
Example #10
0
    void Selecao()
    {
        Cromossomo primeiro = new Cromossomo();
        Cromossomo segundo  = new Cromossomo();

        if (SaveControl.RetornarEvolutionState())
        {
            int maior = 0;

            for (int i = 0; i < cromossomosUsados.Count; i++)
            {
                if (cromossomosUsados[i].FuncaoAvaliacao() >= maior)
                {
                    maior = cromossomosUsados[i].FuncaoAvaliacao();

                    if (i == 0)
                    {
                        primeiro = cromossomosUsados[i];
                        segundo  = cromossomosUsados[i];
                    }
                    else
                    {
                        segundo  = primeiro;
                        primeiro = cromossomosUsados[i];
                    }
                }
            }
        }
        else
        {
            int menor = 10;

            for (int i = 0; i < cromossomosUsados.Count; i++)
            {
                if (cromossomosUsados[i].FuncaoAvaliacao() <= menor)
                {
                    menor = cromossomosUsados[i].FuncaoAvaliacao();

                    if (i == 0)
                    {
                        primeiro = cromossomosUsados[i];
                        segundo  = cromossomosUsados[i];
                    }
                    else
                    {
                        segundo  = primeiro;
                        primeiro = cromossomosUsados[i];
                    }
                }
            }
        }


        Crossover(primeiro, segundo);
    }
Example #11
0
 private void RetornaStringFormatadaEvolutionState()
 {
     if (SaveControl.RetornarEvolutionState() == true)
     {
         evolveState.text = "Dificultando";
     }
     else
     {
         evolveState.text = "Facilitando";
     }
 }
Example #12
0
    public void Morreu()
    {
        //Setar Highscore
        if (score > SaveControl.RetornarHighScore())
        {
            SaveControl.SetarHighScore(score);
        }

        SaveControl.SetarLastScore(score);
        gameOverText.SetActive(true);
        gameOver = true;
        SaveControl.SalvarArquivoJogo();
    }
Example #13
0
    public void OnClickRegister()
    {
        if (string.IsNullOrEmpty(agentName.text))
        {
            notice.text = "Thiếu thông tin!";
            return;
        }

        SaveControl.dataSync.device.owner  = agentName.text;
        SaveControl.dataSync.device.branch = place.options[place.value].text;
        SaveControl.SaveData();
        SceneManager.LoadScene(SceneList.LoginScene);
    }
Example #14
0
 void Start()
 {
     LoadSceneFromOther.isLoad = true;
     SaveControl.InitData();
     if (string.IsNullOrEmpty(SaveControl.dataSync.device.owner))
     {
         SceneManager.LoadScene(SceneList.AgentScene);
     }
     else
     {
         SceneManager.LoadScene(SceneList.LoginScene);
     }
 }
Example #15
0
    void Start()
    {
        try {
            arquivoGame = SaveControl.LoadArquivoJogo();
        } catch (Exception) {
            arquivoGame = new Persistente();
        }

        if (arquivoGame.iniciouGame)
        {
            cromossomosUsados = arquivoGame.cromossomos;

            this.AjustaArrayScore();
            this.Evolucao();

            for (int i = 0; i < 100; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    caixas[(j + (i * 10))] = (GameObject)Instantiate(caixasPrefab, new Vector2(colunasPossiveis[cromossomosUsados[i].cromossomo[j]], 1.28f * (float)(j + (i * 10))), Quaternion.identity);
                }
            }

            //Iniciar sempre no centro
            Destroy(caixas[0]);
            caixas[0] = (GameObject)Instantiate(caixasPrefab, new Vector2(colunasPossiveis[1], 0), Quaternion.identity);
        }
        else
        {
            this.GerarPopulacaoInicial();

            for (int i = 0; i < 100; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    caixas[(j + (i * 10))] = (GameObject)Instantiate(caixasPrefab, new Vector2(colunasPossiveis[cromossomosUsados[i].cromossomo[j]], 1.28f * (float)(j + (i * 10))), Quaternion.identity);
                }
            }

            //Iniciar sempre no centro
            Destroy(caixas[0]);
            caixas[0] = (GameObject)Instantiate(caixasPrefab, new Vector2(colunasPossiveis[1], 0), Quaternion.identity);
        }

        this.VerificarPontuacao();
    }
Example #16
0
    void AjustaArrayScore()
    {
        bool todasPartidasConcluidas = true;

        for (int i = 0; i < arquivoGame.lastScores.Length; i++)
        {
            if (arquivoGame.lastScores[i] == -1)
            {
                arquivoGame.lastScores[i] = SaveControl.RetornarLastScore();
                todasPartidasConcluidas   = false;
                break;
            }
        }

        if (todasPartidasConcluidas)
        {
            this.SetaDirecaoEvolucao();
        }
    }
Example #17
0
    void GerarPopulacaoInicial()
    {
        for (int i = 0; i < 100; i++)
        {
            Cromossomo c = new Cromossomo();
            c.Inicializar();
            c.id = i;
            cromossomosUsados.Add(c);
        }

        arquivoGame.cromossomos    = cromossomosUsados;
        arquivoGame.evolutionState = true;

        for (int i = 0; i < arquivoGame.lastScores.Length; i++)
        {
            arquivoGame.lastScores[i] = -1;
        }

        SaveControl.AtualizarArquivoJogo(arquivoGame);
    }
Example #18
0
 void Start()
 {
     scoreTemp          = score;
     highscoreText.text = SaveControl.RetornarHighScore().ToString();
     this.RetornaStringFormatadaEvolutionState();
 }
Example #19
0
    void Update()
    {
        if (collider && !colliderPlayer.IsTouchingLayers(layerCaixas) && !EmMovimentoPulo)
        {
            GameControl.instance.Morreu();
            anim.SetTrigger("Morreu");
            Morreu = true;
        }

        float posicaoX = transform.localPosition.x;

        if (!Morreu)
        {
            if (!EmMovimentoPulo)
            {
                //Para esquerda - Teclado
                if (Input.GetKeyDown(KeyCode.LeftArrow))
                {
                    anim.SetTrigger("Jump");

                    if (posicaoX == -constanteLateral)
                    {
                        StartCoroutine(ParabolaPuloEsquerdaLimite(transform.localPosition.x));
                    }
                    else
                    {
                        StartCoroutine(ParabolaPuloEsquerda(transform.localPosition.x));
                    }
                }

                //Para direita - Teclado
                if (Input.GetKeyDown(KeyCode.RightArrow))
                {
                    anim.SetTrigger("Jump");

                    if (posicaoX == constanteLateral)
                    {
                        StartCoroutine(ParabolaPuloDireitaLimite(transform.localPosition.x));
                    }
                    else
                    {
                        StartCoroutine(ParabolaPuloDireita(transform.localPosition.x));
                    }
                }

                if (Input.touchCount > 0)
                {
                    Touch t = Input.GetTouch(0);

                    if (t.phase == TouchPhase.Began)
                    {
                        firstPressPos = t.position;
                    }

                    if (t.phase == TouchPhase.Ended)
                    {
                        Vector2 secondPressPos = t.position;

                        //Para esquerda - Swipe
                        if ((secondPressPos.x < firstPressPos.x) && (Mathf.Abs(firstPressPos.x) - Mathf.Abs(secondPressPos.x) > 10f))
                        {
                            anim.SetTrigger("Jump");

                            if (posicaoX == -constanteLateral)
                            {
                                StartCoroutine(ParabolaPuloEsquerdaLimite(transform.localPosition.x));
                            }
                            else
                            {
                                StartCoroutine(ParabolaPuloEsquerda(transform.localPosition.x));
                            }
                        }

                        //Para direita - Swipe
                        if ((secondPressPos.x > firstPressPos.x) && (Mathf.Abs(secondPressPos.x) - Mathf.Abs(firstPressPos.x) > 10f))
                        {
                            anim.SetTrigger("Jump");

                            if (posicaoX == constanteLateral)
                            {
                                StartCoroutine(ParabolaPuloDireitaLimite(transform.localPosition.x));
                            }
                            else
                            {
                                StartCoroutine(ParabolaPuloDireita(transform.localPosition.x));
                            }
                        }
                    }
                }
            }
        }
        else
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                GameControl.instance.NovoJogo();
            }

            if (Input.GetKeyDown(KeyCode.L))
            {
                SaveControl.ResetaIAJogo();
            }

            if (Input.touchCount > 0)
            {
                Touch t = Input.GetTouch(0);

                if (t.phase == TouchPhase.Began)
                {
                    if (EventSystem.current.currentSelectedGameObject.name == "resetIaButton")
                    {
                        botaoReiniciarIA = true;
                    }

                    if (EventSystem.current.currentSelectedGameObject.name == "gameOverButton")
                    {
                        botaoReiniciarJogo = true;
                    }
                }

                if (t.phase == TouchPhase.Ended)
                {
                    if (botaoReiniciarIA)
                    {
                        botaoReiniciarIA = false;
                        SaveControl.ResetaIAJogo();
                    }

                    if (botaoReiniciarJogo)
                    {
                        botaoReiniciarJogo = false;
                        GameControl.instance.NovoJogo();
                    }
                }
            }
        }
    }
Example #20
0
 // Use this for initialization
 void Awake()
 {
     manager = this;
 }
Example #21
0
 public override void Process()
 {
     SaveControl.SetInt(Key, Value);
 }
Example #22
0
 private void Start()
 {
     inputField.text = SaveControl.Load <TemplateSaveData>().SaveDataName;
 }
Example #23
0
 public override void Effect()
 {
     base.Effect();
     FindObjectOfType <InventorySelectControl>().AddItem(Value);
     SaveControl.SetInt("Item" + Value, 1);
 }
 public override bool Pass()
 {
     return(SaveControl.GetString(Key) == Value);
 }