Leaderboard
This commit is contained in:
parent
53d53fa5c7
commit
4ac511d260
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -538,11 +538,11 @@ MonoBehaviour:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_FontData:
|
m_FontData:
|
||||||
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
||||||
m_FontSize: 100
|
m_FontSize: 81
|
||||||
m_FontStyle: 0
|
m_FontStyle: 0
|
||||||
m_BestFit: 1
|
m_BestFit: 0
|
||||||
m_MinSize: 10
|
m_MinSize: 10
|
||||||
m_MaxSize: 128
|
m_MaxSize: 300
|
||||||
m_Alignment: 0
|
m_Alignment: 0
|
||||||
m_AlignByGeometry: 0
|
m_AlignByGeometry: 0
|
||||||
m_RichText: 1
|
m_RichText: 1
|
||||||
|
|
@ -5470,7 +5470,7 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1659871499}
|
m_Father: {fileID: 1659871499}
|
||||||
m_RootOrder: 6
|
m_RootOrder: 8
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0}
|
m_AnchorMin: {x: 0.5, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0}
|
m_AnchorMax: {x: 0.5, y: 0}
|
||||||
|
|
@ -5716,7 +5716,7 @@ MonoBehaviour:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_FontData:
|
m_FontData:
|
||||||
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
||||||
m_FontSize: 145
|
m_FontSize: 120
|
||||||
m_FontStyle: 1
|
m_FontStyle: 1
|
||||||
m_BestFit: 0
|
m_BestFit: 0
|
||||||
m_MinSize: 10
|
m_MinSize: 10
|
||||||
|
|
@ -5924,7 +5924,7 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1659871499}
|
m_Father: {fileID: 1659871499}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 6
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
|
@ -6751,7 +6751,7 @@ MonoBehaviour:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_FontData:
|
m_FontData:
|
||||||
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
||||||
m_FontSize: 145
|
m_FontSize: 120
|
||||||
m_FontStyle: 1
|
m_FontStyle: 1
|
||||||
m_BestFit: 0
|
m_BestFit: 0
|
||||||
m_MinSize: 10
|
m_MinSize: 10
|
||||||
|
|
@ -6804,7 +6804,7 @@ RectTransform:
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1191879597}
|
- {fileID: 1191879597}
|
||||||
m_Father: {fileID: 1659871499}
|
m_Father: {fileID: 1659871499}
|
||||||
m_RootOrder: 7
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
|
|
@ -7081,7 +7081,7 @@ MonoBehaviour:
|
||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 21300000, guid: 186191ea380174ca9b4fe72856cda52c, type: 3}
|
m_Sprite: {fileID: 21300000, guid: 6b1501126a13040439292b25ab57f05c, type: 3}
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_PreserveAspect: 1
|
m_PreserveAspect: 1
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
|
|
@ -7131,7 +7131,7 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1659871499}
|
m_Father: {fileID: 1659871499}
|
||||||
m_RootOrder: 5
|
m_RootOrder: 7
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
|
@ -7706,7 +7706,7 @@ RectTransform:
|
||||||
- {fileID: 1046342272}
|
- {fileID: 1046342272}
|
||||||
- {fileID: 2139777084}
|
- {fileID: 2139777084}
|
||||||
m_Father: {fileID: 1659871499}
|
m_Father: {fileID: 1659871499}
|
||||||
m_RootOrder: 8
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
|
@ -7914,6 +7914,7 @@ GameObject:
|
||||||
- component: {fileID: 1046342272}
|
- component: {fileID: 1046342272}
|
||||||
- component: {fileID: 1046342274}
|
- component: {fileID: 1046342274}
|
||||||
- component: {fileID: 1046342273}
|
- component: {fileID: 1046342273}
|
||||||
|
- component: {fileID: 1046342275}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Btn_mute
|
m_Name: Btn_mute
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -7980,6 +7981,50 @@ CanvasRenderer:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1046342271}
|
m_GameObject: {fileID: 1046342271}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &1046342275
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1046342271}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 1046342273}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
--- !u!1 &1145873324
|
--- !u!1 &1145873324
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -8019,7 +8064,7 @@ RectTransform:
|
||||||
- {fileID: 1238002589}
|
- {fileID: 1238002589}
|
||||||
- {fileID: 554004756}
|
- {fileID: 554004756}
|
||||||
m_Father: {fileID: 1659871499}
|
m_Father: {fileID: 1659871499}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
|
@ -8524,11 +8569,11 @@ MonoBehaviour:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_FontData:
|
m_FontData:
|
||||||
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
m_Font: {fileID: 12800000, guid: 3ddb0f465d3ba0e458bedcfedbb40f27, type: 3}
|
||||||
m_FontSize: 100
|
m_FontSize: 81
|
||||||
m_FontStyle: 0
|
m_FontStyle: 0
|
||||||
m_BestFit: 1
|
m_BestFit: 0
|
||||||
m_MinSize: 10
|
m_MinSize: 10
|
||||||
m_MaxSize: 128
|
m_MaxSize: 300
|
||||||
m_Alignment: 0
|
m_Alignment: 0
|
||||||
m_AlignByGeometry: 0
|
m_AlignByGeometry: 0
|
||||||
m_RichText: 1
|
m_RichText: 1
|
||||||
|
|
@ -9726,12 +9771,12 @@ RectTransform:
|
||||||
- {fileID: 1707417705}
|
- {fileID: 1707417705}
|
||||||
- {fileID: 371826265}
|
- {fileID: 371826265}
|
||||||
- {fileID: 835454441}
|
- {fileID: 835454441}
|
||||||
|
- {fileID: 567030193}
|
||||||
|
- {fileID: 944569653}
|
||||||
- {fileID: 1145873325}
|
- {fileID: 1145873325}
|
||||||
- {fileID: 281121120}
|
- {fileID: 281121120}
|
||||||
- {fileID: 749441541}
|
- {fileID: 749441541}
|
||||||
- {fileID: 190842544}
|
- {fileID: 190842544}
|
||||||
- {fileID: 567030193}
|
|
||||||
- {fileID: 944569653}
|
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 8
|
m_RootOrder: 8
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
|
@ -20340,6 +20385,9 @@ MonoBehaviour:
|
||||||
gameOverTotalScoreTxt: {fileID: 554004758}
|
gameOverTotalScoreTxt: {fileID: 554004758}
|
||||||
GameOverUI: {fileID: 1145873324}
|
GameOverUI: {fileID: 1145873324}
|
||||||
PauseMenuUI: {fileID: 944569652}
|
PauseMenuUI: {fileID: 944569652}
|
||||||
|
muteBtn: {fileID: 1046342275}
|
||||||
|
muteIcon: {fileID: 21300000, guid: 8c13b3c1bb85146b69b4c89f795e2fdb, type: 3}
|
||||||
|
unmuteIcon: {fileID: 21300000, guid: 26080ddb3c39a4527a91a12d6002a470, type: 3}
|
||||||
HoleInOne: {fileID: 190842548}
|
HoleInOne: {fileID: 190842548}
|
||||||
curHoleIndex: 0
|
curHoleIndex: 0
|
||||||
isGrounded: 0
|
isGrounded: 0
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ public class AudioManager : MonoBehaviour
|
||||||
|
|
||||||
if(PlayerPrefs.HasKey("mute")){
|
if(PlayerPrefs.HasKey("mute")){
|
||||||
isMute = PlayerPrefs.GetInt("mute") == 1;
|
isMute = PlayerPrefs.GetInt("mute") == 1;
|
||||||
|
}else{
|
||||||
|
isMute=false;
|
||||||
}
|
}
|
||||||
Refresh();
|
Refresh();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ public static class DataManager{
|
||||||
public const string API_ENDPOINT = "http://vps.playpoolstudios.com/faucet/golf/api/";
|
public const string API_ENDPOINT = "http://vps.playpoolstudios.com/faucet/golf/api/";
|
||||||
private const string key = "#2CuV1Bit^S!sW1ZcgRv8BhrO";
|
private const string key = "#2CuV1Bit^S!sW1ZcgRv8BhrO";
|
||||||
public static UserData userData{get; private set;}
|
public static UserData userData{get; private set;}
|
||||||
|
public static List<LeaderboardItemData> Leaderboard{get; private set;}
|
||||||
public static bool isLogged{ get{return userData != null;}}
|
public static bool isLogged{ get{return userData != null;}}
|
||||||
|
|
||||||
public static void Signout(){
|
public static void Signout(){
|
||||||
|
|
@ -82,7 +83,7 @@ public static class DataManager{
|
||||||
await Task.Yield();
|
await Task.Yield();
|
||||||
}
|
}
|
||||||
Debug.Log("glogin response: " +request.downloadHandler.text);
|
Debug.Log("glogin response: " +request.downloadHandler.text);
|
||||||
MessageBox.ShowMessage(request.downloadHandler.text);
|
// MessageBox.ShowMessage(request.downloadHandler.text);
|
||||||
|
|
||||||
if(request.downloadHandler.text.Contains("{")){
|
if(request.downloadHandler.text.Contains("{")){
|
||||||
try{
|
try{
|
||||||
|
|
@ -160,6 +161,47 @@ public static class DataManager{
|
||||||
LoadingScreen.LoadLevel("MainMenu");
|
LoadingScreen.LoadLevel("MainMenu");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async Task RefreshLeaderboard(){
|
||||||
|
WWWForm form = new WWWForm();
|
||||||
|
|
||||||
|
Debug.Log(userData.ToString());
|
||||||
|
|
||||||
|
form.AddField("username", userData.username);
|
||||||
|
|
||||||
|
using (UnityWebRequest request = UnityWebRequest.Post(API_ENDPOINT + "get_leaderboard.php", form))
|
||||||
|
{
|
||||||
|
var operation = request.SendWebRequest();
|
||||||
|
while (!operation.isDone)
|
||||||
|
{
|
||||||
|
await Task.Yield();
|
||||||
|
}
|
||||||
|
Debug.Log("add scores response: " +request.downloadHandler.text);
|
||||||
|
|
||||||
|
if(request.downloadHandler.text.Contains("{")){
|
||||||
|
try{
|
||||||
|
string[] items = request.downloadHandler.text.Split("<td>");
|
||||||
|
Leaderboard = new List<LeaderboardItemData>();
|
||||||
|
foreach(string item in items){
|
||||||
|
LeaderboardItemData newItem = JsonConvert.DeserializeObject<LeaderboardItemData>(item);
|
||||||
|
|
||||||
|
Leaderboard.Add(newItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log("Success parsing userdata");
|
||||||
|
|
||||||
|
|
||||||
|
}catch(Exception e){
|
||||||
|
Debug.Log("Error parsing leaderboard");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
MessageBox.ShowMessage("Error getting leaderboard, Server said\n" +request.downloadHandler.text);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
|
|
@ -176,3 +218,19 @@ public class UserData{
|
||||||
return JsonConvert.SerializeObject(this);
|
return JsonConvert.SerializeObject(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public class LeaderboardItemData{
|
||||||
|
public int position;
|
||||||
|
public string name;
|
||||||
|
public int topScore;
|
||||||
|
|
||||||
|
public string DisplayName{get{
|
||||||
|
string _name= name;
|
||||||
|
if(name.Contains("#0")){
|
||||||
|
_name = _name.Substring(0,name.IndexOf("@gmail"));
|
||||||
|
}
|
||||||
|
|
||||||
|
return _name;
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
|
|
||||||
36
Assets/Scripts/EncryptionTester.cs
Normal file
36
Assets/Scripts/EncryptionTester.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class EncryptionTester : MonoBehaviour
|
||||||
|
{
|
||||||
|
public PaddingMode paddingMode;
|
||||||
|
public CipherMode cipherMode;
|
||||||
|
[Header("Encryption")]
|
||||||
|
public string textToEncrypt;
|
||||||
|
public string encryptedText;
|
||||||
|
|
||||||
|
[Header("Decryption")]
|
||||||
|
public string textToDecrypt;
|
||||||
|
public string decryptedText;
|
||||||
|
|
||||||
|
[Header("Numbers")]
|
||||||
|
[Header("Encryption")]
|
||||||
|
public int numberToEncrypt;
|
||||||
|
public string encryptedNumber;
|
||||||
|
[Header("Encryption")]
|
||||||
|
public string numTextToDecrypt;
|
||||||
|
public int decryptedNumber;
|
||||||
|
|
||||||
|
void OnDrawGizmos(){
|
||||||
|
Encryptor.cipherMode = cipherMode;
|
||||||
|
Encryptor.paddingMode = paddingMode;
|
||||||
|
|
||||||
|
encryptedText = Encryptor.encrypt(textToEncrypt);
|
||||||
|
decryptedText = Encryptor.decrypt(textToDecrypt);
|
||||||
|
|
||||||
|
encryptedNumber = Encryptor.intToString(numberToEncrypt);
|
||||||
|
decryptedNumber = Encryptor.stringToInt(numTextToDecrypt);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/EncryptionTester.cs.meta
Normal file
11
Assets/Scripts/EncryptionTester.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f08b67e0ea5507a42a56c6c80c24181c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
102
Assets/Scripts/Encryptor.cs
Normal file
102
Assets/Scripts/Encryptor.cs
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public static class Encryptor
|
||||||
|
{
|
||||||
|
private static string hash = "@419$";
|
||||||
|
public static PaddingMode paddingMode = PaddingMode.PKCS7;
|
||||||
|
public static CipherMode cipherMode = CipherMode.ECB;
|
||||||
|
|
||||||
|
private static string charPool = "AKFLDJAHSPIWUROCNMZX";
|
||||||
|
|
||||||
|
public static string encrypt(string input)
|
||||||
|
{
|
||||||
|
byte[] data = UTF8Encoding.UTF8.GetBytes(input);
|
||||||
|
using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
|
||||||
|
{
|
||||||
|
byte[] key = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
|
||||||
|
using (TripleDESCryptoServiceProvider tds = new TripleDESCryptoServiceProvider() { Key=key, Mode = cipherMode, Padding = paddingMode })
|
||||||
|
{
|
||||||
|
ICryptoTransform ict = tds.CreateEncryptor();
|
||||||
|
byte[] results = ict.TransformFinalBlock(data, 0, data.Length);
|
||||||
|
return Convert.ToBase64String(results, 0, results.Length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string decrypt(string input)
|
||||||
|
{
|
||||||
|
byte[] data = Convert.FromBase64String(input);
|
||||||
|
using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
|
||||||
|
{
|
||||||
|
byte[] key = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
|
||||||
|
using (TripleDESCryptoServiceProvider tds = new TripleDESCryptoServiceProvider() { Key = key, Mode = cipherMode, Padding = paddingMode })
|
||||||
|
{
|
||||||
|
ICryptoTransform ict = tds.CreateDecryptor();
|
||||||
|
byte[] results = ict.TransformFinalBlock(data, 0, data.Length);
|
||||||
|
return UTF8Encoding.UTF8.GetString(results);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string intToString(int input){
|
||||||
|
char[] inputBytes = input.ToString().ToCharArray();
|
||||||
|
string output = "";
|
||||||
|
foreach(char c in inputBytes){
|
||||||
|
output += charPool[int.Parse(c.ToString())];
|
||||||
|
}
|
||||||
|
int luckyNumber = GetLuckyNumber(input);
|
||||||
|
|
||||||
|
string lastLetter = charPool.ToCharArray()[luckyNumber].ToString();
|
||||||
|
|
||||||
|
return output+lastLetter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int stringToInt(string input){
|
||||||
|
char[] inputBytes = input.Remove(input.Length-1).ToCharArray();
|
||||||
|
string output = "";
|
||||||
|
foreach(char c in inputBytes){
|
||||||
|
for(int i=0; i < charPool.Length; i++){
|
||||||
|
if(charPool.ToCharArray()[i] == c){
|
||||||
|
output += i.ToString();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char lastchar = input.ToCharArray()[input.Length-1];
|
||||||
|
|
||||||
|
int outputInt = int.Parse(output);
|
||||||
|
char luckyChar = charPool.ToCharArray()[GetLuckyNumber(outputInt)];
|
||||||
|
bool validated = luckyChar == lastchar;
|
||||||
|
|
||||||
|
|
||||||
|
if(validated){
|
||||||
|
return outputInt;
|
||||||
|
}else{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int GetLuckyNumber(int input){
|
||||||
|
int luckyNumber=input;
|
||||||
|
while(luckyNumber >= 10){
|
||||||
|
int val = 0;
|
||||||
|
for(int i=0; i < luckyNumber.ToString().Length; i++){
|
||||||
|
val += int.Parse(luckyNumber.ToString().ToCharArray()[i].ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
luckyNumber = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
return luckyNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
11
Assets/Scripts/Encryptor.cs.meta
Normal file
11
Assets/Scripts/Encryptor.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8ea67314c0e25f43a9834b0be9797db
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -43,11 +43,14 @@ public class GameManager : MonoBehaviour
|
||||||
public Text gameOverBestScoreTxt, gameOverTotalScoreTxt;
|
public Text gameOverBestScoreTxt, gameOverTotalScoreTxt;
|
||||||
public GameObject GameOverUI;
|
public GameObject GameOverUI;
|
||||||
public GameObject PauseMenuUI;
|
public GameObject PauseMenuUI;
|
||||||
|
public Button muteBtn;
|
||||||
|
public Sprite muteIcon, unmuteIcon;
|
||||||
public Animator HoleInOne;
|
public Animator HoleInOne;
|
||||||
public int curHoleIndex;
|
public int curHoleIndex;
|
||||||
private static int adCounter = 0;
|
private static int adCounter = 0;
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
|
muteBtn.onClick.AddListener(OnMute);
|
||||||
strokesTxtDefaultSize = StrokesTxt.transform.localScale;
|
strokesTxtDefaultSize = StrokesTxt.transform.localScale;
|
||||||
scoreTxtDefaultSize = ScoreTxt.transform.localScale;
|
scoreTxtDefaultSize = ScoreTxt.transform.localScale;
|
||||||
camTargetPos = ball.transform.position;
|
camTargetPos = ball.transform.position;
|
||||||
|
|
@ -232,6 +235,15 @@ public class GameManager : MonoBehaviour
|
||||||
}
|
}
|
||||||
ScoreTxt.text = Score.ToString();
|
ScoreTxt.text = Score.ToString();
|
||||||
StrokesTxt.text = CurStrokes.ToString();
|
StrokesTxt.text = CurStrokes.ToString();
|
||||||
|
|
||||||
|
|
||||||
|
muteBtn.transform.GetChild(0).GetComponent<Image>().sprite = AudioManager.isMute ? muteIcon : unmuteIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnMute(){
|
||||||
|
AudioManager.ToggleMute();
|
||||||
|
|
||||||
|
UpdateUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -271,6 +283,8 @@ public class GameManager : MonoBehaviour
|
||||||
}else{
|
}else{
|
||||||
LeanTween.scale(PauseMenuUI, Vector3.zero, 0.15f).setEaseOutCirc();
|
LeanTween.scale(PauseMenuUI, Vector3.zero, 0.15f).setEaseOutCirc();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UpdateUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -97,12 +97,19 @@ public class LevelGenerator : MonoBehaviour
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float checker = 0;
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
if(GameManager.instance == null){return;}
|
if(GameManager.instance == null){return;}
|
||||||
|
if(checker < 30){
|
||||||
|
checker+=Time.deltaTime;
|
||||||
|
}else{
|
||||||
|
checker =0;
|
||||||
|
|
||||||
if(GameManager.instance.ball.position.x > lastOffset - 100){
|
if(GameManager.instance.ball.position.x > lastOffset - 100){
|
||||||
GenerateBlock();
|
GenerateBlock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ public class MainMenu : MonoBehaviour
|
||||||
|
|
||||||
public GameObject MainMenuPanel;
|
public GameObject MainMenuPanel;
|
||||||
public GameObject SettingsPanel;
|
public GameObject SettingsPanel;
|
||||||
|
public GameObject LeaderboarPanel;
|
||||||
|
public Transform LeaderboardItemsParent;
|
||||||
public float transitionTime;
|
public float transitionTime;
|
||||||
public LeanTweenType transitionEffect;
|
public LeanTweenType transitionEffect;
|
||||||
|
|
||||||
|
|
@ -26,12 +28,16 @@ public class MainMenu : MonoBehaviour
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
defaultCenter = MainMenuPanel.transform.position;
|
defaultCenter = MainMenuPanel.transform.position;
|
||||||
SettingsPanel.transform.position = MainMenuPanel.transform.position - new Vector3(3000,0);
|
SettingsPanel.transform.position = MainMenuPanel.transform.position - new Vector3(10000,0);
|
||||||
SettingsPanel.SetActive(true);
|
SettingsPanel.SetActive(true);
|
||||||
|
LeaderboarPanel.SetActive(true);
|
||||||
|
LeaderboarPanel.transform.position = MainMenuPanel.transform.position + new Vector3(10000,0);
|
||||||
|
|
||||||
muteBtn.onClick.AddListener(ToggleMute);
|
muteBtn.onClick.AddListener(ToggleMute);
|
||||||
copyBtn.onClick.AddListener(CopyId);
|
copyBtn.onClick.AddListener(CopyId);
|
||||||
signoutBtn.onClick.AddListener(SignOut);
|
signoutBtn.onClick.AddListener(SignOut);
|
||||||
|
|
||||||
|
DataManager.RefreshLeaderboard();
|
||||||
}
|
}
|
||||||
public void Leave(){
|
public void Leave(){
|
||||||
Application.Quit();
|
Application.Quit();
|
||||||
|
|
@ -44,7 +50,7 @@ public class MainMenu : MonoBehaviour
|
||||||
|
|
||||||
|
|
||||||
void Refresh(){
|
void Refresh(){
|
||||||
txtUserId.text = DataManager.userData.id.ToString();
|
txtUserId.text = Encryptor.intToString(DataManager.userData.id);
|
||||||
if(AudioManager.isMute){
|
if(AudioManager.isMute){
|
||||||
muteBtn.transform.GetChild(0).GetComponent<Image>().sprite = muteIcon;
|
muteBtn.transform.GetChild(0).GetComponent<Image>().sprite = muteIcon;
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -57,13 +63,20 @@ public class MainMenu : MonoBehaviour
|
||||||
LeanTween.moveX(SettingsPanel, defaultCenter.x, transitionTime).setEase(transitionEffect);
|
LeanTween.moveX(SettingsPanel, defaultCenter.x, transitionTime).setEase(transitionEffect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void LeaderboarPage(){
|
||||||
|
LeanTween.moveX(MainMenuPanel, -10000, transitionTime).setEase(transitionEffect);
|
||||||
|
LeanTween.moveX(LeaderboarPanel, defaultCenter.x, transitionTime).setEase(transitionEffect);
|
||||||
|
RefreshLeaderboard();
|
||||||
|
}
|
||||||
|
|
||||||
public void MainPage(){
|
public void MainPage(){
|
||||||
LeanTween.moveX(MainMenuPanel, defaultCenter.x, transitionTime).setEase(transitionEffect);
|
LeanTween.moveX(MainMenuPanel, defaultCenter.x, transitionTime).setEase(transitionEffect);
|
||||||
LeanTween.moveX(SettingsPanel, -10000, transitionTime).setEase(transitionEffect);
|
LeanTween.moveX(SettingsPanel, -10000, transitionTime).setEase(transitionEffect);
|
||||||
|
LeanTween.moveX(LeaderboarPanel, 10000, transitionTime).setEase(transitionEffect);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CopyId(){
|
public void CopyId(){
|
||||||
GUIUtility.systemCopyBuffer = DataManager.userData.id.ToString();
|
GUIUtility.systemCopyBuffer = txtUserId.text;
|
||||||
copyBtn.transform.Find("lbl").GetComponent<Text>().text = "Copied";
|
copyBtn.transform.Find("lbl").GetComponent<Text>().text = "Copied";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,6 +85,29 @@ public class MainMenu : MonoBehaviour
|
||||||
Refresh();
|
Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Info(){
|
||||||
|
MessageBox.ShowMessage(@"This is a game where you can relax while playing,
|
||||||
|
Listen to a podcast or to music while playing this to get the best out of it!
|
||||||
|
|
||||||
|
Any feedback or suggestion can be directed to us via this email
|
||||||
|
sewmina7@gmail.com","About");
|
||||||
|
}
|
||||||
|
|
||||||
|
async void RefreshLeaderboard(){
|
||||||
|
UpdateLeaderboardUI();
|
||||||
|
await DataManager.RefreshLeaderboard();
|
||||||
|
UpdateLeaderboardUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateLeaderboardUI(){
|
||||||
|
for(int i =0; i < DataManager.Leaderboard.Count; i++){
|
||||||
|
LeaderboardItemsParent.GetChild(i).GetChild(0).GetComponent<Text>().text = $"{i+1}." + DataManager.Leaderboard[i].DisplayName;
|
||||||
|
// LeaderboardItemsParent.GetChild(i).GetChild(0).GetComponent<Text>().text = $"{i+1}." + DataManager.Leaderboard[i].name;
|
||||||
|
LeaderboardItemsParent.GetChild(i).GetChild(1).GetComponent<Text>().text = DataManager.Leaderboard[i].topScore.ToString();
|
||||||
|
|
||||||
|
LeaderboardItemsParent.GetChild(i).GetComponent<Image>().CrossFadeAlpha((DataManager.Leaderboard[i].name == DataManager.userData.username) ? 0.9f : 0,0.5f,true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void SignOut(){
|
void SignOut(){
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public class MessageBox : MonoBehaviour
|
||||||
for(int i=0; i < message.Length; i++){
|
for(int i=0; i < message.Length; i++){
|
||||||
messageTxt.text += message[i];
|
messageTxt.text += message[i];
|
||||||
|
|
||||||
yield return new WaitForSeconds(0.02f);
|
yield return new WaitForSeconds(0.01f);
|
||||||
}
|
}
|
||||||
closeButton.gameObject.SetActive(true);
|
closeButton.gameObject.SetActive(true);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ PlayerSettings:
|
||||||
16:10: 1
|
16:10: 1
|
||||||
16:9: 1
|
16:9: 1
|
||||||
Others: 1
|
Others: 1
|
||||||
bundleVersion: 1.0
|
bundleVersion: 1.2
|
||||||
preloadedAssets: []
|
preloadedAssets: []
|
||||||
metroInputSource: 0
|
metroInputSource: 0
|
||||||
wsaTransparentSwapchain: 0
|
wsaTransparentSwapchain: 0
|
||||||
|
|
@ -162,9 +162,9 @@ PlayerSettings:
|
||||||
iPhone: 0
|
iPhone: 0
|
||||||
tvOS: 0
|
tvOS: 0
|
||||||
overrideDefaultApplicationIdentifier: 1
|
overrideDefaultApplicationIdentifier: 1
|
||||||
AndroidBundleVersionCode: 1
|
AndroidBundleVersionCode: 2
|
||||||
AndroidMinSdkVersion: 22
|
AndroidMinSdkVersion: 22
|
||||||
AndroidTargetSdkVersion: 0
|
AndroidTargetSdkVersion: 33
|
||||||
AndroidPreferredInstallLocation: 1
|
AndroidPreferredInstallLocation: 1
|
||||||
aotOptions:
|
aotOptions:
|
||||||
stripEngineCode: 1
|
stripEngineCode: 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user