This commit is contained in:
2023-03-05 23:59:18 +05:30
parent 0703745067
commit 4308e88aac
14 changed files with 817 additions and 742 deletions

View File

@@ -58,16 +58,25 @@ public class BettingSpace : MonoBehaviour
void onClick(BaseEventData e){
if(RouletteManager.spinning){return;}
PointerEventData ped = (PointerEventData) e as PointerEventData;
if(ped.button == PointerEventData.InputButton.Left){
if(RouletteManager.MoneyAvailable < RouletteManager.SelectedChip){return;}
GameObject newChip = Instantiate(RouletteManager.SelectedChipItem.gameObject, transform);
newChip.GetComponent<RectTransform>().localPosition = Vector3.zero;
newChip.GetComponent<RectTransform>().sizeDelta = new Vector2(50,50);
GameObject newChip = Instantiate(RouletteManager.SelectedChipItem.gameObject, transform);
newChip.GetComponent<RectTransform>().localPosition = Vector3.zero;
newChip.GetComponent<RectTransform>().sizeDelta = new Vector2(50,50);
RouletteManager.AddBet(RouletteManager.SelectedChip, CombinerType.Single, new List<int>(){Number}, newChip);
RouletteManager.AddBet(RouletteManager.SelectedChip, CombinerType.Single, new List<int>(){Number}, newChip);
}else{
RouletteManager.ClearBets(new List<int>(){Number});
Debug.Log("Clearing bets on number " + Number);
}
}
public void SetHighlighted(bool value){
// image.color = value ? changedColor : defaultColor;
GetComponent<Outline>().effectColor = new Color(1,1,1, (value) ? 0.5f:0);

View File

@@ -46,13 +46,21 @@ public class BettingSpaceCombiner : MonoBehaviour
void onClick(BaseEventData e){
if(RouletteManager.spinning){return;}
if(RouletteManager.MoneyAvailable < RouletteManager.SelectedChip){return;}
GameObject newChip = Instantiate(RouletteManager.SelectedChipItem.gameObject,transform.parent.parent);
newChip.GetComponent<RectTransform>().position = GetComponent<RectTransform>().position;
newChip.GetComponent<RectTransform>().sizeDelta = new Vector2(50,50);
PointerEventData ped = (PointerEventData) e as PointerEventData;
if(ped.button == PointerEventData.InputButton.Left){
if(RouletteManager.MoneyAvailable < RouletteManager.SelectedChip){return;}
GameObject newChip = Instantiate(RouletteManager.SelectedChipItem.gameObject,transform.parent.parent);
newChip.GetComponent<RectTransform>().position = GetComponent<RectTransform>().position;
newChip.GetComponent<RectTransform>().sizeDelta = new Vector2(50,50);
RouletteManager.AddBet(RouletteManager.SelectedChip, combinerType, combinedNumbers, newChip);
}else{
RouletteManager.ClearBets(combinedNumbers);
}
RouletteManager.AddBet(RouletteManager.SelectedChip, combinerType, combinedNumbers, newChip);
}
void OnValidate(){

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
public class RouletteManager : MonoBehaviour
{
@@ -45,6 +46,7 @@ public class RouletteManager : MonoBehaviour
public TMP_Text walletMoneyTxt;
public float walletMoney;
public Transform betsHistoryParent;
public GameObject gameOverPanel;
public static void RegisterBettingSpace(BettingSpace space){
@@ -110,6 +112,33 @@ public class RouletteManager : MonoBehaviour
RefreshUI();
}
public static void ClearBets(List<int> space){
List<Bet> betsToRemove = new List<Bet>();
foreach(Bet bet in bets){
if(space.Count == 1 && bet.Numbers.Count == 1){
if(space[0] == bet.Numbers[0]){
betsToRemove.Add(bet);
continue;
}
}
if(bet.Numbers == space){
// Destroy(bet.chipObj);
betsToRemove.Add(bet);
}
}
foreach(Bet bet in betsToRemove){
Destroy(bet.chipObj);
MoneyAvailable += bet.BetAmount;
bets.Remove(bet);
}
RefreshUI();
}
void Awake(){
instance =this;
}
@@ -140,6 +169,10 @@ public class RouletteManager : MonoBehaviour
betsHistory.Add((MoneyAvailable - prevMoney));
walletMoneyTxt.text = "$ " +MoneyAvailable;
walletMoney = MoneyAvailable;
if(walletMoney <= 0){
gameOverPanel.SetActive(true);
}
UpdateBetsHistory();
ClearBets();
}
@@ -171,6 +204,18 @@ public class RouletteManager : MonoBehaviour
void BetsChanged(){
}
public void Restart(){
// SceneManager.LoadScene(0);
MoneyAvailable = 1000;
walletMoney = MoneyAvailable;
walletMoneyTxt.text = "$ 1000";
betsHistory = new List<float>();
UpdateBetsHistory();
Spinner.instance.wheel.eulerAngles = Vector3.zero;
Spinner.instance.numText.text = "";
gameOverPanel.SetActive(false);
}

View File

@@ -36,7 +36,7 @@ public class Spinner : MonoBehaviour
}
bool pushing = false;
// Update is called once per frame
void Update()
void FixedUpdate()
{
HandleFriction();
wheel.Rotate(rotationAxis * CurrentSpeed);