60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
|
|
[System.Serializable]
|
|
public class KF3CharacterContainerSerializable : KF3ObjectContainerSerializable
|
|
{
|
|
public bool IsCerulean;
|
|
public int ModelId;
|
|
public string CostumeName;
|
|
public string AnimationName;
|
|
|
|
public KF3CharacterContainerSerializable() { }
|
|
|
|
public KF3CharacterContainerSerializable(KF3CharacterContainer container)
|
|
{
|
|
this.GUID = container.GUID;
|
|
this.ModelId = container.ModelId;
|
|
this.CostumeName = container.CostumeName;
|
|
this.AnimationName = container.AnimationName;
|
|
this.IsCerulean = container as KF3CeruleanContainer != null;
|
|
this.Frames = container.Frames.Select(f => new FrameContent(f)).ToList();
|
|
}
|
|
|
|
public KF3CharacterContainerSerializable(KF3CharacterContainerSerializable source)
|
|
{
|
|
this.ModelId = source.ModelId;
|
|
this.CostumeName = source.CostumeName;
|
|
this.AnimationName = source.AnimationName;
|
|
this.IsCerulean = source.IsCerulean;
|
|
this.Filename = source.Filename;
|
|
this.GUID = source.GUID;
|
|
this.Frames = source.Frames.Select(f => new FrameContent(f)).ToList();
|
|
}
|
|
|
|
public static string GetRendererName(KF3ObjectContainer container1, Renderer r)
|
|
{
|
|
var container = container1 as KF3FriendContainer;
|
|
if (container == null) return r.gameObject.name;
|
|
else if (r.gameObject.name.ToLower() == "model")
|
|
{
|
|
if (r.transform.parent == container.Body.transform)
|
|
return "hair";
|
|
else if (container.Ears && r.transform.parent == container.Ears.transform)
|
|
return "ears";
|
|
else if (container.EarsAlt && r.transform.parent == container.EarsAlt.transform)
|
|
return "ears (alt)";
|
|
else if (container.Tail && r.transform.parent == container.Tail.transform)
|
|
return "tail";
|
|
else if (container.TailAlt && r.transform.parent == container.TailAlt.transform)
|
|
return "tail (alt)";
|
|
else
|
|
return r.gameObject.name;
|
|
}
|
|
else
|
|
return r.gameObject.name;
|
|
}
|
|
} |