private int CalcCurrentIndex(SceneConfig.ColliderInfo item) { var x = Mathf.CeilToInt(item.Pos.x / COLLIDER_CAP_LENGTH); x = Mathf.Clamp(x, -COLLIDER_CAP_X_COUNT, COLLIDER_CAP_X_COUNT); var z = Mathf.CeilToInt(item.Pos.z / COLLIDER_CAP_LENGTH); z = Mathf.Clamp(z, -COLLIDER_CAP_Z_COUNT, COLLIDER_CAP_Z_COUNT); var index = (x + COLLIDER_CAP_X_COUNT) * (COLLIDER_CAP_Z_COUNT * 2 + 1) + (z + COLLIDER_CAP_Z_COUNT); return(index); }
private void LoadBoxCollider(SceneConfig.ColliderInfo colliderInfo, int index, int innerIndex, string colliderName) { BoxCollider colliderObj = GetBoxCollider(); colliderObj.transform.parent = _ColiderRootTran; colliderObj.transform.localPosition = colliderInfo.Pos; colliderObj.transform.localEulerAngles = colliderInfo.Rot; colliderObj.transform.localScale = colliderInfo.Scale; colliderObj.center = colliderInfo.Center; colliderObj.size = colliderInfo.Size; colliderObj.gameObject.layer = colliderInfo.Layer; #if UNITY_EDITOR colliderObj.name = colliderName; #endif }