182 lines
4.7 KiB
C#
Executable file
182 lines
4.7 KiB
C#
Executable file
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.SocialPlatforms.Impl;
|
|
using UnityEngine.UI;
|
|
|
|
public class Achievements : MonoBehaviour
|
|
{
|
|
public Sprite[] AchivementsImage;
|
|
public GameObject AchievementsGet;
|
|
public int AchievementsId;
|
|
public Vector3 AchivementGetPos;
|
|
private int Speed;
|
|
private Image AchImage;
|
|
public Sprite[] ImageId;
|
|
public AudioSource AchievementSound;
|
|
public Canvas Canvas;
|
|
|
|
public List<int> HaveAchievements = new List<int>();
|
|
|
|
private int MaxMoney;
|
|
private int DieCount;
|
|
private int WinCount;
|
|
private int MiniGamesComplete;
|
|
private int LevelComplete;
|
|
private int Gold;
|
|
|
|
void LoadA()
|
|
{
|
|
//if (PlayerPrefs.HasKey("HaveA"))
|
|
{
|
|
//string json = PlayerPrefs.GetString("HaveA");
|
|
//HaveAchievements = JsonUtility.FromJson<Serialization<int>>(json).List;
|
|
}
|
|
}
|
|
|
|
void SaveA()
|
|
{
|
|
//string json = JsonUtility.ToJson(new Serialization<int>(HaveAchievements));
|
|
//PlayerPrefs.SetString("HaveA", json);
|
|
//PlayerPrefs.Save();
|
|
}
|
|
|
|
//[System.Serializable]
|
|
//private class Serialization<T>
|
|
//{
|
|
// public List<T> List;
|
|
//
|
|
// public Serialization(List<T> list)
|
|
// {
|
|
// this.List = list;
|
|
// }
|
|
|
|
//public List<T> ToList()
|
|
//{
|
|
// return List;
|
|
//}
|
|
//}
|
|
|
|
private void Start()
|
|
{
|
|
Canvas.worldCamera = Camera.main;
|
|
}
|
|
|
|
|
|
private void Update()
|
|
{
|
|
if (Speed > 0)
|
|
{
|
|
AchievementsGet.transform.Translate(Vector3.down * Speed * Time.deltaTime);
|
|
}
|
|
else if (Speed < 0)
|
|
{
|
|
AchievementsGet.transform.Translate(Vector3.up * 6 * Time.deltaTime);
|
|
}
|
|
MaxMoney = PlayerPrefs.GetInt("MaxMoney");
|
|
DieCount = PlayerPrefs.GetInt("CountDie") / 2;
|
|
WinCount = PlayerPrefs.GetInt("CountWin");
|
|
MiniGamesComplete = PlayerPrefs.GetInt("MiniGamesComplete");
|
|
LevelComplete = PlayerPrefs.GetInt("LevelComplete");
|
|
Gold = PlayerPrefs.GetInt("Gold");
|
|
}
|
|
|
|
public void ClearA()
|
|
{
|
|
HaveAchievements.Clear();
|
|
SaveA();
|
|
}
|
|
|
|
private void FixedUpdate()
|
|
{
|
|
HaveAchievements = Currencies.Load("HaveA");//LoadA();
|
|
if (DieCount > 0 && !HaveAchievements.Contains(0))
|
|
{
|
|
GetAchievements(0);
|
|
}
|
|
else if (DieCount > 4 && !HaveAchievements.Contains(1))
|
|
{
|
|
GetAchievements(1);
|
|
}
|
|
else if (DieCount > 99 && !HaveAchievements.Contains(2))
|
|
{
|
|
GetAchievements(2);
|
|
}
|
|
else if (DieCount > 999 && !HaveAchievements.Contains(3))
|
|
{
|
|
GetAchievements(3);
|
|
}
|
|
if (LevelComplete > 0 && !HaveAchievements.Contains(4))
|
|
{
|
|
GetAchievements(4);
|
|
}
|
|
if (LevelComplete == 34 && !HaveAchievements.Contains(5))
|
|
{
|
|
GetAchievements(5);
|
|
}
|
|
if (MiniGamesComplete == 4 && !HaveAchievements.Contains(6))
|
|
{
|
|
GetAchievements(6);
|
|
}
|
|
if (WinCount >= 100 && !HaveAchievements.Contains(7))
|
|
{
|
|
GetAchievements(7);
|
|
}
|
|
if (MaxMoney > 9999 && !HaveAchievements.Contains(11))
|
|
{
|
|
GetAchievements(11);
|
|
}
|
|
|
|
if (Gold == 1 && !HaveAchievements.Contains(10))
|
|
{
|
|
GetAchievements(10);
|
|
}
|
|
|
|
//SaveA();
|
|
|
|
}
|
|
|
|
private void OnTriggerEnter2D(Collider2D collision)
|
|
{
|
|
if (collision.tag == "Player" && !HaveAchievements.Contains(AchievementsId))
|
|
{
|
|
HaveAchievements.Add(AchievementsId);
|
|
GetAchievements(AchievementsId);
|
|
}
|
|
}
|
|
|
|
void SetSpeedZero()
|
|
{
|
|
Speed = 0;
|
|
Invoke("SetBackSpeed", 1f);
|
|
}
|
|
|
|
void SetBackSpeed()
|
|
{
|
|
Speed = -1;
|
|
Invoke("BackZeroSpeed", 0.5f);
|
|
}
|
|
|
|
void BackZeroSpeed()
|
|
{
|
|
Speed = 0;
|
|
}
|
|
|
|
public void GetAchievements(int NewAch)
|
|
{
|
|
Currencies.AddValue("HaveA", NewAch);
|
|
Debug.Log(NewAch);
|
|
//HA.Add(NewAch);
|
|
AchImage = AchievementsGet.transform.Find("AchImg").GetComponent<Image>();
|
|
AchImage.sprite = ImageId[NewAch];
|
|
Speed = 6;
|
|
Invoke("SetSpeedZero", 0.5f);
|
|
//Debug.Log(HA.Count);
|
|
AchievementSound.Play();
|
|
Debug.Log("Tring Save");
|
|
//print(string.Join(", ", HA));
|
|
//Currencies.Save("HaveA", HA);
|
|
}
|
|
}
|