Construção de um save das configurações e ir pro jogo com as config certas
2 participantes
Página 1 de 1
Construção de um save das configurações e ir pro jogo com as config certas
Boa tarde, estou precisando de uma ajuda, eu estou fazendo um jogo, tem um menu de configurações com várias cenas de vários tipos de configurações como(tirar animação, tirar musica, tirar vozes, tirar efeitos sonoros, troca o cenario para um simples, e seleção de personagem) como posso salvar as informações que o jogador configurou para aparecer tudo certinho no jogo quando ele abrir, tipo ele selecionou os sons ligados, cenario simples ligado, animacao desligada e o personagem pardo sendo menina, teria que aparecer dessa forma quando o jogar for para o level 1 do jogo, como posso fazer isso estava fazendo por esse GameManager que mexe em várias coisas em cada cena tb, alguem pode me ajudar?
- Código:
[size=14]using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
public class GameManager : MonoBehaviour {
public AudioClip[] audios;
public Animator[] animators;
public AudioSource audioSource;
public GameObject continueButton;
public TextMeshProUGUI textDisplay;
public Image textBackground;
public string[] sentences;
public float startDelay = 1.5f;
public bool ConfigAnimacao;
public bool ConfigCenario;
public bool ConfigSons;
public int sentenceIndex = 0;
private void Start() {
StartCoroutine(StartDelay());
}
void uptade(){
ConfigAnimacao = GetComponent<LigaAnimacao>().configAnima;
ConfigCenario = GetComponent<cenarioSimples>().cenarioTroca;
ConfigSons = GetComponent<Sons>().sonsMutado;
}
public IEnumerator ShowContinueButton(AudioClip audio) {
HideNextButton();
yield return new WaitForSeconds(audio.length);
sentenceIndex++;
ShowNextButton();
}
private IEnumerator StartDelay() {
yield return new WaitForSeconds(startDelay);
NextSentence();
}
public void NextSentence(){
if (sentenceIndex < sentences.Length) {
TriggerAnimators(sentenceIndex);
if(!WaitSentence(sentences[sentenceIndex])) {
ShowSentence(sentences[sentenceIndex]);
if(audios[sentenceIndex])
PlayAudio(audios[sentenceIndex]);
StartCoroutine(ShowContinueButton(audios[sentenceIndex]));
}
} else if (sentenceIndex == sentences.Length) {
LoadNextScene();
} else {
TextHide();
}
}
public void ShowNextButton() {
continueButton.SetActive(true);
}
public void HideNextButton() {
continueButton.SetActive(false);
}
private bool WaitSentence(string sentence) {
switch(sentence) {
case "wait":
sentenceIndex++;
goto case "end";
case "end":
continueButton.SetActive(false);
TextHide();
return true;
}
return false;
}
public void TriggerAnimators(int index) {
foreach(Animator animator in animators){
animator.SetInteger("CurrentSentence", index);
}
}
public void TextHide() {
textDisplay.text = "";
textBackground.color = new Color(1, 1, 1, 0);
}
IEnumerator BackgroundFadeIn() {
Color color = textBackground.color;
while (color.a < 1)
{
color.a += Time.deltaTime * 2f;
textBackground.color = color;
yield return null;
}
}
public void ShowSentence(string sentence) {
StartCoroutine(BackgroundFadeIn());
textDisplay.text = sentence;
textDisplay.canvasRenderer.SetAlpha(0);
textDisplay.CrossFadeAlpha(1.0f, 0.5f, false);
}
public void PlayAudio(AudioClip audio) {
audioSource.PlayOneShot(audio, 1.0f);
}
public void LoadNextScene() {
gameObject.GetComponent<GameSceneManager>().LoadScene();
}
[/size]
[size=14]
[/size]
lucaspoiob- Membro
- PONTOS : 2852
REPUTAÇÃO : 0
Respeito as regras :
Re: Construção de um save das configurações e ir pro jogo com as config certas
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
public int Save_int;
public float Save_float;
public string Save_string;
public void OnEnable()//quando abre o jogo ele pega os dados salvos
{
Save_int = PlayerPrefs.GetInt("Save_int");
Save_float = PlayerPrefs.GetFloat("Save_float");
Save_string = PlayerPrefs.GetString("Save_string");
}
public void OnDisable()//quando fecha o jogo ele salva os dados
{
PlayerPrefs.SetInt("Save_int", Save_int);
PlayerPrefs.SetFloat("Save_float", Save_float);
PlayerPrefs.SetString("Save_string", Save_string);
}
}
Fiz um exemplo aqui para voce poder entender como funciona
Unidade3d5- Avançado
- PONTOS : 3030
REPUTAÇÃO : 28
Respeito as regras :
Re: Construção de um save das configurações e ir pro jogo com as config certas
Eu consegui resolver aqui de uma outra maneira, valeuuu!!Unidade3d5 escreveu:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
public int Save_int;
public float Save_float;
public string Save_string;
public void OnEnable()//quando abre o jogo ele pega os dados salvos
{
Save_int = PlayerPrefs.GetInt("Save_int");
Save_float = PlayerPrefs.GetFloat("Save_float");
Save_string = PlayerPrefs.GetString("Save_string");
}
public void OnDisable()//quando fecha o jogo ele salva os dados
{
PlayerPrefs.SetInt("Save_int", Save_int);
PlayerPrefs.SetFloat("Save_float", Save_float);
PlayerPrefs.SetString("Save_string", Save_string);
}
}
Fiz um exemplo aqui para voce poder entender como funciona
lucaspoiob- Membro
- PONTOS : 2852
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Onde são armazenadas as configurações gráficas na build de um jogo?
» UE4 RODA NESSA CONFIG ?
» Salvar e Load do audio no slider nas config
» Sistema de construção estilo habbo
» Limite de construção em x,y,z
» UE4 RODA NESSA CONFIG ?
» Salvar e Load do audio no slider nas config
» Sistema de construção estilo habbo
» Limite de construção em x,y,z
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos