Fix result scene + bug fix
This commit is contained in:
parent
549d44e0c5
commit
b561c6cea6
|
@ -2,6 +2,7 @@ using System.Collections;
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ResultSceneManager : MonoBehaviour
|
||||
{
|
||||
|
@ -9,9 +10,14 @@ public class ResultSceneManager : MonoBehaviour
|
|||
|
||||
public UnityEvent<int> OnDailyTop;
|
||||
public UnityEvent<int> OnGlobalTop;
|
||||
public UnityEvent OnNoTop;
|
||||
|
||||
public UnityEvent OnNoAllTop;
|
||||
public UnityEvent OnNoDailyTop;
|
||||
public UnityEvent OnNoGlobalTop;
|
||||
|
||||
private void Start()
|
||||
public InputField PlayerNameInputField;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
leaderboardController = FindObjectOfType<LeaderboardController>();
|
||||
|
||||
|
@ -21,7 +27,7 @@ public class ResultSceneManager : MonoBehaviour
|
|||
|
||||
if (!leaderboardController.CheckCurrentPlayerDailyTop() && !leaderboardController.CheckCurrentPlayerGlobalTop())
|
||||
{
|
||||
OnNoTop?.Invoke();
|
||||
OnNoAllTop?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,6 +38,8 @@ public class ResultSceneManager : MonoBehaviour
|
|||
OnDailyTop?.Invoke(leaderboardController.GetCurrentPlayerDailyPos());
|
||||
Debug.Log("Âû ïîïàëè â Òîï 30 èãðîêîâ äíÿ!");
|
||||
}
|
||||
else
|
||||
OnNoDailyTop?.Invoke();
|
||||
}
|
||||
|
||||
public void CheckGlobalTop()
|
||||
|
@ -41,5 +49,13 @@ public class ResultSceneManager : MonoBehaviour
|
|||
OnGlobalTop?.Invoke(leaderboardController.GetCurrentPlayerGlobalPos());
|
||||
Debug.Log("Âû ïîïàëè â Òîï 30 èãðîêîâ çà âñ¸ âðåìÿ!");
|
||||
}
|
||||
else
|
||||
OnNoGlobalTop?.Invoke();
|
||||
}
|
||||
|
||||
public void SavePlayerName()
|
||||
{
|
||||
PlayerSetup.Instance.CurrentPlayer.Name = PlayerNameInputField.text;
|
||||
leaderboardController.SaveData();
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -163,8 +163,8 @@ public class LeaderboardController : MonoBehaviour
|
|||
return _globalPlayerInfo.Players.Contains(PlayerSetup.Instance.CurrentPlayer);
|
||||
}
|
||||
|
||||
public int GetCurrentPlayerDailyPos() => _dailyPlayerInfo.Players.IndexOf(PlayerSetup.Instance.CurrentPlayer);
|
||||
public int GetCurrentPlayerGlobalPos() => _globalPlayerInfo.Players.IndexOf(PlayerSetup.Instance.CurrentPlayer);
|
||||
public int GetCurrentPlayerDailyPos() => _dailyPlayerInfo.Players.IndexOf(PlayerSetup.Instance.CurrentPlayer) + 1;
|
||||
public int GetCurrentPlayerGlobalPos() => _globalPlayerInfo.Players.IndexOf(PlayerSetup.Instance.CurrentPlayer) + 1;
|
||||
|
||||
public void SaveData()
|
||||
{
|
||||
|
|
|
@ -13,23 +13,32 @@ public class LeanTimer : MonoBehaviour
|
|||
|
||||
|
||||
public UnityEvent<float> OnUpdate = new UnityEvent<float>();
|
||||
|
||||
public UnityEvent OnTotalComplete;
|
||||
private LTDescr LTDescr;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (StartOnAwake)
|
||||
{
|
||||
StartTimer(StartValue, EndValue, Time);
|
||||
ManualStart();
|
||||
}
|
||||
}
|
||||
|
||||
public void ManualStart()
|
||||
{
|
||||
StartTimer(StartValue, EndValue, Time);
|
||||
}
|
||||
|
||||
public void StartTimer(float startValue, float endValue, float time, System.Action OnComplete = null)
|
||||
{
|
||||
LTDescr = LeanTween.value(1, 0, time).setOnUpdate((float x) =>
|
||||
{
|
||||
OnUpdate?.Invoke(x);
|
||||
}).setOnComplete(OnComplete);
|
||||
}).setOnComplete(() =>
|
||||
{
|
||||
OnComplete?.Invoke();
|
||||
OnTotalComplete?.Invoke();
|
||||
});
|
||||
}
|
||||
|
||||
public void StopTimer(float value = 0)
|
||||
|
|
|
@ -30,6 +30,7 @@ public class SaveLoadController : MonoBehaviour
|
|||
string fullDirPath = Application.persistentDataPath + DIR_PATH;
|
||||
string fullFilePath = Application.persistentDataPath + DIR_PATH + $"{filename}.txt";
|
||||
|
||||
Debug.Log($"SAVE:{fullFilePath}");
|
||||
if (!Directory.Exists(fullDirPath))
|
||||
{
|
||||
Directory.CreateDirectory(fullDirPath);
|
||||
|
@ -40,7 +41,7 @@ public class SaveLoadController : MonoBehaviour
|
|||
var json = JsonUtility.ToJson(so);
|
||||
bf.Serialize(fs, json);
|
||||
fs.Close();
|
||||
|
||||
Debug.Log($"SAVE:SUCCESS");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -48,8 +49,8 @@ public class SaveLoadController : MonoBehaviour
|
|||
{
|
||||
string fullDirPath = Application.persistentDataPath + DIR_PATH;
|
||||
string fullFilePath = Application.persistentDataPath + DIR_PATH + $"{filename}.txt";
|
||||
|
||||
Debug.Log(fullFilePath);
|
||||
|
||||
Debug.Log($"LOAD:{fullFilePath}");
|
||||
|
||||
if (!Directory.Exists(fullDirPath))
|
||||
{
|
||||
|
@ -71,6 +72,7 @@ public class SaveLoadController : MonoBehaviour
|
|||
so = ScriptableObject.CreateInstance<T>();
|
||||
}
|
||||
|
||||
Debug.Log($"LOAD:SUCCESS");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,7 +44,8 @@ public class UIDisplayMessage : MonoBehaviour
|
|||
public void Hide()
|
||||
{
|
||||
IsShow = false;
|
||||
gameObject.SetActive(false);
|
||||
if (gameObject != null)
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void StopMessage()
|
||||
|
|
|
@ -15,6 +15,9 @@ public class UITextShow : MonoBehaviour
|
|||
public UnityEvent OnTimeTick;
|
||||
public UnityEvent OnTimeEnd;
|
||||
|
||||
public string Prefix;
|
||||
public string Postfix;
|
||||
|
||||
public string Text => _text.text;
|
||||
|
||||
private void Awake()
|
||||
|
@ -24,7 +27,12 @@ public class UITextShow : MonoBehaviour
|
|||
|
||||
public void SetText(string text)
|
||||
{
|
||||
_text.SetText(text);
|
||||
_text.SetText($"{Prefix}{text}{Postfix}");
|
||||
}
|
||||
|
||||
public void SetText(int num)
|
||||
{
|
||||
SetText(num.ToString());
|
||||
}
|
||||
|
||||
public void ShowSubtitle(string text, float delay, float afterDelay, Action onStart, Action onEnd)
|
||||
|
@ -51,12 +59,12 @@ public class UITextShow : MonoBehaviour
|
|||
|
||||
for (int i = time; i > 0; i--)
|
||||
{
|
||||
_text.SetText(i.ToString());
|
||||
SetText(i.ToString());
|
||||
OnTimeTick?.Invoke();
|
||||
yield return new WaitForSeconds(1);
|
||||
}
|
||||
|
||||
_text.SetText(afterTimerText);
|
||||
SetText(afterTimerText);
|
||||
yield return new WaitForSeconds(afterDelay);
|
||||
//_text.SetText(string.Empty);
|
||||
OnTimeEnd?.Invoke();
|
||||
|
@ -71,13 +79,13 @@ public class UITextShow : MonoBehaviour
|
|||
for (int i = 0; i < text.Length; i++)
|
||||
{
|
||||
sb.Append(text[i]);
|
||||
_text.SetText(sb);
|
||||
SetText(sb.ToString());
|
||||
OnTimeTick?.Invoke();
|
||||
yield return new WaitForSeconds(delay);
|
||||
}
|
||||
|
||||
yield return new WaitForSeconds(afterDelay);
|
||||
_text.SetText(string.Empty);
|
||||
SetText(string.Empty);
|
||||
OnTimeEnd?.Invoke();
|
||||
onEnd?.Invoke();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue