ステージ選択対応

This commit is contained in:
kimura 2022-06-29 16:17:58 +09:00
parent 70ed5a22f3
commit ca4bc0e86b
3 changed files with 36 additions and 11 deletions

View File

@ -659,12 +659,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30} m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!4 &1448010325 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2845075459559541233, guid: 417e2c534d3274ba1a973fe4284532bd,
type: 3}
m_PrefabInstance: {fileID: 2498033716723453584}
m_PrefabAsset: {fileID: 0}
--- !u!20 &1673325602 stripped --- !u!20 &1673325602 stripped
Camera: Camera:
m_CorrespondingSourceObject: {fileID: 9117079084301130544, guid: 021717b65b165374faa3fcffaafedfc2, m_CorrespondingSourceObject: {fileID: 9117079084301130544, guid: 021717b65b165374faa3fcffaafedfc2,
@ -821,7 +815,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 96c2b99ef2e6c42dd998b782def0bd0e, type: 3} m_Script: {fileID: 11500000, guid: 96c2b99ef2e6c42dd998b782def0bd0e, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
timeLimit: 6 timeLimit: 30
headerView: {fileID: 7328251774669809638} headerView: {fileID: 7328251774669809638}
player: {fileID: 787907554} player: {fileID: 787907554}
stageSelectView: {fileID: 2071735749} stageSelectView: {fileID: 2071735749}
@ -873,7 +867,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 92d8af3e7a454c858429c462d377f112, type: 3} m_Script: {fileID: 11500000, guid: 92d8af3e7a454c858429c462d377f112, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
stage: {fileID: 1448010325} stageTarget: {fileID: 1887289308}
--- !u!4 &1887289308 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7269014383480657833, guid: 417e2c534d3274ba1a973fe4284532bd,
type: 3}
m_PrefabInstance: {fileID: 2498033716723453584}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2055584752 --- !u!1 &2055584752
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -4,12 +4,19 @@ namespace MyGame.Scenes.MiniGame.Scripts
{ {
public class StageManager : MonoBehaviour public class StageManager : MonoBehaviour
{ {
[SerializeField] private Transform stage; [SerializeField] private Transform stageTarget;
private Transform[] stages; private Transform[] stages;
public void SetBeginStages(Transform[] newStages) public void SetBeginStages(Transform[] newStages)
{ {
stages = newStages; stageTarget.DestroyAllChildrens();
stages = new Transform[newStages.Length];
var selectIndex = UnityEngine.Random.Range(0, stages.Length);
for (var i = 0; i < newStages.Length; i++)
{
stages[i] = Instantiate(newStages[i], stageTarget.position, Quaternion.identity, stageTarget);
stages[i].gameObject.SetActive(i == selectIndex);
}
} }
public void GenerateStage() public void GenerateStage()
@ -19,11 +26,16 @@ namespace MyGame.Scenes.MiniGame.Scripts
public void ResetStage() public void ResetStage()
{ {
stage.parent.FindAllChildrensComponent<Collider2D>(collider => stageTarget.FindAllChildrensComponent<Collider2D>(collider =>
{ {
transform.SetLocalScale(1f); transform.SetLocalScale(1f);
collider.enabled = true; collider.enabled = true;
}); });
var selectIndex = UnityEngine.Random.Range(0, stages.Length);
for (var i = 0; i < stages.Length; i++)
{
stages[i].gameObject.SetActive(i == selectIndex);
}
} }
} }
} }

View File

@ -556,4 +556,17 @@ public sealed class ScrollGameStageData
public string beginPrefabName; public string beginPrefabName;
public string randomPrefabName; public string randomPrefabName;
public ScrollGameDifficulty Difficulty => (ScrollGameDifficulty)difficulty; public ScrollGameDifficulty Difficulty => (ScrollGameDifficulty)difficulty;
private string[] BeginPrefabName => beginPrefabName.Split(',');
private string[] RandomPrefabName => randomPrefabName.Split(',');
public Transform[] GetBeginStagePrefabs()
{
Debug.Log($"{beginPrefabName}, {String.Join("x", BeginPrefabName)}");
return BeginPrefabName.Select(x => Resources.Load<Transform>($"ScrollGame/Stages/Stage{x}")).ToArray();
}
public Transform[] GetRandomStagePrefabs()
{
return BeginPrefabName.Select(x => Resources.Load<Transform>($"ScrollGame/Stages/Stage{x}")).ToArray();
}
} }