94 lines
2.7 KiB
C#
94 lines
2.7 KiB
C#
using System;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
public class DevSettingsPanel : MonoBehaviour
|
|
{
|
|
public static Action OnChanged;
|
|
public static DevSettingsPanel instance;
|
|
|
|
public Transform contentParent;
|
|
public DevOptionItem devOptionItemPrefab;
|
|
|
|
void Awake()
|
|
{
|
|
instance = this;
|
|
}
|
|
|
|
|
|
void Start()
|
|
{
|
|
StartCoroutine(CoroutinePopulate());
|
|
}
|
|
|
|
IEnumerator CoroutinePopulate()
|
|
{
|
|
yield return new WaitForSeconds(1f); //Wait for the game manager to be initialized
|
|
Populate();
|
|
}
|
|
|
|
void Populate()
|
|
{
|
|
DevOptionItem puckForce = Instantiate(devOptionItemPrefab, contentParent);
|
|
puckForce.Setup("Puck Force", 2500, 6000, GameManager.instance.puckForce);
|
|
puckForce.OnChanged += OnPuckForceChanged;
|
|
|
|
DevOptionItem puckDragClampMax = Instantiate(devOptionItemPrefab, contentParent);
|
|
puckDragClampMax.Setup("Puck Launch Max Length", 1, 10, GameManager.instance.puckDragClampMax);
|
|
puckDragClampMax.OnChanged += OnPuckDragClampMaxChanged;
|
|
|
|
DevOptionItem puckDragClampMin = Instantiate(devOptionItemPrefab, contentParent);
|
|
puckDragClampMin.Setup("Puck Launch Min Length", 0, 2, GameManager.instance.puckDragMinClamp);
|
|
puckDragClampMin.OnChanged += OnPuckDragClampMinChanged;
|
|
|
|
DevOptionItem ballMoveTime = Instantiate(devOptionItemPrefab, contentParent);
|
|
ballMoveTime.Setup("Ball Drag", 0f, 10, GameManager.instance.ballMoveTime);
|
|
ballMoveTime.OnChanged += OnBallMoveTimeChanged;
|
|
|
|
DevOptionItem puckMass = Instantiate(devOptionItemPrefab, contentParent);
|
|
puckMass.Setup("Puck Mass", 1f, 50, GameManager.instance.puckMass);
|
|
puckMass.OnChanged += OnPuckMassChanged;
|
|
|
|
DevOptionItem puckDrag = Instantiate(devOptionItemPrefab, contentParent);
|
|
puckDrag.Setup("Puck Drag", 0f, 10, GameManager.instance.puckDrag);
|
|
puckDrag.OnChanged += OnPuckDragChanged;
|
|
}
|
|
|
|
|
|
void OnPuckForceChanged(float value)
|
|
{
|
|
GameManager.instance.puckForce = value;
|
|
OnChanged?.Invoke();
|
|
}
|
|
|
|
void OnPuckDragClampMaxChanged(float value)
|
|
{
|
|
GameManager.instance.puckDragClampMax = value;
|
|
OnChanged?.Invoke();
|
|
}
|
|
|
|
void OnPuckDragClampMinChanged(float value)
|
|
{
|
|
GameManager.instance.puckDragMinClamp = value;
|
|
OnChanged?.Invoke();
|
|
}
|
|
|
|
void OnBallMoveTimeChanged(float value)
|
|
{
|
|
GameManager.instance.ballMoveTime = value;
|
|
OnChanged?.Invoke();
|
|
}
|
|
|
|
void OnPuckMassChanged(float value)
|
|
{
|
|
GameManager.instance.puckMass = value;
|
|
OnChanged?.Invoke();
|
|
}
|
|
|
|
void OnPuckDragChanged(float value)
|
|
{
|
|
GameManager.instance.puckDrag = value;
|
|
OnChanged?.Invoke();
|
|
}
|
|
}
|