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,38 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
namespace UnityEditor.U2D.Animation
|
||||
{
|
||||
internal interface ISkinningSerializer
|
||||
{
|
||||
bool CanDeserialize(string data);
|
||||
SkinningCopyData Deserialize(string data);
|
||||
string Serialize(SkinningCopyData skinningData);
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
internal class SpriteBoneCopyData
|
||||
{
|
||||
public UnityEngine.U2D.SpriteBone spriteBone;
|
||||
public int order;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
internal class SkinningCopySpriteData
|
||||
{
|
||||
public string spriteName;
|
||||
public List<SpriteBoneCopyData> spriteBones;
|
||||
public List<Vertex2D> vertices;
|
||||
public List<int> indices;
|
||||
public List<Edge> edges;
|
||||
public List<string> boneWeightNames;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
internal class SkinningCopyData
|
||||
{
|
||||
public float pixelsPerUnit;
|
||||
public List<SkinningCopySpriteData> copyData = new List<SkinningCopySpriteData>();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 65760d058db37cb438c9002fb9c5dc92
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,31 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace UnityEditor.U2D.Animation
|
||||
{
|
||||
internal class SkinningSerializerJSON : ISkinningSerializer
|
||||
{
|
||||
public bool CanDeserialize(string data)
|
||||
{
|
||||
bool result = true;
|
||||
try
|
||||
{
|
||||
JsonUtility.FromJson<SkinningCopyData>(data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public SkinningCopyData Deserialize(string data)
|
||||
{
|
||||
return JsonUtility.FromJson<SkinningCopyData>(data);
|
||||
}
|
||||
|
||||
public string Serialize(SkinningCopyData skinningData)
|
||||
{
|
||||
return JsonUtility.ToJson(skinningData);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 171c69f47e06f2d47ab4225b6afbb5db
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,61 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
|
||||
namespace UnityEditor.U2D.Animation
|
||||
{
|
||||
internal class SkinningXMLSerializer : ISkinningSerializer
|
||||
{
|
||||
public bool CanDeserialize(string data)
|
||||
{
|
||||
bool result = false;
|
||||
try
|
||||
{
|
||||
using (TextReader textReader = new StringReader(data))
|
||||
{
|
||||
using (XmlTextReader xmlReader = new XmlTextReader(textReader))
|
||||
{
|
||||
var xmlSerializer = new XmlSerializer(typeof(List<UnityEngine.U2D.SpriteBone>));
|
||||
result = xmlSerializer.CanDeserialize(xmlReader);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public SkinningCopyData Deserialize(string data)
|
||||
{
|
||||
SkinningCopyData skinningCopyData;
|
||||
using (TextReader textReader = new StringReader(data))
|
||||
{
|
||||
using (XmlTextReader xmlReader = new XmlTextReader(textReader))
|
||||
{
|
||||
var xmlSerializer = new XmlSerializer(typeof(SkinningCopyData));
|
||||
if (!xmlSerializer.CanDeserialize(xmlReader))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Unable to deserialize system copy buffer to Skinning Copy Data");
|
||||
}
|
||||
skinningCopyData = (SkinningCopyData)xmlSerializer.Deserialize(xmlReader);
|
||||
}
|
||||
}
|
||||
return skinningCopyData;
|
||||
}
|
||||
|
||||
public string Serialize(SkinningCopyData skinningData)
|
||||
{
|
||||
XmlSerializer xmlSerializer = new XmlSerializer(skinningData.GetType());
|
||||
using (StringWriter textWriter = new StringWriter())
|
||||
{
|
||||
xmlSerializer.Serialize(textWriter, skinningData);
|
||||
return textWriter.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9aa1c187477fd364bb93e6f97f16c9fa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Add table
Add a link
Reference in a new issue