annotate Assets/Application/Scripts/StageManager.cs @ 4:2878be4487ec

add Maping Code.
author Kazuma
date Tue, 08 Nov 2016 17:07:48 +0900
parents 2dd40b4412e4
children 599bd8ddb72b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
1 using UnityEngine;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
2 using System.Collections;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
3 using System.Collections.Generic;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
4
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
5 public class StageManager : MonoBehaviour {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
6
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
7 public static StageManager Instance;
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
8 // stages["Attribute"]で取れる
4
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
9 public System.Collections.Generic.Dictionary<Stage.Type, GameObject> stages = new System.Collections.Generic.Dictionary<Stage.Type, GameObject>();
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
10 private GameObject baseStage;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
11
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
12 void Awake () {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
13 if (Instance == null) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
14 Instance = this;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
15 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
16 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
17
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
18 // Use this for initialization
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
19 void Start () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
20 Init ();
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
21 SetStage ();
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
22 CreateStages (10);
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
23 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
24
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
25 void Init () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
26 baseStage = new GameObject ();
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
27 baseStage.name = "stage";
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
28 baseStage.transform.position = Vector3.zero;
4
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
29 GameObject.FindGameObjectWithTag ("Player").transform.SetParent (baseStage.transform);
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
30 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
31
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
32 void SetStage () {
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
33 object[] objects = Resources.LoadAll ("Prefabs/Object");
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
34 foreach (var obj in objects) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
35 GameObject gbj = (GameObject)obj;
4
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
36 stages.Add(gbj.GetComponent<Stage>().Attribute, gbj);
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
37 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
38 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
39
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
40 // One.
4
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
41 public void CreateStage (Stage.Type attr, Vector3 pos) {
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
42 GameObject obj = Instantiate (stages[attr]);
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
43 obj.GetComponent<Stage> ().SetPosition (pos);
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
44 obj.transform.SetParent (baseStage.transform);
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
45 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
46
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
47 // Any.
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
48 public void CreateStages (int count) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
49 for (int x = 0; x < count; x++) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
50 for (int z = 0; z < count; z++) {
4
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
51 CreateStage (GetTypes(Random.Range(0,3)), new Vector3 (x, Random.Range(-1, 1), z));
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
52 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
53 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
54 }
4
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
55
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
56 public Stage.Type GetTypes (int n) {
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
57 if (n == 0) {
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
58 return Stage.Type.SAND;
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
59 } else if (n == 1) {
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
60 return Stage.Type.WOOD;
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
61 } else {
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
62 return Stage.Type.GRASS;
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
63 }
2878be4487ec add Maping Code.
Kazuma
parents: 3
diff changeset
64 }
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
65
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
66 // Update is called once per frame
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
67 void Update () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
68
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
69 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
70 }