A game about forced loneliness, made by TACStudios
1using System; 2using System.Linq; 3using System.Collections.Generic; 4using UnityEngine; 5using UnityEditor; 6using UnityEditor.EditorTools; 7using UnityObject = UnityEngine.Object; 8 9namespace UnityEditor.U2D.Common.Path 10{ 11 internal class ScriptablePath : ScriptableObject, IEditablePath, IUndoObject 12 { 13 [SerializeField] 14 private EditablePath m_EditablePath = new EditablePath(); 15 [SerializeField] 16 private bool m_Modified = false; 17 18 internal bool modified 19 { 20 get { return m_Modified; } 21 } 22 23 internal UnityObject owner { get; set; } 24 25 public ShapeType shapeType 26 { 27 get { return m_EditablePath.shapeType; } 28 set { m_EditablePath.shapeType = value; } 29 } 30 31 public IUndoObject undoObject 32 { 33 get { return this; } 34 set { } 35 } 36 37 public ISelection<int> selection 38 { 39 get { return m_EditablePath.selection; } 40 } 41 42 public Matrix4x4 localToWorldMatrix 43 { 44 get { return m_EditablePath.localToWorldMatrix; } 45 set { m_EditablePath.localToWorldMatrix = value; } 46 } 47 48 public Vector3 forward 49 { 50 get { return m_EditablePath.forward; } 51 set { m_EditablePath.forward = value; } 52 } 53 54 public Vector3 up 55 { 56 get { return m_EditablePath.up; } 57 set { m_EditablePath.up = value; } 58 } 59 60 public Vector3 right 61 { 62 get { return m_EditablePath.right; } 63 set { m_EditablePath.right = value; } 64 } 65 66 public bool isOpenEnded 67 { 68 get { return m_EditablePath.isOpenEnded; } 69 set { m_EditablePath.isOpenEnded = value; } 70 } 71 72 public int pointCount 73 { 74 get { return m_EditablePath.pointCount; } 75 } 76 77 public bool Select(ISelector<Vector3> selector) 78 { 79 return m_EditablePath.Select(selector); 80 } 81 82 public virtual void Clear() 83 { 84 m_EditablePath.Clear(); 85 } 86 87 public virtual ControlPoint GetPointLocal(int index) 88 { 89 return m_EditablePath.GetPointLocal(index); 90 } 91 92 public virtual ControlPoint GetPoint(int index) 93 { 94 return m_EditablePath.GetPoint(index); 95 } 96 97 public virtual void SetPoint(int index, ControlPoint controlPoint) 98 { 99 m_EditablePath.SetPoint(index, controlPoint); 100 } 101 102 public virtual void AddPoint(ControlPoint controlPoint) 103 { 104 m_EditablePath.AddPoint(controlPoint); 105 } 106 107 public virtual void InsertPoint(int index, ControlPoint controlPoint) 108 { 109 m_EditablePath.InsertPoint(index, controlPoint); 110 } 111 112 public virtual void RemovePoint(int index) 113 { 114 m_EditablePath.RemovePoint(index); 115 } 116 117 void IUndoObject.RegisterUndo(string name) 118 { 119 Undo.RegisterCompleteObjectUndo(this, name); 120 m_Modified = true; 121 } 122 } 123}