Files
FueraDeEscala/Assets/Game Kit Controller/Scripts/Localization System/simpleGameLanguageSelector.cs
Robii Aragon fd87a6ffd5 add ckg
plantilla base para movimiento básico
2026-02-05 05:07:55 -08:00

90 lines
2.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
public class simpleGameLanguageSelector : MonoBehaviour
{
[Header ("Main Settings")]
[Space]
public gameLanguageSelector mainGameLanguageSelector;
[Space]
[Header ("Debug")]
[Space]
public bool gameLanguageSelectorLocated;
[Space]
[Header ("Event Settings")]
[Space]
public bool useEventOnLanguageChange;
public UnityEvent eventOnLanguageChange;
[Space]
[Header ("Components")]
[Space]
public Dropdown languageDropDown;
public void setGameLanguageByIndex (int languageIndex)
{
checkSetGameLanguage (false, "", languageIndex);
}
public void setGameLanguage (string languageSelected)
{
checkSetGameLanguage (true, languageSelected, 0);
}
void checkSetGameLanguage (bool languageSelectedByName, string languageSelected, int languageIndex)
{
checkGetMainGameLanguageSelector ();
if (gameLanguageSelectorLocated) {
if (languageSelectedByName) {
mainGameLanguageSelector.setGameLanguage (languageSelected);
} else {
mainGameLanguageSelector.setGameLanguageByIndex (languageIndex);
}
mainGameLanguageSelector.checkIfLanguageDropDownAssignedAndUpdate (languageDropDown);
if (useEventOnLanguageChange) {
eventOnLanguageChange.Invoke ();
}
}
}
void checkGetMainGameLanguageSelector ()
{
if (!gameLanguageSelectorLocated) {
gameLanguageSelectorLocated = mainGameLanguageSelector != null;
if (!gameLanguageSelectorLocated) {
mainGameLanguageSelector = gameLanguageSelector.Instance;
gameLanguageSelectorLocated = mainGameLanguageSelector != null;
}
if (!gameLanguageSelectorLocated) {
GKC_Utils.instantiateMainManagerOnSceneWithTypeOnApplicationPlaying (gameLanguageSelector.getMainManagerName (), typeof (gameLanguageSelector), true);
mainGameLanguageSelector = gameLanguageSelector.Instance;
gameLanguageSelectorLocated = (mainGameLanguageSelector != null);
}
if (!gameLanguageSelectorLocated) {
mainGameLanguageSelector = FindObjectOfType<gameLanguageSelector> ();
gameLanguageSelectorLocated = mainGameLanguageSelector != null;
}
}
}
}