annotate Assets/Application/Scripts/Player.cs @ 3:2dd40b4412e4

Create game base.
author Kazuma
date Mon, 07 Nov 2016 18:42:01 +0900
parents e5ef0342d00b
children 2878be4487ec
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;
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
3 using System.Collections.Generic;
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
4
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
5 public class Player : MonoBehaviour { // Singleton
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
6 // --------------------------------------
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
7 public static Player Instance;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
8 private GameObject eye;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
9 private CharacterController cc;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
10 private Vector3 Direction;
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
11 // 今見ているフィールドのアイテム
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
12 public GameObject LookedObject;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
13 // セットする前のアイテム
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
14 public int HaveObjectNumber;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
15
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
16 public int GlassItem = 0;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
17 public int SandItem = 0;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
18 public int WoodItem = 0;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
19
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
20 public System.Collections.Generic.List<Stage> HaveItemList = new System.Collections.Generic.List<Stage>();
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
21
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
22 public delegate void Callback(int n0, int n1, int n2);
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
23 public Callback callback;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
24
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
25 // -------------------------------------
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
26 private void Start () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
27 if (Instance == null) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
28 Instance = this;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
29 }
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
30 eye = this.transform.FindChild ("Eye").gameObject;
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
31 cc = this.GetComponent<CharacterController> ();
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
32 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
33
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
34 private void Update () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
35 Gravity ();
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
36 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
37
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
38 public void Move (bool b) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
39 if (b) {
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
40 Direction += this.transform.forward * Time.deltaTime;
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
41 } else {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
42 Direction.x = 0;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
43 Direction.z = 0;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
44 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
45 cc.Move (Direction);
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
46 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
47
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
48 public void EyeMove (Vector3 v3) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
49 eye.transform.Rotate (-v3.x, 0, 0);
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
50 this.transform.Rotate (0, v3.y, 0);
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
51 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
52
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
53 public void Gravity () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
54 Direction.y = -0.1f;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
55 }
3
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
56
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
57 public void SetLookedObject (GameObject obj) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
58 LookedObject = obj;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
59 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
60
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
61 public void SetHaveObjectNumber (int num) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
62 HaveObjectNumber = num;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
63 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
64
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
65 public void GetItem () {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
66 if (LookedObject != null) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
67 Stage stage = LookedObject.GetComponent<Stage> ();
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
68 HaveItemList.Add (stage);
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
69 CheckList ();
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
70 stage.Delete ();
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
71 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
72 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
73
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
74 public void SetItem () {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
75 if (LookedObject != null) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
76 StageManager.Instance.CreateStage (HaveObjectNumber, new Vector3 (LookedObject.transform.position.x, LookedObject.transform.position.y + 1f, LookedObject.transform.position.z));
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
77 CheckList ();
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
78 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
79 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
80
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
81 public void CheckList () { // 増えたときに面倒なので動的に増えてもいいように書き直す必要あり
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
82 int g = 0;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
83 int w = 0;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
84 int s = 0;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
85 foreach (var item in HaveItemList) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
86 if (Stage.Type.GRASS == item.Attribute) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
87 g++;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
88 } else if (Stage.Type.SAND == item.Attribute) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
89 s++;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
90 } else if (Stage.Type.WOOD == item.Attribute) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
91 w++;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
92 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
93 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
94 SetItemNum (g, w, s);
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
95 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
96
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
97 public void SetCallback (Callback c) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
98 this.callback = c;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
99 }
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
100
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
101 public void SetItemNum (int glass, int wood, int sand) {
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
102 this.GlassItem = glass;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
103 this.WoodItem = wood;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
104 this.SandItem = sand;
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
105 this.callback (sand, wood, glass);
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
106 print (glass + ", " + wood + ", " + sand);
2dd40b4412e4 Create game base.
Kazuma
parents: 0
diff changeset
107 }
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
108 }