Script_SpriteStudio_PartsInstance.Update C# (CSharp) Method

Update() private method

private Update ( ) : void
return void
	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();
				}
			}
		}
	}