diff --git a/Unity_2018_Frozen/Assets/Frozen/Frozen.unity b/Unity_2018_Frozen/Assets/Frozen/Frozen.unity
index 8554182..ffc961b 100644
--- a/Unity_2018_Frozen/Assets/Frozen/Frozen.unity
+++ b/Unity_2018_Frozen/Assets/Frozen/Frozen.unity
@@ -951,7 +951,6 @@ GameObject:
m_Component:
- component: {fileID: 368474577}
- component: {fileID: 368474580}
- - component: {fileID: 368474579}
- component: {fileID: 368474578}
- component: {fileID: 368474581}
- component: {fileID: 368474583}
@@ -1010,20 +1009,6 @@ MeshRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
---- !u!64 &368474579
-MeshCollider:
- m_ObjectHideFlags: 0
- m_PrefabParentObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 368474576}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 0
- serializedVersion: 3
- m_Convex: 0
- m_CookingOptions: 14
- m_SkinWidth: 0.01
- m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &368474580
MeshFilter:
m_ObjectHideFlags: 0
@@ -1570,9 +1555,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: 708f87d2cbae42445846a25f0ca06829, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 1.5
- isTriggerCollider: 0
+ debugString:
--- !u!1 &520040865
GameObject:
m_ObjectHideFlags: 0
@@ -3142,9 +3126,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: 6ccf813116f07944faf4af6bc3b2c1f7, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 10
- isTriggerCollider: 0
+ debugString:
--- !u!114 &1216863878
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -3225,9 +3208,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: d3a9925b2d77cce4a8fc3215dbaf41e1, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 1
- isTriggerCollider: 0
+ debugString:
--- !u!1 &1227078084
GameObject:
m_ObjectHideFlags: 0
@@ -3700,7 +3682,7 @@ MeshFilter:
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1379541361}
- m_Mesh: {fileID: 1792131387}
+ m_Mesh: {fileID: 2039303666}
--- !u!1 &1390635887
GameObject:
m_ObjectHideFlags: 0
@@ -4008,9 +3990,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: a6af2089baf7ed8489a4e941dae4e928, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 10
- isTriggerCollider: 0
+ debugString:
--- !u!114 &1690794391
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -4337,136 +4318,6 @@ CanvasRenderer:
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1774693141}
---- !u!43 &1792131387
-Mesh:
- m_ObjectHideFlags: 0
- m_PrefabParentObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_Name: 'Space Ground Mesh: (8x5x3)'
- serializedVersion: 8
- m_SubMeshes:
- - serializedVersion: 2
- firstByte: 0
- indexCount: 24
- topology: 0
- baseVertex: 0
- firstVertex: 0
- vertexCount: 16
- localAABB:
- m_Center: {x: 0, y: 1.5, z: 0}
- m_Extent: {x: 4, y: 1.5, z: 2.5}
- m_Shapes:
- vertices: []
- shapes: []
- channels: []
- fullWeights: []
- m_BindPose: []
- m_BoneNameHashes:
- m_RootBoneNameHash: 0
- m_MeshCompression: 0
- m_IsReadable: 0
- m_KeepVertices: 1
- m_KeepIndices: 1
- m_IndexFormat: 0
- m_IndexBuffer: 000001000200010003000200040005000600050007000600080009000a0009000b000a000c000d000e000d000f000e00
- m_Skin: []
- m_VertexData:
- m_CurrentChannels: 11
- m_VertexCount: 16
- m_Channels:
- - stream: 0
- offset: 0
- format: 0
- dimension: 3
- - stream: 0
- offset: 12
- format: 0
- dimension: 3
- - stream: 0
- offset: 0
- format: 0
- dimension: 0
- - stream: 0
- offset: 24
- format: 0
- dimension: 2
- - stream: 0
- offset: 0
- format: 0
- dimension: 0
- - stream: 0
- offset: 0
- format: 0
- dimension: 0
- - stream: 0
- offset: 0
- format: 0
- dimension: 0
- - stream: 0
- offset: 0
- format: 0
- dimension: 0
- m_DataSize: 512
- _typelessdata: 000080c000000000000020c0000000000000803f00000000e4388e3e00000000000080c00000000000002040000000000000803f00000000e4388e3e0000203f0000804000000000000020c0000000000000803f000000008ee3383f00000000000080400000000000002040000000000000803f000000008ee3383f0000203f000080c000000000000020400000000000000000000080bfe4388e3e0000203f000080c000004040000020400000000000000000000080bfe4388e3e0000803f0000804000000000000020400000000000000000000080bf8ee3383f0000203f0000804000004040000020400000000000000000000080bf8ee3383f0000803f000080c000000000000020c00000803f0000000000000000000000000000203f000080c000004040000020c00000803f0000000000000000000000000000803f000080c000000000000020400000803f0000000000000000e4388e3e0000203f000080c000004040000020400000803f0000000000000000e4388e3e0000803f000080400000000000002040000080bf00000000000000008ee3383f0000203f000080400000404000002040000080bf00000000000000008ee3383f0000803f0000804000000000000020c0000080bf00000000000000000000803f0000203f0000804000004040000020c0000080bf00000000000000000000803f0000803f
- m_CompressedMesh:
- m_Vertices:
- m_NumItems: 0
- m_Range: 0
- m_Start: 0
- m_Data:
- m_BitSize: 0
- m_UV:
- m_NumItems: 0
- m_Range: 0
- m_Start: 0
- m_Data:
- m_BitSize: 0
- m_Normals:
- m_NumItems: 0
- m_Range: 0
- m_Start: 0
- m_Data:
- m_BitSize: 0
- m_Tangents:
- m_NumItems: 0
- m_Range: 0
- m_Start: 0
- m_Data:
- m_BitSize: 0
- m_Weights:
- m_NumItems: 0
- m_Data:
- m_BitSize: 0
- m_NormalSigns:
- m_NumItems: 0
- m_Data:
- m_BitSize: 0
- m_TangentSigns:
- m_NumItems: 0
- m_Data:
- m_BitSize: 0
- m_FloatColors:
- m_NumItems: 0
- m_Range: 0
- m_Start: 0
- m_Data:
- m_BitSize: 0
- m_BoneIndices:
- m_NumItems: 0
- m_Data:
- m_BitSize: 0
- m_Triangles:
- m_NumItems: 0
- m_Data:
- m_BitSize: 0
- m_UVInfo: 0
- m_LocalAABB:
- m_Center: {x: 0, y: 1.5, z: 0}
- m_Extent: {x: 4, y: 1.5, z: 2.5}
- m_MeshUsageFlags: 0
- m_BakedConvexCollisionMesh:
- m_BakedTriangleCollisionMesh:
- m_MeshOptimized: 0
--- !u!1 &1817143146
GameObject:
m_ObjectHideFlags: 0
@@ -4946,9 +4797,8 @@ MonoBehaviour:
- {fileID: 11400000, guid: 86cfefcea0dbaf349b192625aa06ef6a, type: 2}
- {fileID: 11400000, guid: 727d0f386e383414ca58642076340e45, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 1
- isTriggerCollider: 0
+ debugString:
--- !u!1 &1908931425
GameObject:
m_ObjectHideFlags: 0
@@ -5071,9 +4921,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: 2845fcd21d061464f8f97219a167ba7a, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 10
- isTriggerCollider: 0
+ debugString:
--- !u!114 &1933714487
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -5142,9 +4991,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: 2ea2925de6b8a934fa0ea7a7020103b1, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 10
- isTriggerCollider: 0
+ debugString:
--- !u!114 &1973785478
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -5225,9 +5073,8 @@ MonoBehaviour:
triggerClips:
- {fileID: 11400000, guid: 23773c4900ad46e4f9ba5cb3d1c28912, type: 2}
players: []
- color: {r: 1, g: 1, b: 1, a: 1}
videoStopTime: 1
- isTriggerCollider: 0
+ debugString:
--- !u!1 &2008324328
GameObject:
m_ObjectHideFlags: 0
@@ -5327,6 +5174,136 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 22
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!43 &2039303666
+Mesh:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: 'Space Ground Mesh: (8x5x3)'
+ serializedVersion: 8
+ m_SubMeshes:
+ - serializedVersion: 2
+ firstByte: 0
+ indexCount: 24
+ topology: 0
+ baseVertex: 0
+ firstVertex: 0
+ vertexCount: 16
+ localAABB:
+ m_Center: {x: 0, y: 1.5, z: 0}
+ m_Extent: {x: 4, y: 1.5, z: 2.5}
+ m_Shapes:
+ vertices: []
+ shapes: []
+ channels: []
+ fullWeights: []
+ m_BindPose: []
+ m_BoneNameHashes:
+ m_RootBoneNameHash: 0
+ m_MeshCompression: 0
+ m_IsReadable: 0
+ m_KeepVertices: 1
+ m_KeepIndices: 1
+ m_IndexFormat: 0
+ m_IndexBuffer: 000001000200010003000200040005000600050007000600080009000a0009000b000a000c000d000e000d000f000e00
+ m_Skin: []
+ m_VertexData:
+ m_CurrentChannels: 11
+ m_VertexCount: 16
+ m_Channels:
+ - stream: 0
+ offset: 0
+ format: 0
+ dimension: 3
+ - stream: 0
+ offset: 12
+ format: 0
+ dimension: 3
+ - stream: 0
+ offset: 0
+ format: 0
+ dimension: 0
+ - stream: 0
+ offset: 24
+ format: 0
+ dimension: 2
+ - stream: 0
+ offset: 0
+ format: 0
+ dimension: 0
+ - stream: 0
+ offset: 0
+ format: 0
+ dimension: 0
+ - stream: 0
+ offset: 0
+ format: 0
+ dimension: 0
+ - stream: 0
+ offset: 0
+ format: 0
+ dimension: 0
+ m_DataSize: 512
+ _typelessdata: 000080c000000000000020c0000000000000803f00000000e4388e3e00000000000080c00000000000002040000000000000803f00000000e4388e3e0000203f0000804000000000000020c0000000000000803f000000008ee3383f00000000000080400000000000002040000000000000803f000000008ee3383f0000203f000080c000000000000020400000000000000000000080bfe4388e3e0000203f000080c000004040000020400000000000000000000080bfe4388e3e0000803f0000804000000000000020400000000000000000000080bf8ee3383f0000203f0000804000004040000020400000000000000000000080bf8ee3383f0000803f000080c000000000000020c00000803f0000000000000000000000000000203f000080c000004040000020c00000803f0000000000000000000000000000803f000080c000000000000020400000803f0000000000000000e4388e3e0000203f000080c000004040000020400000803f0000000000000000e4388e3e0000803f000080400000000000002040000080bf00000000000000008ee3383f0000203f000080400000404000002040000080bf00000000000000008ee3383f0000803f0000804000000000000020c0000080bf00000000000000000000803f0000203f0000804000004040000020c0000080bf00000000000000000000803f0000803f
+ m_CompressedMesh:
+ m_Vertices:
+ m_NumItems: 0
+ m_Range: 0
+ m_Start: 0
+ m_Data:
+ m_BitSize: 0
+ m_UV:
+ m_NumItems: 0
+ m_Range: 0
+ m_Start: 0
+ m_Data:
+ m_BitSize: 0
+ m_Normals:
+ m_NumItems: 0
+ m_Range: 0
+ m_Start: 0
+ m_Data:
+ m_BitSize: 0
+ m_Tangents:
+ m_NumItems: 0
+ m_Range: 0
+ m_Start: 0
+ m_Data:
+ m_BitSize: 0
+ m_Weights:
+ m_NumItems: 0
+ m_Data:
+ m_BitSize: 0
+ m_NormalSigns:
+ m_NumItems: 0
+ m_Data:
+ m_BitSize: 0
+ m_TangentSigns:
+ m_NumItems: 0
+ m_Data:
+ m_BitSize: 0
+ m_FloatColors:
+ m_NumItems: 0
+ m_Range: 0
+ m_Start: 0
+ m_Data:
+ m_BitSize: 0
+ m_BoneIndices:
+ m_NumItems: 0
+ m_Data:
+ m_BitSize: 0
+ m_Triangles:
+ m_NumItems: 0
+ m_Data:
+ m_BitSize: 0
+ m_UVInfo: 0
+ m_LocalAABB:
+ m_Center: {x: 0, y: 1.5, z: 0}
+ m_Extent: {x: 4, y: 1.5, z: 2.5}
+ m_MeshUsageFlags: 0
+ m_BakedConvexCollisionMesh:
+ m_BakedTriangleCollisionMesh:
+ m_MeshOptimized: 0
--- !u!1 &2084135709
GameObject:
m_ObjectHideFlags: 0
diff --git a/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs b/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs
index 8309c8e..c834680 100644
--- a/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs
+++ b/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs
@@ -10,12 +10,9 @@ public class CharacterBehaviour : MonoBehaviour
[SerializeField]
private bool standby = true;
-
[Range(0, 15)]
public float disappearTime = 5;
- //public Material mat;
-
public Area area;
public List AppearArea = new List();
@@ -24,9 +21,6 @@ public class CharacterBehaviour : MonoBehaviour
[SerializeField]
private RectTransform fakeButton;
- private const float checktriggerColliderTime = 0.5f;
- private float triggerColliderTimer;
-
[SerializeField]
List specificPositions = new List();
@@ -42,28 +36,34 @@ public class CharacterBehaviour : MonoBehaviour
int trigger_clip_index = 0;
[SerializeField]
private DShowMoviePlayer[] players;
- //private MeshRenderer m_meshRender;
- public Color color;
- private bool isSleep;
public float videoStopTime = 1.5f;
- const int TRIGGER = 0;
- const int STANDBY = 1;
+ enum State
+ {
+ TRIGGER = 0,
+ STANDBY = 1,
+ SLEEP = 2
+ }
+
+ State state = State.SLEEP;
+ DShowMoviePlayer StatePlayer { get { return players[(int)state]; } }
+ MeshRenderer StateRenderer { get { return renderers[(int)state]; } }
+
+ MeshRenderer[] renderers;
- int Status { get { return System.Convert.ToInt32(standby); } }
+ bool isTriggered = false;
+ Coroutine flow = null;
- List renderers;
-
-
+ [SerializeField]
+ string debugString;
private void Awake()
{
- renderers = new List();
- renderers.AddRange(GetComponentsInChildren());
- if (renderers.Count != 2)
- Debug.LogWarningFormat("{0} renderer count is {1}", gameObject.name, renderers.Count);
+ renderers = GetComponentsInChildren();
+ if (renderers.Length != 2)
+ Debug.LogWarningFormat("{0} renderer count is {1}", gameObject.name, renderers.Length);
//m_meshRender = GetComponent();
//mat = new Material(Shader.Find("Unlit/ColorTransparent"));
//m_meshRender.material = mat;
@@ -100,7 +100,7 @@ public class CharacterBehaviour : MonoBehaviour
fakeButton.anchorMin = new Vector2(0, 0);
fakeButton.anchorMax = new Vector2(0, 0);
fakeButton.pivot = new Vector2(0.5f, 0.5f);
- var standby_scale = renderers[STANDBY].transform.localScale;
+ var standby_scale = renderers[(int)State.STANDBY].transform.localScale;
fakeButton.sizeDelta = new Vector2(standby_scale.x, standby_scale.y) * FrozenScreenToWorldSpace.Instance.finalPixelsByMeter;
fakeButton.anchoredPosition3D = new Vector3(0, 0, 0);
fakeButton.localScale = Vector3.one;
@@ -115,7 +115,6 @@ public class CharacterBehaviour : MonoBehaviour
{
foreach (var rdr in renderers)
{
- //rdr.sharedMaterial = new Material(rdr.sharedMaterial);
rdr.material.mainTextureScale = new Vector2(1, -1);
rdr.material.mainTextureOffset = new Vector2(0, -1);
}
@@ -123,13 +122,15 @@ public class CharacterBehaviour : MonoBehaviour
private void OnEnable()
{
- standby = true;
- isSleep = false;
- StartCoroutine(PlayStandbyOnStart());
InitialTouchButton();
- StartCoroutine(RandomPosNoTriggerOther());
- color = new Color(1, 1, 1, 0);
- StartCoroutine(Sleep());
+ ResetFlow();
+ //standby = true;
+ //isSleep = false;
+ //StartCoroutine(PlayStandbyOnStart());
+
+ //StartCoroutine(RandomPosNoTriggerOther());
+ //color = new Color(1, 1, 1, 0);
+ //StartCoroutine(Sleep());
if (fakeButton != null)
fakeButton.gameObject.SetActive(true);
}
@@ -140,6 +141,108 @@ public class CharacterBehaviour : MonoBehaviour
fakeButton.gameObject.SetActive(false);
}
+ private void ResetFlow()
+ {
+ if (flow != null)
+ {
+ StopCoroutine(flow);
+ flow = null;
+ }
+
+ isTriggered = false;
+ foreach (var rdr in renderers)
+ {
+ rdr.material.color = new Color(1, 1, 1, 0);
+ }
+ foreach (var ply in players)
+ {
+ ply.Pause();
+ ply.Frame = 0;
+ }
+
+ flow = StartCoroutine(Flow());
+ }
+
+ IEnumerator Flow()
+ {
+ debugString = "setup";
+ // setup
+ {
+ if (specificPositions.Count > 0)
+ {
+ SetSpecificPos();
+ }
+ else
+ {
+ RandomAppearWall();
+ }
+
+ roaming_seed = Random.Range(0.0f, 1.0f);
+
+ trigger_clip_index = ++trigger_clip_index % triggerClips.Count;
+ players[(int)State.TRIGGER].VideoAsset = triggerClips[trigger_clip_index];
+
+ yield return null;
+ }
+
+ debugString = "STANDBY";
+ // standby
+ {
+ state = State.STANDBY;
+ var player = StatePlayer;
+ player.Loop = isStandbyLoop;
+ player.Play();
+
+ while (isTriggered == false)
+ {
+ debugString = "STANDBY is not triggered";
+
+ if (player.Loop == false)
+ {
+ if (player.IsPlaying == false)
+ {
+ player.Pause();
+ player.Frame = player.TotalNumFrames;
+ }
+ }
+
+ yield return null;
+ }
+
+
+ }
+
+ debugString = "TRIGGER";
+ // trigger
+ {
+ state = State.TRIGGER;
+ var player = StatePlayer;
+ player.Play();
+
+ while (player.IsPlaying)
+ {
+ debugString = "TRIGGER is playing";
+ yield return null;
+ }
+
+ player.Pause();
+ player.Frame = player.TotalNumFrames;
+
+ debugString = "TRIGGER is stopped";
+ yield return new WaitForSeconds(videoStopTime);
+ }
+
+ debugString = "SLEEP";
+ // sleep
+ {
+ state = State.SLEEP;
+ yield return new WaitForSeconds(disappearTime);
+ }
+
+ flow = null;
+ yield return null;
+ }
+ /*
IEnumerator PlayStandbyOnStart()
{
DShowMoviePlayer player = CurrentPlayer;
@@ -151,46 +254,68 @@ public class CharacterBehaviour : MonoBehaviour
yield return null;
}
}
-
+ */
void Update()
{
- /*
- if (Input.GetKeyDown(KeyCode.R))
+ for (int i = 0; i < players.Length; i++)
{
- if (!isTriggerCollider)
- StartCoroutine(RandomPosNoTriggerOther());
- }
- */
- UpdateMaterial();
+ if (players[i].IsPlaying)
+ renderers[i].material.mainTexture = players[i].Texture;
+ }
- if (isSleep == false)
+ // standby material
{
- if (standby == false)
- {
- CheckPlayFinished();
+ float smooth = Time.deltaTime * 2.0f;
+ if (state != State.STANDBY && isStandbyLoop == false)
+ smooth = 1.0f;
+ float alpha = System.Convert.ToInt32(state == State.STANDBY);
+ var mat = renderers[(int)State.STANDBY].material;
+ mat.color = new Color(1, 1, 1, Mathf.Lerp(mat.color.a, alpha, smooth));
+ }
- var mat = renderers[STANDBY].material;
- float a = Mathf.Lerp(mat.color.a, 0.0f, Time.deltaTime);
- mat.color = new Color(1, 1, 1, a);
- }
- else if (standby && roaming > 0.0f)
- {
- UpdateRoamingPosition();
- UpdateWallRoiFromPosition();
- UpdateButtonPos();
- }
-
+ // trigger material
+ {
+ float smooth = Time.deltaTime * 2.0f;
+ if (state == State.TRIGGER)
+ smooth = 1.0f;
+ float alpha = System.Convert.ToInt32(state == State.TRIGGER);
+ var mat = renderers[(int)State.TRIGGER].material;
+ mat.color = new Color(1, 1, 1, Mathf.Lerp(mat.color.a, alpha, smooth));
}
+
- if (isTriggerCollider)
- CheckTriggerCollider();
- }
+ switch (state)
+ {
+ case State.STANDBY:
+ {
+ if (roaming > 0.0f)
+ {
+ UpdateRoamingPosition();
+ UpdateWallRoiFromPosition();
+ UpdateButtonPos();
+ }
+ }
+ break;
+ case State.TRIGGER:
+ {
- void CheckTriggerCollider()
- {
- triggerColliderTimer -= Time.deltaTime;
- if (triggerColliderTimer <= 0)
- isTriggerCollider = false;
+ }
+ break;
+ case State.SLEEP:
+ {
+
+ }
+ break;
+ }
+
+
+ if (Input.GetKeyDown(KeyCode.R))
+ {
+ ResetFlow();
+ }
+
+ if (flow == null)
+ ResetFlow();
}
void UpdateRoamingPosition()
@@ -198,7 +323,7 @@ public class CharacterBehaviour : MonoBehaviour
float noise = Mathf.PerlinNoise(Time.time * 0.4f, roaming_seed) > 0.5f ? 1.0f : -1.0f;
noise *= roaming * Time.deltaTime;
//float padding = transform.localScale.x * 0.5f;
- float padding = renderers[TRIGGER].transform.localScale.x * 0.5f;
+ float padding = renderers[(int)State.TRIGGER].transform.localScale.x * 0.5f;
Vector3 pos = transform.position;
switch (area)
{
@@ -220,21 +345,6 @@ public class CharacterBehaviour : MonoBehaviour
}
}
- void UpdateMaterial()
- {
- var mat = CurrentRenderer.material;
- mat.mainTexture = CurrentPlayer.Texture;
- mat.SetColor("_Color", color);
- }
-
- void CheckPlayFinished()
- {
- if (CurrentPlayer.IsFinished)
- {
- StartCoroutine(Sleep());
- }
- }
-
void RandomAppearWall()
{
Vector3 newPos = Vector3.zero;
@@ -262,7 +372,7 @@ public class CharacterBehaviour : MonoBehaviour
void RandomPos()
{
- float minX = renderers[TRIGGER].transform.localScale.x / 2;
+ float minX = renderers[(int)State.TRIGGER].transform.localScale.x / 2;
#if true
switch (area)
{
@@ -318,7 +428,7 @@ public class CharacterBehaviour : MonoBehaviour
void UpdateButtonPos()
{
//Vector2 newScreenPos = FrozenScreenToWorldSpace.Instance.GetFinalScreenPos(area, wallRoi);
- var roi = FrozenScreenToWorldSpace.Instance.GetWallRoiFromPosition(area, renderers[STANDBY].transform.position);
+ var roi = FrozenScreenToWorldSpace.Instance.GetWallRoiFromPosition(area, renderers[(int)State.STANDBY].transform.position);
Vector2 newScreenPos = FrozenScreenToWorldSpace.Instance.GetFinalScreenPos(area, roi);
fakeButton.anchoredPosition = newScreenPos;
}
@@ -341,117 +451,9 @@ public class CharacterBehaviour : MonoBehaviour
private void Trigger(PointerEventData data)
{
- if (!standby || isSleep)
+ if (state != State.STANDBY)
return;
- standby = false;
- CurrentPlayer.Play();
- CurrentRenderer.material.mainTexture = CurrentPlayer.Texture;
- }
-
- void Idle()
- {
- standby = true;
- CurrentPlayer.Play();
- }
- DShowMoviePlayer CurrentPlayer { get { return players[Status]; } }
- MeshRenderer CurrentRenderer { get { return renderers[Status]; } }
-
- IEnumerator Sleep()
- {
- standby = false;
- isSleep = true;
- yield return StartCoroutine(WaitVideoStopTimeFadeOut());
- yield return new WaitForSeconds(GetDisappear());
- yield return StartCoroutine(RandomPosNoTriggerOther());
- yield return StartCoroutine(WaitVideoStandbyFadeIn());
- isSleep = false;
- Idle();
- }
-
- IEnumerator Fade(float targetA)
- {
- float value = 0;
- float origin = color.a;
- while (value < 1)
- {
- value = Mathf.Clamp(value + Time.deltaTime, 0, 1);
- color.a = Mathf.Lerp(origin, targetA, value);
- yield return null;
- }
- color.a = targetA;
- }
-
- IEnumerator WaitVideoStandbyFadeIn()
- {
- standby = true;
- CurrentPlayer.Play();
- CurrentRenderer.material.mainTexture = CurrentPlayer.Texture;
- yield return StartCoroutine(Fade(1));
- }
-
- IEnumerator WaitVideoStopTimeFadeOut()
- {
- yield return new WaitForSeconds(videoStopTime);
- yield return StartCoroutine(Fade(0));
- CurrentPlayer.Pause();
- CurrentPlayer.Frame = 0;
- }
-
-
- public bool isTriggerCollider;
-
- private void OnTriggerExit(Collider other)
- {
- isTriggerCollider = false;
- }
-
- void OnTriggerStay(Collider other)
- {
- isTriggerCollider = true;
- triggerColliderTimer = checktriggerColliderTime;
- }
-
- private void OnTriggerEnter(Collider other)
- {
- isTriggerCollider = true;
- triggerColliderTimer = checktriggerColliderTime;
- }
-
-
- public float GetDisappear()
- {
- return disappearTime;
- /*
- float distime = disappearTime - Random.Range(0, disappearTime / 2);
- distime = disappearTime * distime - distime * distime + 0.5f * distime;
- return distime;
- */
- }
-
- IEnumerator RandomPosNoTriggerOther()
- {
- if (specificPositions.Count > 0)
- {
- SetSpecificPos();
- yield return null;
- }
- else
- {
- RandomAppearWall();
- yield return new WaitForSeconds(0.1f);
- while (isTriggerCollider)
- {
- RandomAppearWall();
- yield return null;
- }
- }
-
- roaming_seed = Random.Range(0.0f, 1.0f);
-
- trigger_clip_index = ++trigger_clip_index % triggerClips.Count;
- players[0].VideoAsset = triggerClips[trigger_clip_index];
-
- yield return null;
+ isTriggered = true;
}
}