mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
Initial commit
This commit is contained in:
commit
3c7cc0c973
8391 changed files with 704313 additions and 0 deletions
|
@ -0,0 +1,58 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.U2D;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
|
||||
// Demo Script Usage:
|
||||
// When you want multiple SpriteShapes to share a common Spline,
|
||||
// attach this script to the secondary objects you would like to
|
||||
// copy the Spline and set the ParentObject to the original object
|
||||
// you are copying from.
|
||||
|
||||
[ExecuteInEditMode]
|
||||
public class ConformingSpline : MonoBehaviour
|
||||
{
|
||||
|
||||
public GameObject m_ParentObject;
|
||||
private int hashCode;
|
||||
|
||||
// Use this for initialization
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (m_ParentObject != null)
|
||||
{
|
||||
hashCode = CopySpline(m_ParentObject, gameObject, hashCode);
|
||||
}
|
||||
}
|
||||
|
||||
private static int CopySpline(GameObject src, GameObject dst, int hashCode)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
var parentSpriteShapeController = src.GetComponent<SpriteShapeController>();
|
||||
var mirrorSpriteShapeController = dst.GetComponent<SpriteShapeController>();
|
||||
|
||||
if (parentSpriteShapeController != null && mirrorSpriteShapeController != null && parentSpriteShapeController.spline.GetHashCode() != hashCode)
|
||||
{
|
||||
SerializedObject srcController = new SerializedObject(parentSpriteShapeController);
|
||||
SerializedObject dstController = new SerializedObject(mirrorSpriteShapeController);
|
||||
SerializedProperty srcSpline = srcController.FindProperty("m_Spline");
|
||||
dstController.CopyFromSerializedProperty(srcSpline);
|
||||
dstController.ApplyModifiedProperties();
|
||||
EditorUtility.SetDirty(mirrorSpriteShapeController);
|
||||
return parentSpriteShapeController.spline.GetHashCode();
|
||||
}
|
||||
#endif
|
||||
return hashCode;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue