Improved scripting
-Added accurate rotationPerSec & secondPerRot values!... Up to a speed of ~720. --Used for new idle expgain calculation in Load() -Added scripting for assigning button events within InitializeButtonArrays() --stored all buttons to arrays depending on contents of the parent UI panel's name --mainButtons[], rotationButtons[], colorButtons[]... etc --Future buttons will automatically exist within the array, only events need assigning. --Buttons do not include tick boxes, etc! --Buttons cannot have onClick() even assigned through editor (Unity bug?)
This commit is contained in:
parent
ea55db656d
commit
c868d738b9
Binary file not shown.
|
@ -32,11 +32,6 @@ public class ExperienceBar : MonoBehaviour {
|
|||
fillAmount = currentExp / currentRequirement;
|
||||
}
|
||||
|
||||
public void OnDestroy()
|
||||
{
|
||||
GameObject.FindGameObjectWithTag("GameController").GetComponent<GameManager>().Save();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update () {
|
||||
fillAmount = currentExp / currentRequirement;
|
||||
|
|
|
@ -18,6 +18,7 @@ public class GameManager : MonoBehaviour {
|
|||
public float requirement;
|
||||
public float speed;
|
||||
public float increment;
|
||||
public float rotationsPerSec;
|
||||
public DateTime currentTime;
|
||||
|
||||
}
|
||||
|
@ -50,6 +51,7 @@ public class GameManager : MonoBehaviour {
|
|||
int currentLevel = GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentLevel;
|
||||
float currentExp = GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentExp;
|
||||
float currentRequirement = GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentRequirement;
|
||||
float rotationPerSec = GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().rotationPerSec;
|
||||
float currentSpeed = GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().currentSpeed;
|
||||
float currentIncrement = GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().currentIncrement;
|
||||
|
||||
|
@ -59,6 +61,7 @@ public class GameManager : MonoBehaviour {
|
|||
data.requirement = currentRequirement;
|
||||
data.speed = currentSpeed;
|
||||
data.increment = currentIncrement;
|
||||
data.rotationsPerSec = rotationPerSec;
|
||||
data.currentTime = DateTime.Now;
|
||||
|
||||
bf.Serialize(file, data);
|
||||
|
@ -75,6 +78,7 @@ public class GameManager : MonoBehaviour {
|
|||
PlayerData data = (PlayerData)bf.Deserialize(file);
|
||||
file.Close();
|
||||
|
||||
GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().rotationPerSec = data.rotationsPerSec;
|
||||
GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().currentSpeed = data.speed;
|
||||
GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().currentIncrement = data.increment;
|
||||
GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentLevel = data.level;
|
||||
|
@ -82,9 +86,9 @@ public class GameManager : MonoBehaviour {
|
|||
GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentRequirement = data.requirement;
|
||||
|
||||
DateTime loadTime = DateTime.Now;
|
||||
int secondsPassed = GetIdleRewards(data.currentTime, loadTime);
|
||||
int secondsPassed = GetIdleTime(data.currentTime, loadTime);
|
||||
float radianSpeed = GameObject.FindGameObjectWithTag("Player").GetComponent<SpinningCube>().currentSpeed * Mathf.Deg2Rad;
|
||||
float idleExp = radianSpeed * secondsPassed;
|
||||
float idleExp = (data.rotationsPerSec * secondsPassed) * data.increment;
|
||||
GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentExp += idleExp;
|
||||
|
||||
Debug.Log("Loaded");
|
||||
|
@ -92,7 +96,7 @@ public class GameManager : MonoBehaviour {
|
|||
}
|
||||
}
|
||||
|
||||
public int GetIdleRewards(DateTime saveTime, DateTime loadTime)
|
||||
public int GetIdleTime(DateTime saveTime, DateTime loadTime)
|
||||
{
|
||||
int daysPassed = 0;
|
||||
int hoursPassed = 0;
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class ToggleMenus : MonoBehaviour
|
||||
{
|
||||
//Menus
|
||||
public GameObject RotMenu;
|
||||
public GameObject ColorMenu;
|
||||
public GameObject ShapesMenu;
|
||||
public GameObject LightingMenu;
|
||||
public GameObject ExpMenu;
|
||||
public GameObject rotMenu;
|
||||
public GameObject colorMenu;
|
||||
public GameObject shapesMenu;
|
||||
public GameObject lightingMenu;
|
||||
public GameObject expMenu;
|
||||
|
||||
private bool ActiveMenu = false;
|
||||
|
||||
//Shapes - Prefabs
|
||||
public GameObject player;
|
||||
public GameObject Square;
|
||||
public GameObject Sphere;
|
||||
public GameObject Cylinder;
|
||||
|
@ -28,18 +30,22 @@ public class ToggleMenus : MonoBehaviour
|
|||
//private GameObject lighting = GameObject.FindGameObjectWithTag("Lighting");
|
||||
|
||||
public float lightRotX, lightRotY, lightRotZ;
|
||||
public GameObject[] buttons;
|
||||
|
||||
|
||||
// Use this for initialization
|
||||
void Start()
|
||||
{
|
||||
player = GameObject.FindGameObjectWithTag("Player");
|
||||
InitializeButtonArrays();
|
||||
|
||||
Temp = Square;
|
||||
lightRotX = 0;
|
||||
lightRotY = 0;
|
||||
lightRotZ = 0;
|
||||
EditLightingRotation();
|
||||
//EditLightingRotation();
|
||||
//EditLightingLocation();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void Update()
|
||||
|
@ -49,57 +55,57 @@ public class ToggleMenus : MonoBehaviour
|
|||
|
||||
public void ToggleRotationMenu()
|
||||
{
|
||||
if (RotMenu.gameObject.active)
|
||||
if (rotMenu.gameObject.activeSelf)
|
||||
{
|
||||
RotMenu.gameObject.SetActive(false);
|
||||
rotMenu.gameObject.SetActive(false);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
else if (!RotMenu.gameObject.active && ActiveMenu)
|
||||
else if (!rotMenu.gameObject.activeSelf && ActiveMenu)
|
||||
{
|
||||
CloseAll();
|
||||
RotMenu.gameObject.SetActive(true);
|
||||
rotMenu.gameObject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
RotMenu.gameObject.SetActive(true);
|
||||
rotMenu.gameObject.SetActive(true);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
}
|
||||
|
||||
public void ToggleColorMenu()
|
||||
{
|
||||
if (ColorMenu.gameObject.active)
|
||||
if (colorMenu.activeSelf)
|
||||
{
|
||||
ColorMenu.gameObject.SetActive(false);
|
||||
colorMenu.gameObject.SetActive(false);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
else if (!ColorMenu.gameObject.active && ActiveMenu)
|
||||
else if (!colorMenu.activeSelf && ActiveMenu)
|
||||
{
|
||||
CloseAll();
|
||||
ColorMenu.gameObject.SetActive(true);
|
||||
colorMenu.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ColorMenu.gameObject.SetActive(true);
|
||||
colorMenu.SetActive(true);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
}
|
||||
|
||||
public void ToggleShapesMenu()
|
||||
{
|
||||
if (ShapesMenu.gameObject.active)
|
||||
if (shapesMenu.gameObject.activeSelf)
|
||||
{
|
||||
ShapesMenu.gameObject.SetActive(false);
|
||||
shapesMenu.gameObject.SetActive(false);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
else if (!ShapesMenu.gameObject.active && ActiveMenu)
|
||||
else if (!shapesMenu.gameObject.activeSelf && ActiveMenu)
|
||||
{
|
||||
CloseAll();
|
||||
ShapesMenu.gameObject.SetActive(true);
|
||||
shapesMenu.gameObject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ShapesMenu.gameObject.SetActive(true);
|
||||
shapesMenu.gameObject.SetActive(true);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
|
||||
|
@ -107,50 +113,50 @@ public class ToggleMenus : MonoBehaviour
|
|||
|
||||
public void ToggleLightingMenu()
|
||||
{
|
||||
if (LightingMenu.gameObject.active)
|
||||
if (lightingMenu.gameObject.activeSelf)
|
||||
{
|
||||
LightingMenu.gameObject.SetActive(false);
|
||||
lightingMenu.gameObject.SetActive(false);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
else if (!LightingMenu.gameObject.active && ActiveMenu)
|
||||
else if (!lightingMenu.gameObject.activeSelf && ActiveMenu)
|
||||
{
|
||||
CloseAll();
|
||||
LightingMenu.gameObject.SetActive(true);
|
||||
lightingMenu.gameObject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
LightingMenu.gameObject.SetActive(true);
|
||||
lightingMenu.gameObject.SetActive(true);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
}
|
||||
|
||||
public void ToggleExpMenu()
|
||||
{
|
||||
if (ExpMenu.gameObject.active)
|
||||
if (expMenu.gameObject.activeSelf)
|
||||
{
|
||||
ExpMenu.gameObject.SetActive(false);
|
||||
expMenu.gameObject.SetActive(false);
|
||||
//check if another menu is open to avoid overlapping
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
else if (!ExpMenu.gameObject.active && ActiveMenu)
|
||||
else if (!expMenu.gameObject.activeSelf && ActiveMenu)
|
||||
{
|
||||
CloseAll();
|
||||
ExpMenu.gameObject.SetActive(true);
|
||||
expMenu.gameObject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ExpMenu.gameObject.SetActive(true);
|
||||
expMenu.gameObject.SetActive(true);
|
||||
ActiveMenu = !ActiveMenu;
|
||||
}
|
||||
}
|
||||
|
||||
public void CloseAll()
|
||||
{
|
||||
ShapesMenu.gameObject.SetActive(false);
|
||||
RotMenu.gameObject.SetActive(false);
|
||||
ColorMenu.gameObject.SetActive(false);
|
||||
LightingMenu.gameObject.SetActive(false);
|
||||
ExpMenu.gameObject.SetActive(false);
|
||||
shapesMenu.gameObject.SetActive(false);
|
||||
rotMenu.gameObject.SetActive(false);
|
||||
colorMenu.gameObject.SetActive(false);
|
||||
lightingMenu.gameObject.SetActive(false);
|
||||
expMenu.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void ChangeShapeSquare()
|
||||
|
@ -188,7 +194,7 @@ public class ToggleMenus : MonoBehaviour
|
|||
Active = "Cylinder(Clone)";
|
||||
Debug.Log(Active);
|
||||
}
|
||||
|
||||
/*
|
||||
public void EditLightingRotation()
|
||||
{
|
||||
buttons = GameObject.FindGameObjectsWithTag("RotationMenuButtons");
|
||||
|
@ -197,9 +203,11 @@ public class ToggleMenus : MonoBehaviour
|
|||
gameObject.GetComponent<Button>().onClick.RemoveAllListeners();
|
||||
}
|
||||
|
||||
/*
|
||||
GameObject.Find("X Button").GetComponent<Button>().onClick.AddListener(() => { EditLightingRotationX(); });
|
||||
GameObject.Find("Y Button").GetComponent<Button>().onClick.AddListener(() => { EditLightingRotationY(); });
|
||||
GameObject.Find("Z Button").GetComponent<Button>().onClick.AddListener(() => { EditLightingRotationZ(); });
|
||||
|
||||
}
|
||||
|
||||
public void EditLightingLocation()
|
||||
|
@ -236,4 +244,100 @@ public class ToggleMenus : MonoBehaviour
|
|||
{
|
||||
lightRotZ = 20 * Time.deltaTime;
|
||||
}
|
||||
*/
|
||||
public void InitializeButtonArrays()
|
||||
{
|
||||
List<Button> mainButtons = new List<Button>();
|
||||
List<Button> rotationButtons = new List<Button>();
|
||||
List<Button> colorButtons = new List<Button>();
|
||||
List<Button> shapesButtons = new List<Button>();
|
||||
List<Button> lightingButtons = new List<Button>();
|
||||
List<Button> expButtons = new List<Button>();
|
||||
|
||||
//Component spinningCube = player.GetComponent<SpinningCube>();
|
||||
|
||||
Button[] allButtons = GameObject.Find("UI Canvas").GetComponentsInChildren<Button>(true);
|
||||
foreach(Button b in allButtons)
|
||||
{
|
||||
|
||||
if (b.gameObject.transform.parent.name.Contains("Main"))
|
||||
{
|
||||
mainButtons.Add(b.gameObject.GetComponent<Button>());
|
||||
}
|
||||
|
||||
if (b.gameObject.transform.parent.name.Contains("Rotation"))
|
||||
{
|
||||
rotationButtons.Add(b.gameObject.GetComponent<Button>());
|
||||
}
|
||||
|
||||
if (b.gameObject.transform.parent.name.Contains("Color"))
|
||||
{
|
||||
colorButtons.Add(b.gameObject.GetComponent<Button>());
|
||||
}
|
||||
|
||||
if (b.gameObject.transform.parent.name.Contains("Shapes"))
|
||||
{
|
||||
shapesButtons.Add(b.gameObject.GetComponent<Button>());
|
||||
}
|
||||
|
||||
if (b.gameObject.transform.parent.name.Contains("Lighting"))
|
||||
{
|
||||
lightingButtons.Add(b.gameObject.GetComponent<Button>());
|
||||
}
|
||||
|
||||
if (b.gameObject.transform.parent.name.Contains("Exp"))
|
||||
{
|
||||
expButtons.Add(b.gameObject.GetComponent<Button>());
|
||||
}
|
||||
}
|
||||
|
||||
//5 (0-4)
|
||||
Debug.Log("mainButtons: " + mainButtons.Count);
|
||||
//5 (0-4)
|
||||
Debug.Log("rotationButtons: " + rotationButtons.Count);
|
||||
//8 (0-7)
|
||||
Debug.Log("colorButtons: " + colorButtons.Count);
|
||||
//4 (0-3)
|
||||
Debug.Log("shapesButtons: " + shapesButtons.Count);
|
||||
//3 (0-2)
|
||||
Debug.Log("lightingButtons: " + lightingButtons.Count);
|
||||
//3 (0-2)
|
||||
Debug.Log("expButtons: " + expButtons.Count);
|
||||
|
||||
mainButtons[0].onClick.AddListener(() => { ToggleRotationMenu(); });
|
||||
mainButtons[1].onClick.AddListener(() => { ToggleColorMenu(); });
|
||||
mainButtons[2].onClick.AddListener(() => { ToggleShapesMenu(); });
|
||||
mainButtons[3].onClick.AddListener(() => { ToggleLightingMenu(); });
|
||||
mainButtons[4].onClick.AddListener(() => { ToggleExpMenu(); });
|
||||
|
||||
rotationButtons[0].onClick.AddListener(() => { player.GetComponent<SpinningCube>().RaiseRotationSpeed(); });
|
||||
rotationButtons[1].onClick.AddListener(() => { player.GetComponent<SpinningCube>().LowerRotationSpeed(); });
|
||||
rotationButtons[2].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ToggleRotation(); });
|
||||
rotationButtons[3].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ToggleRotationDirection(); });
|
||||
rotationButtons[4].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ResetRotationSpeed(); });
|
||||
|
||||
colorButtons[0].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorBlack(); });
|
||||
colorButtons[1].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorWhite(); });
|
||||
colorButtons[2].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorRed(); });
|
||||
colorButtons[3].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorGreen(); });
|
||||
colorButtons[4].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorBlue(); });
|
||||
colorButtons[5].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorYellow(); });
|
||||
colorButtons[6].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorCyan(); });
|
||||
colorButtons[7].onClick.AddListener(() => { player.GetComponent<SpinningCube>().ChangeColorMagenta(); });
|
||||
|
||||
shapesButtons[0].onClick.AddListener(() => { ChangeShapeCylinder(); });
|
||||
shapesButtons[1].onClick.AddListener(() => { ChangeShapeCapsule(); });
|
||||
shapesButtons[2].onClick.AddListener(() => { ChangeShapeSquare(); });
|
||||
shapesButtons[3].onClick.AddListener(() => { ChangeShapeSphere(); });
|
||||
|
||||
//Temporary save/load hidden in lighting for debug
|
||||
lightingButtons[0].onClick.AddListener(() => { GameObject.Find("EventSystem").GetComponent<GameManager>().Save(); });
|
||||
lightingButtons[1].onClick.AddListener(() => { GameObject.Find("EventSystem").GetComponent<GameManager>().Load(); });
|
||||
//lightingButtons[2].onClick.AddListener(() => { function(); });
|
||||
|
||||
expButtons[0].onClick.AddListener(() => { GameObject.Find("Gained Image").GetComponent<ExperienceBar>().ExpMore(); });
|
||||
expButtons[1].onClick.AddListener(() => { GameObject.Find("Gained Image").GetComponent<ExperienceBar>().ExpLess(); });
|
||||
expButtons[2].onClick.AddListener(() => { GameObject.Find("Gained Image").GetComponent<ExperienceBar>().ResetExp(); });
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue