void Update()
{
/* Get Animation-Data-Referenced */
if((null != ScriptRoot.SpriteStudioDataReferenced) && (null == spriteStudioData))
{
spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID);
}
/* Boot-Check */
if(null == WorkArea)
{
WorkArea = new Library_SpriteStudio.AnimationData.WorkAreaRuntime();
}
/* Clear Instance-Part's Draw-List */
DrawListClearInstance();
/* Boot-Check */
if(null == DataMeshInformation)
{
DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData();
}
if(null == InstanceGameObjectPartsRootSub)
{ /* Get "Instance"-Parts" */
GameObject InstanceChild = null;
Transform InstanceTransformChild = null;
Script_SpriteStudio_PartsRoot InstancePartsRootSub = null;
int CountChild = transform.childCount;
for(int i=0; i<CountChild; i++)
{
InstanceTransformChild = transform.GetChild(i);
if(null != InstanceTransformChild)
{
InstanceChild = InstanceTransformChild.gameObject;
InstancePartsRootSub = InstanceChild.gameObject.GetComponent<Script_SpriteStudio_PartsRoot>();
if(null != InstancePartsRootSub)
{
InstanceGameObjectPartsRootSub = InstanceChild;
scriptPartsRootSub = InstancePartsRootSub;
scriptPartsRootSub.PartsRootOrigin = PartsRootGetOrigin(ScriptRoot);
break; /* Exit for-Loop */
}
}
}
}
if(null != InstanceGameObjectPartsRootSub)
{
/* Update User-CallBack */
spriteStudioData.UpdateUserData(ScriptRoot.FrameNoNow, gameObject, ScriptRoot);
/* Update Instance-Data */
bool FlagValidInstanceData = spriteStudioData.UpdateInstanceData(ScriptRoot.FrameNoNow, gameObject, ScriptRoot, this);
/* Set Matrix for Transform (to the GameObject) */
if((true == spriteStudioData.UpdateGameObject(gameObject, ScriptRoot.FrameNoNow, CollisionComponent, WorkArea)) && (null != scriptPartsRootSub) && (true == FlagValidInstanceData) && (false == FlagHideForce))
{ /* Show Instance */
/* MEMO: "Instance"-Parts has no mesh */
DataMeshInformation.DataMesh = null;
DataMeshInformation.DataTransform = transform;
DataMeshInformation.PartsInstance = this;
spriteStudioData.DrawEntryInstance(DataMeshInformation, ScriptRoot.FrameNoNow, ScriptRoot);
}
}
if(null != scriptPartsRootSub)
{
Script_SpriteStudio_PartsRoot PartsOrigin = scriptPartsRootSub.PartsRootOrigin;
if(null != PartsOrigin)
{
// if(false == PartsOrigin.AnimationCheckPlay())
if((false == PartsOrigin.AnimationCheckPlay()) && (true == scriptPartsRootSub.AnimationCheckPlay()))
{ /* Parent is stopped */
scriptPartsRootSub.AnimationStop();
}
}
}
}