合并代码
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataDesignPoint {
|
||||
public readonly DataPlate dataPlate;
|
||||
public DataDesignPoint(DataPlate dataPlate) { this.dataPlate = dataPlate; }
|
||||
|
||||
public int index;
|
||||
public Vector2 postiton;
|
||||
public Vector2 leftBezier;//贝塞尔曲线左(逆时针+)
|
||||
public Vector2 rightBezier;//贝塞尔曲线右(顺时针-)
|
||||
public List<Vector2> edgePoints = new List<Vector2>();
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class PrefabBezierPoint : MonoBehaviour {
|
||||
public LineRenderer bezierLine;
|
||||
private Vector2 position;
|
||||
private DataDesignPoint value;
|
||||
private Action<Vector2> callback;
|
||||
public DataPlate DataPlate => value.dataPlate;
|
||||
public Vector2 Position => position + value.postiton;
|
||||
public void SetValue(DataDesignPoint value, Action<Vector2> callback) {
|
||||
this.value = value;
|
||||
this.callback = callback;
|
||||
}
|
||||
public void SetPosition(Vector2 position) {
|
||||
this.position = position;
|
||||
float lx = position.x * 50;
|
||||
float ly = position.y * 50;
|
||||
transform.localPosition = new Vector3(lx, ly, transform.localPosition.z);
|
||||
bezierLine.SetPosition(1, position);
|
||||
}
|
||||
public void Change(Vector2 localPosition) {
|
||||
Vector2 position = localPosition - value.postiton;
|
||||
SetPosition(position);
|
||||
callback?.Invoke(position);
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using MuHua;
|
||||
|
||||
public class PrefabDesignPoint : MonoBehaviour, ITemplate<DataDesignPoint> {
|
||||
public LineRenderer lineRenderer;
|
||||
public EdgeCollider2D edgeCollider;
|
||||
|
||||
public PrefabBezierPoint bezierPoint1;
|
||||
public PrefabBezierPoint bezierPoint2;
|
||||
|
||||
private DataDesignPoint value;
|
||||
public int Index => value.index;
|
||||
public Vector2 Position => value.postiton;
|
||||
public List<Vector2> EdgePoints => value.edgePoints;
|
||||
public DataPlate DataPlate => value.dataPlate;
|
||||
public int MaxIndex => DataPlate.designPoints.Count;
|
||||
public int NextIndex => DataPlateTool.NormalIndex(Index + 1, MaxIndex);
|
||||
public void SetValue(DataDesignPoint value) {
|
||||
this.value = value;
|
||||
bezierPoint1.SetValue(value, (obj) => { value.leftBezier = obj; });
|
||||
bezierPoint2.SetValue(value, (obj) => { value.rightBezier = obj; });
|
||||
DataPlate.OnChangeDesignPoint += DataPlate_OnChangeDesignPoint;
|
||||
DataPlate_OnChangeDesignPoint(Index);
|
||||
}
|
||||
private void OnDestroy() {
|
||||
DataPlate.OnChangeDesignPoint -= DataPlate_OnChangeDesignPoint;
|
||||
}
|
||||
private void DataPlate_OnChangeDesignPoint(int index) {
|
||||
if (index != Index) { return; }
|
||||
transform.localPosition = Position;
|
||||
//添加全部点
|
||||
int maxIndex = EdgePoints.Count + 1;
|
||||
lineRenderer.positionCount = maxIndex;
|
||||
Vector2[] vectors = new Vector2[maxIndex];
|
||||
for (int i = 0; i < EdgePoints.Count; i++) {
|
||||
Vector2 position = EdgePoints[i] - Position;
|
||||
lineRenderer.SetPosition(i, position);
|
||||
vectors[i] = position;
|
||||
}
|
||||
//添加最后一个点
|
||||
int last = maxIndex - 1;
|
||||
DataDesignPoint nextDesignPoint = DataPlate.FindDesignPoint(NextIndex);
|
||||
Vector2 position2 = nextDesignPoint.postiton - Position;
|
||||
lineRenderer.SetPosition(last, position2);
|
||||
vectors[last] = position2;
|
||||
//更新2D线段碰撞器
|
||||
edgeCollider.points = vectors;
|
||||
//更新贝塞尔曲线
|
||||
bezierPoint1.SetPosition(value.leftBezier);
|
||||
bezierPoint2.SetPosition(value.rightBezier);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ce7a65aa37a4934ba8d85a6136d8c32
|
||||
guid: 152682a505646cc41a3bb70493adf97d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataFindBezier {
|
||||
|
||||
/// <summary> 有效的点 </summary>
|
||||
public bool IsValid => plate != null && point != null;
|
||||
|
||||
#region 输入
|
||||
/// <summary> 位置 (需要和点同一个坐标系) </summary>
|
||||
public Vector3 position;
|
||||
/// <summary> 板片数据 </summary>
|
||||
public List<DataPlate> datas;
|
||||
#endregion
|
||||
|
||||
#region 输出
|
||||
/// <summary> 是前点(-) </summary>
|
||||
public bool isFront;
|
||||
/// <summary> 查询到的板片 </summary>
|
||||
public DataPlate plate;
|
||||
/// <summary> 查询到的点 </summary>
|
||||
public DataPoint point;
|
||||
#endregion
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efaf2ad171011c7448092aa48eaf41c4
|
||||
guid: 538ffda5b096d9d4cb1916697828a300
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -0,0 +1,25 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataFindPoint {
|
||||
|
||||
/// <summary> 有效的板片 </summary>
|
||||
public bool IsValidPlate => plate != null;
|
||||
/// <summary> 有效的点 </summary>
|
||||
public bool IsValidPoint => point != null;
|
||||
|
||||
#region 输入
|
||||
/// <summary> 位置 (需要和点同一个坐标系) </summary>
|
||||
public Vector3 position;
|
||||
/// <summary> 板片数据 </summary>
|
||||
public List<DataPlate> datas;
|
||||
#endregion
|
||||
|
||||
#region 输出
|
||||
/// <summary> 查询到的板片 </summary>
|
||||
public DataPlate plate;
|
||||
/// <summary> 查询到的点 </summary>
|
||||
public DataPoint point;
|
||||
#endregion
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a3d9fd1b34a70c4ca6a4edaf6715131
|
||||
guid: e7f89410b01930c418b1df0a10a9f4cc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -0,0 +1,26 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataInsertPoint {
|
||||
|
||||
/// <summary> 有效的</summary>
|
||||
public bool IsValid => plate != null && aPoint != null && bPoint != null;
|
||||
|
||||
#region 输入
|
||||
/// <summary> 位置 (需要和点同一个坐标系) </summary>
|
||||
public Vector3 position;
|
||||
/// <summary> 板片数据 </summary>
|
||||
public List<DataPlate> datas;
|
||||
#endregion
|
||||
|
||||
#region 输出
|
||||
/// <summary> 执行操作的板片 </summary>
|
||||
public DataPlate plate;
|
||||
/// <summary> A点 </summary>
|
||||
public DataPoint aPoint;
|
||||
/// <summary> B点 </summary>
|
||||
public DataPoint bPoint;
|
||||
#endregion
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 215036ac2145e9f45835ea28080aee53
|
||||
guid: 25155dff8d9629a46a71219ab08dd82a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -4,25 +4,30 @@ using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataPlate {
|
||||
public Action OnChange;
|
||||
public Action<int> OnChangeDesignPoint;
|
||||
public Action<int> OnChangeEdgePoint;
|
||||
|
||||
#region 核心数据
|
||||
/// <summary> 边缘平滑度 </summary>
|
||||
public float edgeSmooth = 0.01f;
|
||||
/// <summary> 板片位置(本地坐标系) </summary>
|
||||
public Vector3 position;
|
||||
/// <summary> 设计点 </summary>
|
||||
public List<DataDesignPoint> designPoints = new List<DataDesignPoint>();
|
||||
public List<DataPoint> points = new List<DataPoint>();
|
||||
#endregion
|
||||
|
||||
/// <summary> 模型中心点偏移 </summary>
|
||||
public Vector3 centerOffset;
|
||||
#region 次要数据
|
||||
/// <summary> 平面网格 </summary>
|
||||
public Mesh polygon;
|
||||
/// <summary> 边缘点 </summary>
|
||||
public List<Vector2> edgePoints = new List<Vector2>();
|
||||
public List<Vector3> edgePoints = new List<Vector3>();
|
||||
#endregion
|
||||
|
||||
#region 可视化数据
|
||||
/// <summary> 可视化对象 </summary>
|
||||
public Transform transform;
|
||||
/// <summary> 可视化多边形网格 </summary>
|
||||
public MeshFilter polygonMeshFilter;
|
||||
/// <summary> 可视化边缘线 </summary>
|
||||
public LineRenderer edgeLineRenderer;
|
||||
#endregion
|
||||
|
||||
//平面网格数据
|
||||
/// <summary> 顶点 </summary>
|
||||
public List<Vector3> vertices = new List<Vector3>();
|
||||
/// <summary> UV </summary>
|
||||
public List<Vector2> uv = new List<Vector2>();
|
||||
/// <summary> 三角形 </summary>
|
||||
public List<int> triangles = new List<int>();
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataPoint {
|
||||
/// <summary> 绑定的板片 </summary>
|
||||
public readonly DataPlate plate;
|
||||
/// <summary> 初始化 </summary>
|
||||
public DataPoint(DataPlate plate) => this.plate = plate;
|
||||
|
||||
#region 核心数据
|
||||
/// <summary> 点前(-) 是否是曲线 </summary>
|
||||
public bool isCurveFront;
|
||||
/// <summary> 点后(+) 是否是曲线 </summary>
|
||||
public bool isCurveAfter;
|
||||
/// <summary> 设计点位置(本地坐标系) </summary>
|
||||
public Vector3 position;
|
||||
/// <summary> 贝塞尔曲线前(-) </summary>
|
||||
public Vector3 frontBezier;
|
||||
/// <summary> 贝塞尔曲线后(+) </summary>
|
||||
public Vector3 afterBezier;
|
||||
#endregion
|
||||
|
||||
#region 可视化数据
|
||||
/// <summary> 可视化对象 </summary>
|
||||
public Transform transform;
|
||||
/// <summary> 可视化贝塞尔点前(-) </summary>
|
||||
public Transform frontBezierTransform;
|
||||
/// <summary> 可视化贝塞尔点后(+) </summary>
|
||||
public Transform afterBezierTransform;
|
||||
/// <summary> 可视化贝塞尔线前(-) </summary>
|
||||
public LineRenderer frontBezierLineRenderer;
|
||||
/// <summary> 可视化贝塞尔线后(+) </summary>
|
||||
public LineRenderer afterBezierLineRenderer;
|
||||
#endregion
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 76c13895912b8cd48a099779cbd0af65
|
||||
guid: 753c1b80d6d80af4baaa095760bdc3f5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataTriangle {
|
||||
public Vector3 a;
|
||||
public Vector3 b;
|
||||
public Vector3 c;
|
||||
public override string ToString() {
|
||||
return $"{a} , {b} , {c}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0119f0f1ae644424b8ed9bd212d86ec1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,61 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using MuHua;
|
||||
|
||||
public class PrefabPlate : MonoBehaviour, ITemplate<DataPlate> {
|
||||
public Transform DesignPointParent;
|
||||
public Transform DesignPointTemplate;
|
||||
public Transform PlateEdgeParent;
|
||||
public Transform PlateEdgeTemplate;
|
||||
|
||||
private DataPlate value;
|
||||
private Vector3 localPosition;
|
||||
|
||||
public MeshFilter MeshFilter => GetComponent<MeshFilter>();
|
||||
public MeshCollider MeshCollider => GetComponent<MeshCollider>();
|
||||
public ModuleViewCamera viewCamera => ModuleCore.I.PlateDesignViewCamera;
|
||||
public void SetValue(DataPlate value) {
|
||||
this.value = value;
|
||||
localPosition = viewCamera.CurrentViewSpaceCenter;
|
||||
value.OnChange += DataPlate_OnChange;
|
||||
value.Compute();
|
||||
}
|
||||
private void OnDestroy() {
|
||||
value.OnChange -= DataPlate_OnChange;
|
||||
}
|
||||
public void DataPlate_OnChange() {
|
||||
CreateDesignPoint();
|
||||
//CreatePrefabEdgePoint();
|
||||
CreatePolygonMesh();
|
||||
//重置坐标
|
||||
transform.localPosition = localPosition + value.centerOffset;
|
||||
localPosition = transform.localPosition;
|
||||
}
|
||||
/// <summary> 生成设计点 </summary>
|
||||
private void CreateDesignPoint() {
|
||||
DesignPointParent.Instantiate(DesignPointTemplate, value.designPoints);
|
||||
}
|
||||
/// <summary> 生成边缘点 </summary>
|
||||
private void CreatePrefabEdgePoint() {
|
||||
PlateEdgeParent.DestroySon(PlateEdgeTemplate);
|
||||
for (int i = 0; i < value.edgePoints.Count; i++) {
|
||||
Transform temp = Instantiate(PlateEdgeTemplate, PlateEdgeParent);
|
||||
temp.gameObject.SetActive(true);
|
||||
PrefabPlateEdge plateEdge = temp.GetComponent<PrefabPlateEdge>();
|
||||
plateEdge.SetValue(i, value);
|
||||
}
|
||||
}
|
||||
/// <summary> 生成网格 </summary>
|
||||
private void CreatePolygonMesh() {
|
||||
Mesh mesh = new Mesh();
|
||||
mesh.vertices = value.vertices.ToArray();
|
||||
mesh.uv = value.uv.ToArray();
|
||||
mesh.triangles = value.triangles.ToArray();
|
||||
mesh.RecalculateBounds();
|
||||
mesh.RecalculateNormals();
|
||||
mesh.RecalculateTangents();
|
||||
MeshFilter.mesh = mesh;
|
||||
MeshCollider.sharedMesh = mesh;
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using MuHua;
|
||||
|
||||
public class PrefabPlateEdge : MonoBehaviour {
|
||||
public LineRenderer lineRenderer;
|
||||
public EdgeCollider2D edgeCollider;
|
||||
|
||||
[HideInInspector] public int index;
|
||||
[HideInInspector] public DataPlate value;
|
||||
|
||||
public int MaxIndex => value.edgePoints.Count;
|
||||
public int NextIndex => DataPlateTool.NormalIndex(index + 1, MaxIndex);
|
||||
public Vector3 CurrentPosition => value.FindEdgePoint(index);
|
||||
public Vector3 NextPosition => value.FindEdgePoint(NextIndex);
|
||||
public void SetValue(int index, DataPlate value) {
|
||||
this.index = index;
|
||||
this.value = value;
|
||||
value.OnChangeEdgePoint += UpdateLineRenderer;
|
||||
UpdateLineRenderer(index);
|
||||
}
|
||||
private void OnDestroy() {
|
||||
value.OnChangeEdgePoint -= UpdateLineRenderer;
|
||||
}
|
||||
public void UpdateLineRenderer(int index) {
|
||||
if (index != this.index && index != NextIndex) { return; }
|
||||
transform.localPosition = CurrentPosition;
|
||||
|
||||
Vector3 direction = NextPosition - CurrentPosition;
|
||||
lineRenderer.SetPosition(1, direction);
|
||||
edgeCollider.points = new Vector2[] { Vector2.zero, direction };
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6e74baea99ddf044c8a16b4d0eacf8ca
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName = "PresetsPlate", menuName = "数据模块/预设模板")]
|
||||
public class DataPlatePresets : ScriptableObject {
|
||||
public List<Vector3> designPoints;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4c187df8599632449d401e9840a5bf9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,33 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataPolygon {
|
||||
private readonly DataPlate dataPlate;
|
||||
public DataPolygon(DataPlate dataPlate) => this.dataPlate = dataPlate;
|
||||
|
||||
/// <summary> 边缘平滑度 </summary>
|
||||
public float edgeSmooth => dataPlate.edgeSmooth;
|
||||
/// <summary> 设计点 </summary>
|
||||
public List<DataPoint> points => dataPlate.points;
|
||||
/// <summary> 边缘点 </summary>
|
||||
public List<Vector3> edgePoints {
|
||||
get => dataPlate.edgePoints;
|
||||
set => dataPlate.edgePoints = value;
|
||||
}
|
||||
/// <summary> 平面网格 </summary>
|
||||
public Mesh polygon {
|
||||
get => dataPlate.polygon;
|
||||
set => dataPlate.polygon = value;
|
||||
}
|
||||
|
||||
#region 参数
|
||||
|
||||
#endregion
|
||||
|
||||
#region 缓存
|
||||
/// <summary> 三角形 </summary>
|
||||
public List<DataTriangle> triangles = new List<DataTriangle>();
|
||||
#endregion
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3de8098a0297b56429874d2696f59d43
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,31 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName = "PresetsPlate", menuName = "数据模块/预设模板")]
|
||||
public class DataPresetsPlate : ScriptableObject {
|
||||
public List<Vector2> designPoints;
|
||||
public DataPlate ToPlate() {
|
||||
DataPlate data = new DataPlate();
|
||||
data.designPoints = new List<DataDesignPoint>();
|
||||
int maxIndex = designPoints.Count;
|
||||
for (int i = 0; i < designPoints.Count; i++) {
|
||||
Vector2 position = designPoints[i];
|
||||
int left = DataPlateTool.NormalIndex(i + 1, maxIndex);
|
||||
int right = DataPlateTool.NormalIndex(i - 1, maxIndex);
|
||||
Vector2 leftBezier = (designPoints[left] - position) * 0.5f;
|
||||
Vector2 rightBezier = (designPoints[right] - position) * 0.5f;
|
||||
DataDesignPoint designPoint = CreateDataDesignPoint(i, position, data);
|
||||
designPoint.leftBezier = leftBezier;
|
||||
designPoint.rightBezier = rightBezier;
|
||||
data.designPoints.Add(designPoint);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
private DataDesignPoint CreateDataDesignPoint(int index, Vector2 position, DataPlate data) {
|
||||
DataDesignPoint designPoint = new DataDesignPoint(data);
|
||||
designPoint.index = index;
|
||||
designPoint.postiton = position;
|
||||
return designPoint;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de9e8e0217c52a447a49c55f818131ef
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataUIMouseInput {
|
||||
public float ScrollWheel;
|
||||
public Vector3 ViewPosition;
|
||||
public Vector3 WorldPosition;
|
||||
public Vector3 ScreenPosition;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa77786584d959a418d65b0eb3066b4d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user