미니게임 게임종료 체크 빠르게
This commit is contained in:
parent
1f246ae489
commit
9110ba5276
|
|
@ -56,6 +56,8 @@ MonoBehaviour:
|
||||||
m_image: {fileID: 613301010048255497}
|
m_image: {fileID: 613301010048255497}
|
||||||
go_effect: {fileID: 1752936709684462252}
|
go_effect: {fileID: 1752936709684462252}
|
||||||
m_Rigidbody2D: {fileID: 1260999574391235090}
|
m_Rigidbody2D: {fileID: 1260999574391235090}
|
||||||
|
velocityThreshold: 0.1
|
||||||
|
requiredStopDuration: 0.2
|
||||||
--- !u!222 &2007710277984516474
|
--- !u!222 &2007710277984516474
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
|
|
@ -11361,7 +11361,6 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 420248621}
|
- component: {fileID: 420248621}
|
||||||
- component: {fileID: 420248622}
|
- component: {fileID: 420248622}
|
||||||
- component: {fileID: 420248623}
|
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Bot
|
m_Name: Bot
|
||||||
m_TagString: Finish
|
m_TagString: Finish
|
||||||
|
|
@ -11383,10 +11382,10 @@ RectTransform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1999037950}
|
m_Father: {fileID: 1999037950}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0.5, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 0.5, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: -25}
|
m_AnchoredPosition: {x: 0, y: -25}
|
||||||
m_SizeDelta: {x: 0, y: 50}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!61 &420248622
|
--- !u!61 &420248622
|
||||||
BoxCollider2D:
|
BoxCollider2D:
|
||||||
|
|
@ -11432,20 +11431,8 @@ BoxCollider2D:
|
||||||
drawMode: 0
|
drawMode: 0
|
||||||
adaptiveTiling: 0
|
adaptiveTiling: 0
|
||||||
m_AutoTiling: 0
|
m_AutoTiling: 0
|
||||||
m_Size: {x: 1080, y: 50}
|
m_Size: {x: 5000, y: 100}
|
||||||
m_EdgeRadius: 0
|
m_EdgeRadius: 0
|
||||||
--- !u!114 &420248623
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 420248620}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 970655c7570620b4b81080ce46bbd866, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
--- !u!1 &422178259
|
--- !u!1 &422178259
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -25687,7 +25674,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
m_AnchoredPosition: {x: -44, y: 0}
|
m_AnchoredPosition: {x: -200, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!61 &993386007
|
--- !u!61 &993386007
|
||||||
|
|
@ -42619,7 +42606,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
|
||||||
m_AnchorMin: {x: 1, y: 0.5}
|
m_AnchorMin: {x: 1, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 44, y: 0}
|
m_AnchoredPosition: {x: 200, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!61 &1626145305
|
--- !u!61 &1626145305
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ public class Game_Lucky : MonoBehaviour
|
||||||
{
|
{
|
||||||
updateTime = false;
|
updateTime = false;
|
||||||
list_dropobj.ForEach(f => f.GetComponent<LuckyGameObj>().StopObj());
|
list_dropobj.ForEach(f => f.GetComponent<LuckyGameObj>().StopObj());
|
||||||
yield return new WaitForSecondsRealtime(3f);
|
yield return new WaitForSecondsRealtime(0.5f);
|
||||||
m_Game_Lucky_Result.Set(m_Amount);
|
m_Game_Lucky_Result.Set(m_Amount);
|
||||||
StopAllCoroutines();
|
StopAllCoroutines();
|
||||||
}
|
}
|
||||||
|
|
@ -184,15 +184,13 @@ public class Game_Lucky : MonoBehaviour
|
||||||
|
|
||||||
// tf_cup을 터치한 위치의 x 값만 받아서 거기에 위치시킴
|
// tf_cup을 터치한 위치의 x 값만 받아서 거기에 위치시킴
|
||||||
Vector3 cupPos = tf_cup.position;
|
Vector3 cupPos = tf_cup.position;
|
||||||
cupPos.x = worldPos.x;
|
cupPos.x = Mathf.Clamp(worldPos.x, Cup_minX, Cup_maxX);
|
||||||
tf_cup.position = cupPos;
|
tf_cup.position = cupPos;
|
||||||
|
|
||||||
// 회전 시작 (목표: -150도)
|
// 회전 시작 (목표: -150도)
|
||||||
targetZ = -150f;
|
targetZ = -150f;
|
||||||
isRotating = true;
|
isRotating = true;
|
||||||
|
|
||||||
list_dropobj.ForEach(f => f.GetComponent<LuckyGameObj>().Tilt_Cup());
|
|
||||||
|
|
||||||
SoundInfo.Ins.Play_OneShot((eSound)Random.Range(14, 16));
|
SoundInfo.Ins.Play_OneShot((eSound)Random.Range(14, 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -212,6 +210,7 @@ public class Game_Lucky : MonoBehaviour
|
||||||
if (Mathf.Approximately(newZ, targetZ))
|
if (Mathf.Approximately(newZ, targetZ))
|
||||||
{
|
{
|
||||||
isRotating = false;
|
isRotating = false;
|
||||||
|
list_dropobj.ForEach(f => f.GetComponent<LuckyGameObj>().Tilt_Cup());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,39 @@ public class LuckyGameObj : MonoBehaviour
|
||||||
public Rigidbody2D m_Rigidbody2D;
|
public Rigidbody2D m_Rigidbody2D;
|
||||||
|
|
||||||
ProtectedInt32 m_Amount;
|
ProtectedInt32 m_Amount;
|
||||||
bool isCollision;
|
bool isTiltCup, isCollision;
|
||||||
|
public float velocityThreshold = 0.1f; // 이 값 이하이면 "거의 없음"으로 판단
|
||||||
|
float stoppedTime = 0f;
|
||||||
|
public float requiredStopDuration = 0.2f; // 0.2초 이상 멈춰야 인정
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
if (isTiltCup && !isCollision && IsAlmostStopped())
|
||||||
|
{
|
||||||
|
Debug.Log("움직임이 거의 없음");
|
||||||
|
Set_Collision(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IsAlmostStopped()
|
||||||
|
{
|
||||||
|
bool almostStoppedNow =
|
||||||
|
m_Rigidbody2D.linearVelocity.sqrMagnitude < velocityThreshold * velocityThreshold &&
|
||||||
|
Mathf.Abs(m_Rigidbody2D.angularVelocity) < velocityThreshold;
|
||||||
|
|
||||||
|
if (almostStoppedNow)
|
||||||
|
stoppedTime += Time.deltaTime;
|
||||||
|
else
|
||||||
|
stoppedTime = 0f;
|
||||||
|
|
||||||
|
return stoppedTime >= requiredStopDuration;
|
||||||
|
}
|
||||||
|
|
||||||
public void Init(Vector3 pos)
|
public void Init(Vector3 pos)
|
||||||
{
|
{
|
||||||
transform.localPosition = pos;
|
transform.localPosition = pos;
|
||||||
|
|
||||||
isCollision = false;
|
isTiltCup = isCollision = false;
|
||||||
m_image.enabled = true;
|
m_image.enabled = true;
|
||||||
go_effect.SetActive(false);
|
go_effect.SetActive(false);
|
||||||
m_Amount = 1; m_Amount.Obfuscate();
|
m_Amount = 1; m_Amount.Obfuscate();
|
||||||
|
|
@ -30,19 +56,14 @@ public class LuckyGameObj : MonoBehaviour
|
||||||
|
|
||||||
public void Tilt_Cup()
|
public void Tilt_Cup()
|
||||||
{
|
{
|
||||||
StartCoroutine(Co_Update());
|
isTiltCup = true;
|
||||||
}
|
|
||||||
|
|
||||||
IEnumerator Co_Update()
|
|
||||||
{
|
|
||||||
yield return new WaitForSeconds(20f);
|
|
||||||
if (!isCollision) Set_Collision(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCollisionEnter2D(Collision2D collision)
|
private void OnCollisionEnter2D(Collision2D collision)
|
||||||
{
|
{
|
||||||
if (isCollision || collision == null) return;
|
if (!isTiltCup || isCollision || collision == null) return;
|
||||||
|
|
||||||
|
//Debug.Log(collision.collider.tag + " : " + collision.collider.name);
|
||||||
switch (collision.collider.tag)
|
switch (collision.collider.tag)
|
||||||
{
|
{
|
||||||
case "Player":
|
case "Player":
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue