|
@@ -494,8 +494,8 @@ public class GameManager : MonoSingleton<GameManager>
|
|
|
|
|
|
|
|
|
|
|
|
-#region 设置功能
|
|
|
-
|
|
|
+ #region 设置功能
|
|
|
+ public bool needSavePosRotScale = true;
|
|
|
public void OnEditorBtnValueChanged(bool ison)
|
|
|
{
|
|
|
m_EditorCanvas.gameObject.SetActive(ison);
|
|
@@ -508,6 +508,11 @@ public class GameManager : MonoSingleton<GameManager>
|
|
|
|
|
|
if (ison)
|
|
|
{
|
|
|
+ if (needSavePosRotScale)
|
|
|
+ {
|
|
|
+ GetPosRotScale();
|
|
|
+ needSavePosRotScale = false;
|
|
|
+ }
|
|
|
m_EditorCanvas.position = OpenXRCamera.Instance.head.position + Player.transform.forward + new Vector3(0, 0.5f, 0);
|
|
|
m_EditorCanvas.eulerAngles = new Vector3(0, OpenXRCamera.Instance.head.eulerAngles.y, 0);
|
|
|
|
|
@@ -681,7 +686,29 @@ public class GameManager : MonoSingleton<GameManager>
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-#endregion
|
|
|
+
|
|
|
+ public void GetPosRotScale()
|
|
|
+ {
|
|
|
+ PosRotScale.PosRotScalePatchList.Clear();
|
|
|
+ for (int i = 0; i < GameManager.Instance.ObjsParent.childCount; i++)
|
|
|
+ {
|
|
|
+ if (i != 0)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < GameManager.Instance.ObjsParent.GetChild(i).childCount; j++)
|
|
|
+ {
|
|
|
+ for (int k = 0; k < GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).childCount; k++)
|
|
|
+ {
|
|
|
+ PosRotScalePatch PosRotScalePatch = new PosRotScalePatch();
|
|
|
+ PosRotScalePatch.PosPatch = GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).GetChild(k).localPosition;
|
|
|
+ PosRotScalePatch.RotPatch = GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).GetChild(k).localEulerAngles;
|
|
|
+ PosRotScalePatch.ScalePatch = GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).GetChild(k).localScale;
|
|
|
+ PosRotScale.PosRotScalePatchList.Add(PosRotScalePatch);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
|
|
|
#region 获取景点信息--素材编辑模式下
|
|
|
|
|
@@ -1064,19 +1091,12 @@ public class GameManager : MonoSingleton<GameManager>
|
|
|
|
|
|
GameObject matObj = new GameObject(material.name);
|
|
|
matObj.transform.SetParent(spoitValues.Object.transform);
|
|
|
- if (!material.select)
|
|
|
- {
|
|
|
- matObj.transform.localPosition = Vector3.zero;
|
|
|
- matObj.transform.localEulerAngles = Vector3.zero;
|
|
|
- matObj.transform.localScale = new Vector3(1, 1, 1);
|
|
|
- material.objectTransform.SetStartValue(matObj.transform.localPosition, matObj.transform.localEulerAngles, matObj.transform.localScale);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- matObj.transform.localPosition = material.objectTransform.nowPos;
|
|
|
- matObj.transform.localEulerAngles = material.objectTransform.nowRot;
|
|
|
- matObj.transform.localScale = material.objectTransform.nowScale;
|
|
|
- }
|
|
|
+
|
|
|
+ matObj.transform.localPosition = Vector3.zero;
|
|
|
+ matObj.transform.localEulerAngles = Vector3.zero;
|
|
|
+ matObj.transform.localScale = new Vector3(1, 1, 1);
|
|
|
+ material.objectTransform.SetStartValue(matObj.transform.localPosition, matObj.transform.localEulerAngles, matObj.transform.localScale);
|
|
|
+
|
|
|
|
|
|
ObjectValue spoitValue = new ObjectValue(i, spoit.id, material.name, matObj);
|
|
|
|
|
@@ -1650,16 +1670,13 @@ public class GameManager : MonoSingleton<GameManager>
|
|
|
SpoitIndex = i;
|
|
|
ListCrystals[SpoitIndex].gameObject.SetActive(false);
|
|
|
m_EditorPanel.SetSpoit(SpoitValues[i]);
|
|
|
- StartCoroutine(patch());
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
- StartCoroutine(patch());
|
|
|
}
|
|
|
|
|
|
- private IEnumerator patch()
|
|
|
+ public void SetPosRotScale()
|
|
|
{
|
|
|
- yield return new WaitForSeconds(0.005f);
|
|
|
if (PosRotScale.PosRotScalePatchList.Count != 0)
|
|
|
{
|
|
|
int temp = 0;
|