Bets placement WIP

This commit is contained in:
Sewmina Dilshan 2023-03-01 21:10:32 +05:30
parent 68b399c0e2
commit c71850c9c1
5 changed files with 8520 additions and 127 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,54 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class BettingSpace : MonoBehaviour
{
public float ratio = 1;
EventTrigger eventTrigger;
Image image;
Color defaultColor;
RectTransform rect;
void Start()
{
rect = GetComponent<RectTransform>();
image = GetComponent<Image>();
defaultColor = image.color;
eventTrigger = GetComponent<EventTrigger>();
EventTrigger.Entry OnEnter = new EventTrigger.Entry();
OnEnter.eventID = EventTriggerType.PointerEnter;
OnEnter.callback.AddListener(onEnter);
EventTrigger.Entry OnExit = new EventTrigger.Entry();
OnExit.eventID = EventTriggerType.PointerExit;
OnExit.callback.AddListener(onExit);
EventTrigger.Entry OnClick = new EventTrigger.Entry();
OnClick.eventID = EventTriggerType.PointerClick;
OnClick.callback.AddListener(onClick);
eventTrigger.triggers.Add(OnEnter);
eventTrigger.triggers.Add(OnExit);
eventTrigger.triggers.Add(OnClick);
}
// Update is called once per frame
void Update()
{
void onEnter(BaseEventData e){
image.color = new Color(defaultColor.r,defaultColor.g,defaultColor.b,defaultColor.a*0.5f);
}
void onExit(BaseEventData e){
image.color = defaultColor;
}
void onClick(BaseEventData e){
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);
}
}

View File

@ -1,18 +1,22 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Chip : MonoBehaviour
{
public float value;
Outline outline;
public Vector3 defScale{get; private set;}
void Awake(){
outline = GetComponent<Outline>();
RouletteManager.RegisterChip(this);
RouletteManager.OnMoneyAvailablChanged.AddListener(OnMoneyChanged);
GetComponent<Button>().onClick.AddListener(OnClicked);
defScale = transform.localScale;
if(RouletteManager.RegisterChip(this)){
RouletteManager.OnMoneyAvailablChanged.AddListener(OnMoneyChanged);
GetComponent<Button>().onClick.AddListener(OnClicked);
}else{
}
}
@ -25,7 +29,8 @@ public class Chip : MonoBehaviour
}
public void OnSelectedChanged(float newVal){
outline.effectColor = new Color(1,1,1, (newVal == value) ? 0.5f : 0);
// outline.effectColor = new Color(1,1,1, (newVal == value) ? 0.5f : 0);
transform.localScale = defScale *( (newVal == value) ? 1.3f : 1);
}

View File

@ -1,21 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
public class RouletteManager : MonoBehaviour
{
public static RouletteManager instance { get; private set;}
private static float moneyAvailable = 1000;
public static float MoneyAvailable {get{ return moneyAvailable;} set{OnMoneyAvailablChanged.Invoke(value); moneyAvailable = value;}}
public static UnityEvent<float> OnMoneyAvailablChanged = new UnityEvent<float>();
public static Dictionary<float, Chip> chipsBoard {get; private set;}
public static void RegisterChip(Chip chip){
public static bool RegisterChip(Chip chip){
if(chipsBoard == null){chipsBoard = new Dictionary<float, Chip>();}
if(chipsBoard.ContainsKey(chip.value)){return false;}
chipsBoard.Add(chip.value, chip);
selectedChipChanged.AddListener(chip.OnSelectedChanged);
chip.OnSelectedChanged(SelectedChip);
return true;
}
public static UnityEvent<float> selectedChipChanged = new UnityEvent<float>();
private static float m_selectedChip = 0.2f;
@ -23,10 +28,23 @@ public class RouletteManager : MonoBehaviour
m_selectedChip = value;
selectedChipChanged.Invoke(value);
}}
public static Chip SelectedChipItem{get{return chipsBoard[SelectedChip];}}
public static int[] RouletteNumbers = {0,32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26};
public static List<int> Reds = new List<int>(){1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36};
public static float bets;
public TMP_Text betsvalue;
public static void AddBet(float value){
bets += value;
MoneyAvailable-=value;
instance.BetsChanged();
}
void Awake(){
instance =this;
}
void Start()
{
Spinner.OnSpinStopped.AddListener(OnSpinStopped);
@ -36,4 +54,8 @@ public class RouletteManager : MonoBehaviour
MoneyAvailable -= 100;
}
void BetsChanged(){
betsvalue.text = "$"+bets.ToString();
}
}

File diff suppressed because one or more lines are too long