Fix ping collider issues for second phase clicks
This commit is contained in:
@@ -21,13 +21,17 @@ public class PingClickHandler : MonoBehaviour
|
||||
if (col == null)
|
||||
{
|
||||
var sphere = gameObject.AddComponent<SphereCollider>();
|
||||
sphere.radius = 0.5f;
|
||||
sphere.radius = 0.5f; // 可以适当增加,保证能点到
|
||||
col = sphere;
|
||||
}
|
||||
else if (col is BoxCollider bc)
|
||||
{
|
||||
// 如果是之前的 BoxCollider,把它改大一点,确保能点到
|
||||
bc.size = new Vector3(Mathf.Max(bc.size.x, 0.5f), Mathf.Max(bc.size.y, 0.5f), Mathf.Max(bc.size.z, 0.5f));
|
||||
bc.size = new Vector3(Mathf.Max(bc.size.x, 0.8f), Mathf.Max(bc.size.y, 0.8f), Mathf.Max(bc.size.z, 0.8f));
|
||||
}
|
||||
else if (col is SphereCollider sc)
|
||||
{
|
||||
sc.radius = Mathf.Max(sc.radius, 0.5f);
|
||||
}
|
||||
|
||||
col.enabled = true;
|
||||
@@ -160,9 +164,17 @@ public class PingClickHandler : MonoBehaviour
|
||||
|
||||
public void ReEnableBorder()
|
||||
{
|
||||
// 如果它已经被隐藏(包扎完毕),则不应该重新激活边框!
|
||||
// 关键:在第二阶段被激活时,先检查我们是否已经被完成了
|
||||
// 只有 _modelShown 为 true,并且没有被最终隐藏时,才能被激活
|
||||
if (!_modelShown) return;
|
||||
|
||||
// 如果模型已经被替换成 chanrao 并且隐藏了自己,就不应该再被激活
|
||||
var col = GetComponent<Collider>();
|
||||
if (col != null && !col.enabled) return;
|
||||
if (chanraoObject != null && chanraoObject.activeSelf)
|
||||
{
|
||||
if (col != null) col.enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
_isBlinking = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user