-
Notifications
You must be signed in to change notification settings - Fork 0
/
CharacterTransitionTrigger.cs
120 lines (115 loc) · 3.48 KB
/
CharacterTransitionTrigger.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
using UnityStandardAssets.Utility;
using Random = UnityEngine.Random;
using RootMotion.FinalIK;
using UnityStandardAssets.Characters.FirstPerson;
public class CharacterTransitionTrigger : MonoBehaviour {
public enum PositionStatus {
prone2crouch,
crouch2prone,
crouch2idle
}
public List<int> ignorelayers;
public PositionStatus mystatus;
public bool istrue;
// Use this for initialization
void Start () {
}
// void FixedUpdate ()
// {
// if (mystatus == PositionStatus.crouch2prone) {
// istrue = true;
// }
// else if (mystatus == PositionStatus.prone2crouch) {
// istrue = true;
// }
// else {
// istrue = true;
// }
// }
//
// Update is called once per frame
// void OnTriggerEnter (Collider other)
// {
// if (!ignorelayers.Contains(other.gameObject.layer)) {
// if (mystatus == PositionStatus.crouch2prone) {
// transform.parent.GetComponent<FirstPersonController> ().cancrouch2prone = false;
// }
// if (mystatus == PositionStatus.prone2crouch) {
// transform.parent.GetComponent<FirstPersonController> ().canprone2crouch = false;
// }
// if (mystatus == PositionStatus.crouch2idle) {
// transform.parent.GetComponent<FirstPersonController> ().cancrouch2idle = false;
// }
// }
// }
void OnTriggerStay(Collider otheroo)
{
// // Debug.Log ("Wdlaojd" + otheroo.name);
// bool istrue = true;
// istrue = true;
if (!ignorelayers.Contains (otheroo.gameObject.layer)) {
// if (mystatus == PositionStatus.crouch2prone) {
// istrue = false;
// }
// if (mystatus == PositionStatus.prone2crouch) {
// istrue = false;
// }
// if (mystatus == PositionStatus.crouch2idle) {
// istrue = false;
// Debug.Log (otheroo.name);
// }
// }
//
// if (mystatus == PositionStatus.crouch2prone) {
// transform.parent.GetComponent<FirstPersonController> ().cancrouch2prone = istrue;
// }
// if (mystatus == PositionStatus.prone2crouch) {
// transform.parent.GetComponent<FirstPersonController> ().canprone2crouch = istrue;
// }
// if (mystatus == PositionStatus.crouch2idle) {
// transform.parent.GetComponent<FirstPersonController> ().cancrouch2idle = istrue;
// Debug.Log ("istrue");
// }
if (mystatus == PositionStatus.crouch2prone) {
transform.parent.GetComponent<FirstPersonController> ().cancrouch2prone = false;
} else if (mystatus == PositionStatus.prone2crouch) {
transform.parent.GetComponent<FirstPersonController> ().canprone2crouch = false;
} else {
transform.parent.GetComponent<FirstPersonController> ().cancrouch2idle = false;
}
}
}
void OnTriggerExit (Collider othero)
{
bool istrue = true;
istrue = true;
// foreach (Collider other in othero) {
if (!ignorelayers.Contains (othero.gameObject.layer)) {
// if (mystatus == PositionStatus.crouch2prone) {
// istrue = true;
// }
// if (mystatus == PositionStatus.prone2crouch) {
// istrue = false;
// }
// if (mystatus == PositionStatus.crouch2idle) {
// istrue = false;
// }
// }
// }
//
if (mystatus == PositionStatus.crouch2prone) {
transform.parent.GetComponent<FirstPersonController> ().cancrouch2prone = istrue;
}
if (mystatus == PositionStatus.prone2crouch) {
transform.parent.GetComponent<FirstPersonController> ().canprone2crouch = istrue;
}
if (mystatus == PositionStatus.crouch2idle) {
transform.parent.GetComponent<FirstPersonController> ().cancrouch2idle = istrue;
}
}
}
}