取消使用StartSceneData来跨Scene传输数据,改用CommonParameterContainer Singleton来统一保存所需数据。
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -12,23 +11,7 @@ public class LevelProbabilityPanel : MonoBehaviour
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (startSceneData == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
// try get start scene data
|
||||
scenePrefabSet = GameObject.Find("StartSceneDataTransfer").GetComponent<StartSeneData>().scenePrefabSet;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// if not found, find dummy StartSeneData
|
||||
scenePrefabSet = GameObject.Find("StartSceneDataTransferDummy").GetComponent<StartSeneData>().scenePrefabSet;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
scenePrefabSet = startSceneData.GetComponent<StartSeneData>().scenePrefabSet;
|
||||
}
|
||||
scenePrefabSet = CommonParameterContainer.Instance.scenePrefabSet;
|
||||
for (int i = 0; i < scenePrefabSet.targetLevels.Length; i++)
|
||||
{
|
||||
Targets nowTarget = scenePrefabSet.targets[i];
|
||||
|
||||
@@ -11,7 +11,7 @@ public class StartMenuProbabilityPanel : MonoBehaviour
|
||||
|
||||
private void Start()
|
||||
{
|
||||
scenePrefabSet = startSceneData.GetComponent<StartSeneData>().scenePrefabSet;
|
||||
scenePrefabSet = CommonParameterContainer.Instance.scenePrefabSet;
|
||||
for (int i = 0; i < scenePrefabSet.targetLevels.Length; i++)
|
||||
{
|
||||
Targets nowTarget = scenePrefabSet.targets[i];
|
||||
|
||||
@@ -7,24 +7,23 @@ public class StartUIManager : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private int waitTimeLimit = 45;
|
||||
[SerializeField] private GameObject sceneLoaderObj;
|
||||
[SerializeField] private GameObject startSceneDataObj;
|
||||
[SerializeField] private GameObject targetLevelProbabilityPanelOBJ;
|
||||
[SerializeField] private TextMeshProUGUI messageTextObj;
|
||||
[SerializeField] private TextMeshProUGUI waitTimeTextObj;
|
||||
|
||||
private SceneLoader sceneLoader;
|
||||
private StartSeneData startSceneData;
|
||||
private ButtonActivateColorChanger buttonActivateColorChanger;
|
||||
private StartMenuProbabilityPanel startMenuProbabilityPanel;
|
||||
private CommonParameterContainer commonParameterContainer;
|
||||
private float startTime;
|
||||
private float nowTime;
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
sceneLoader = sceneLoaderObj.GetComponent<SceneLoader>();
|
||||
startSceneData = startSceneDataObj.GetComponent<StartSeneData>();
|
||||
buttonActivateColorChanger = GetComponent<ButtonActivateColorChanger>();
|
||||
startMenuProbabilityPanel = targetLevelProbabilityPanelOBJ.GetComponent<StartMenuProbabilityPanel>();
|
||||
commonParameterContainer = CommonParameterContainer.Instance;
|
||||
messageTextObj.text = "";
|
||||
buttonActivateColorChanger.InitializeAllButtonColor();
|
||||
}
|
||||
@@ -44,7 +43,7 @@ public class StartUIManager : MonoBehaviour
|
||||
// while StartButton-Play Pressed
|
||||
public void OnPlayButtonPressed()
|
||||
{
|
||||
startSceneData.gameMode = 1;
|
||||
commonParameterContainer.gameMode = 1;
|
||||
sceneLoader.LoadGameScene(SceneLoader.SceneType.Play);
|
||||
messageTextObj.text = "Loading Play Scene...";
|
||||
}
|
||||
@@ -52,30 +51,30 @@ public class StartUIManager : MonoBehaviour
|
||||
public void OnAttackTrainButtonPressed()
|
||||
{
|
||||
// while Train-Attack-Button Pressed
|
||||
startSceneData.attackProb = 1f;
|
||||
commonParameterContainer.attackProb = 1f;
|
||||
ApplicateProbabilityToData();
|
||||
LoadTrainScene();
|
||||
}
|
||||
public void OnGotoTrainButtonPressed()
|
||||
{
|
||||
// while Train-Goto-Button Pressed
|
||||
startSceneData.gotoProb = 1f;
|
||||
commonParameterContainer.gotoProb = 1f;
|
||||
ApplicateProbabilityToData();
|
||||
LoadTrainScene();
|
||||
}
|
||||
public void OnFreeTrainButtonPressed()
|
||||
{
|
||||
// while Train-Free-Button Pressed
|
||||
startSceneData.attackProb = 0f;
|
||||
startSceneData.gotoProb = 0f;
|
||||
startSceneData.defenceProb = 0f;
|
||||
commonParameterContainer.attackProb = 0f;
|
||||
commonParameterContainer.gotoProb = 0f;
|
||||
commonParameterContainer.defenceProb = 0f;
|
||||
LoadTrainScene();
|
||||
}
|
||||
public void OnMixTrainButtonPressed()
|
||||
{
|
||||
// while Train-Mix-Button Pressed
|
||||
startSceneData.attackProb = 0.333f;
|
||||
startSceneData.gotoProb = 0.333f;
|
||||
commonParameterContainer.attackProb = 0.333f;
|
||||
commonParameterContainer.gotoProb = 0.333f;
|
||||
LoadTrainScene();
|
||||
}
|
||||
private void LoadTrainScene()
|
||||
@@ -87,13 +86,13 @@ public class StartUIManager : MonoBehaviour
|
||||
|
||||
private void ApplicateProbabilityToData()
|
||||
{
|
||||
for (int i = 0; i < startSceneData.scenePrefabSet.targetLevels[0].levelSize; i++)
|
||||
for (int i = 0; i < commonParameterContainer.scenePrefabSet.targetLevels[0].levelSize; i++)
|
||||
{
|
||||
startSceneData.gotoLevelProbs.Add(startMenuProbabilityPanel.targetLevelProbabilityPanel[0].singleLevelPanels[i].ProbabilityValue);
|
||||
commonParameterContainer.gotoLevelProbs.Add(startMenuProbabilityPanel.targetLevelProbabilityPanel[0].singleLevelPanels[i].ProbabilityValue);
|
||||
}
|
||||
for(int i = 0; i < startSceneData.scenePrefabSet.targetLevels[1].levelSize; i++)
|
||||
for(int i = 0; i < commonParameterContainer.scenePrefabSet.targetLevels[1].levelSize; i++)
|
||||
{
|
||||
startSceneData.attackLevelProbs.Add(startMenuProbabilityPanel.targetLevelProbabilityPanel[1].singleLevelPanels[i].ProbabilityValue);
|
||||
commonParameterContainer.attackLevelProbs.Add(startMenuProbabilityPanel.targetLevelProbabilityPanel[1].singleLevelPanels[i].ProbabilityValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user