推动Config新增
This commit is contained in:
@@ -2,10 +2,42 @@ using Convention;
|
||||
using Demo.Game.Attr;
|
||||
using Dreamteck.Splines;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Demo.Game
|
||||
{
|
||||
namespace ConfigType
|
||||
{
|
||||
public class SplineNodeConfig : ScriptLoadableConfig
|
||||
{
|
||||
public float NodeSize = 1;
|
||||
public Color NodeColor = Color.white;
|
||||
public bool IsSetupNodeRotation = false;
|
||||
public Vector3 NodeRotation = Vector3.zero;
|
||||
public int[] LinkSplineCores;
|
||||
public override void Deserialize(BinaryReader reader)
|
||||
{
|
||||
NodeSize = BinarySerializeUtility.ReadFloat(reader);
|
||||
NodeColor = BinarySerializeUtility.ReadColor(reader);
|
||||
IsSetupNodeRotation = BinarySerializeUtility.ReadBool(reader);
|
||||
NodeRotation = BinarySerializeUtility.ReadVec3(reader);
|
||||
LinkSplineCores = BinarySerializeUtility.DeserializeIntArray(reader);
|
||||
base.Deserialize(reader);
|
||||
}
|
||||
|
||||
public override void Serialize(BinaryWriter writer)
|
||||
{
|
||||
BinarySerializeUtility.WriteFloat(writer, NodeSize);
|
||||
BinarySerializeUtility.WriteColor(writer, NodeColor);
|
||||
BinarySerializeUtility.WriteBool(writer, IsSetupNodeRotation);
|
||||
BinarySerializeUtility.WriteVec3(writer, NodeRotation);
|
||||
BinarySerializeUtility.SerializeArray(writer, LinkSplineCores);
|
||||
base.Serialize(writer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Scriptable]
|
||||
public class SplineNode : ScriptableObject
|
||||
{
|
||||
@@ -14,7 +46,7 @@ namespace Demo.Game
|
||||
public static SplineNode Make()
|
||||
{
|
||||
var node = new GameObject("", typeof(Node)).AddComponent<SplineNode>();
|
||||
node.m_MyNode = node.GetOrAddComponent<Node>();
|
||||
node.m_MyNode = node.GetOrAddComponent<Node>();
|
||||
return node;
|
||||
}
|
||||
|
||||
@@ -23,14 +55,13 @@ namespace Demo.Game
|
||||
public Color NodeColor = Color.white;
|
||||
public bool IsSetupNodeRotation = false;
|
||||
public Vector3 NodeRotation = Vector3.zero;
|
||||
public int MyNodeContent = 0;
|
||||
|
||||
|
||||
public Node MyNode => m_MyNode;
|
||||
|
||||
public void AddTo(SplineCore core)
|
||||
{
|
||||
MyNodeContent = core.NodeContent;
|
||||
int MyNodeContent = core.NodeContent;
|
||||
core.MySplineComputer.SetPointColor(MyNodeContent, NodeColor);
|
||||
core.MySplineComputer.SetPointSize(MyNodeContent, NodeSize);
|
||||
core.MySplineComputer.SetPointNormal(MyNodeContent, IsSetupNodeRotation ? NodeRotation.normalized : transform.up);
|
||||
|
||||
Reference in New Issue
Block a user