59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
using KF3.Containers;
|
|
using System;
|
|
using UnityEngine;
|
|
|
|
public class KF3ObjectContainer : ObjectContainer
|
|
{
|
|
protected override System.Type _serializeType => typeof(KF3ObjectContainerSerializable);
|
|
|
|
public KF3CharacterContainer AsCharacter => this as KF3CharacterContainer;
|
|
|
|
protected static KF3ModelViewerMain Main => KF3ModelViewerMain.Instance;
|
|
|
|
protected override void Start()
|
|
{
|
|
if (DoNotSave) return;
|
|
|
|
if(Frames.Count == 0)
|
|
{
|
|
SetKeyframe();
|
|
}
|
|
|
|
KF3ModelViewerMain.RegisterObject(this);
|
|
var selector = UITimelineObjectEntry.Create(this);
|
|
InstantiatedObjects.Add(selector.gameObject);
|
|
|
|
KF3ModelViewerMain.Instance.SelectObject(this);
|
|
}
|
|
|
|
protected override void OnDestroy()
|
|
{
|
|
if (Main.SelectedObject == this)
|
|
{
|
|
Main.SelectObject(null);
|
|
}
|
|
|
|
KF3ModelViewerMain.UnregisterObject(this);
|
|
|
|
base.OnDestroy();
|
|
}
|
|
|
|
#region Timeline
|
|
public override DataType GetDataType()
|
|
{
|
|
switch (this)
|
|
{
|
|
case KF3FriendContainer _:
|
|
return DataType.Character;
|
|
case KF3CeruleanContainer _:
|
|
return DataType.Character;
|
|
case KF3StaticContainer _:
|
|
return DataType.Object;
|
|
default:
|
|
Error.Log(Color.red, GetType().FullName);
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
#endregion
|
|
}
|