Fix Ping restart collider issue and Shose flash issue
This commit is contained in:
@@ -61,35 +61,6 @@ public static class ActionHistory
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (item.Type == ActionType.PingFirst)
|
||||
{
|
||||
// 如果在定位(第一阶段),则重置所有的定位,退回到只有第一个点发光的状态
|
||||
while (History.Count > 0 && History.Peek().Type == ActionType.PingFirst)
|
||||
{
|
||||
History.Pop();
|
||||
}
|
||||
|
||||
var allPings = Object.FindObjectsOfType<PingClickHandler>(true);
|
||||
foreach (var p in allPings)
|
||||
{
|
||||
if (p.chanraoObject != null) p.chanraoObject.SetActive(false);
|
||||
|
||||
if (p.pingIndex == 0)
|
||||
{
|
||||
p.gameObject.SetActive(true);
|
||||
p.ResetState();
|
||||
}
|
||||
else
|
||||
{
|
||||
p.UndoShow();
|
||||
}
|
||||
}
|
||||
|
||||
var sm = Object.FindObjectOfType<StepManager>();
|
||||
if (sm != null) sm.SetPingStepIndex(0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (item.Type == ActionType.Shose)
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@ public class PingClickHandler : MonoBehaviour
|
||||
if (_modelRenderer == null) _modelRenderer = GetComponentInChildren<MeshRenderer>();
|
||||
foreach (var r in GetComponentsInChildren<Renderer>(true)) r.enabled = false;
|
||||
if (GetComponent<Collider>() == null) gameObject.AddComponent<SphereCollider>().radius = 0.5f;
|
||||
var col = GetComponent<Collider>();
|
||||
if (col != null) col.enabled = true;
|
||||
CreateOutlineMesh();
|
||||
_modelShown = false;
|
||||
_isBlinking = true;
|
||||
@@ -163,7 +165,16 @@ public class PingClickHandler : MonoBehaviour
|
||||
StopAllCoroutines();
|
||||
StartCoroutine(BlinkOutline());
|
||||
}
|
||||
public void UndoShow() { HideSelf(); }
|
||||
public void UndoShow()
|
||||
{
|
||||
_modelShown = false;
|
||||
_isBlinking = false;
|
||||
StopAllCoroutines();
|
||||
if (chanraoObject != null) chanraoObject.SetActive(false);
|
||||
foreach (var r in GetComponentsInChildren<Renderer>(true)) r.enabled = false;
|
||||
var col = GetComponent<Collider>(); if (col != null) col.enabled = false;
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private void HideSelf()
|
||||
{
|
||||
@@ -183,6 +194,8 @@ public class PingClickHandler : MonoBehaviour
|
||||
public void ResetState()
|
||||
{
|
||||
_modelShown = false;
|
||||
var col = GetComponent<Collider>();
|
||||
if (col != null) col.enabled = true;
|
||||
_isBlinking = true;
|
||||
if (_modelRenderer != null) _modelRenderer.enabled = false;
|
||||
// 隐藏自身模型
|
||||
|
||||
@@ -432,7 +432,6 @@ public class PageController : MonoBehaviour
|
||||
}
|
||||
h.nextObject = chanraotuibu;
|
||||
}
|
||||
shose.SetActive(false);
|
||||
shose.SetActive(true);
|
||||
Debug.Log("PageController: 开场动画结束,Shose 已立刻激活");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user