void Update() { /* Boot-Check */ if (null == dataMesh) { MeshCreate(); } if (null == DataMeshInformation) { DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); } /* Update User-CallBack */ SpriteStudioData.UpdateUserData(ScriptRoot.FrameNoNow, gameObject, ScriptRoot); /* Mesh-Data Update */ SpriteStudioData.UpdateMesh(dataMesh, ScriptRoot.FrameNoNow, ScriptRoot); /* Set Matrix for Transform (to the GameObject) */ if ((true == SpriteStudioData.UpdateGameObject(gameObject, ScriptRoot.FrameNoNow, true)) && (false == FlagHideForce)) { /* Show the Sprite */ DataMeshInformation.DataMesh = dataMesh; DataMeshInformation.DataTransform = transform; DataMeshInformation.PartsInstance = null; SpriteStudioData.DrawEntry(DataMeshInformation, ScriptRoot.FrameNoNow, ScriptRoot); } }
/* Functions */ void Start() { /* MEMO: "Instance"-Parts has no mesh */ /* MEMO: "Instance"-Parts's Instance is created with "Script_SpriteStudio_LinkPrefab.cs" */ DataMesh = null; DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); frameNoPreviousUpdate = -1; }
/* Functions */ void Start() { MeshCreate(); DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); /* Get Animation-Data-Referenced */ if (null != ScriptRoot.SpriteStudioDataReferenced) { spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID); } }
/* Functions */ void Start() { MeshCreate(); DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); /* Get Animation-Data-Referenced */ if(null != ScriptRoot.SpriteStudioDataReferenced) { spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID); } }
/* Functions */ void Start() { /* MEMO: "Instance"-Parts has no mesh */ /* MEMO: "Instance"-Parts's Instance is created with "Script_SpriteStudio_LinkPrefab.cs" */ DataMesh = null; DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); frameNoPreviousUpdate = -1; /* Get Animation-Data-Referenced */ if((null != ScriptRoot.SpriteStudioDataReferenced) && (null == spriteStudioData)) { spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID); } }
/* Functions */ void Start() { /* MEMO: "Instance"-Parts has no mesh */ /* MEMO: "Instance"-Parts's Instance is created with "Script_SpriteStudio_LinkPrefab.cs" */ DataMesh = null; DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); frameNoPreviousUpdate = -1; /* Get Animation-Data-Referenced */ if ((null != ScriptRoot.SpriteStudioDataReferenced) && (null == spriteStudioData)) { spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID); } }
void Update() { /* Get Animation-Data-Referenced */ if ((null != ScriptRoot.SpriteStudioDataReferenced) && (null == spriteStudioData)) { spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID); } /* Boot-Check */ if (null == dataMesh) { MeshCreate(); } if (null == DataMeshInformation) { DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); } if (null == WorkArea) { WorkArea = new Library_SpriteStudio.AnimationData.WorkAreaRuntime(); } /* Update User-CallBack */ spriteStudioData.UpdateUserData(ScriptRoot.FrameNoNow, gameObject, ScriptRoot); /* Mesh-Data Update */ spriteStudioData.UpdateMesh(dataMesh, ScriptRoot.FrameNoNow, ScriptRoot); /* Set Matrix for Transform (to the GameObject) */ if ((true == spriteStudioData.UpdateGameObject(gameObject, ScriptRoot.FrameNoNow, CollisionComponent, WorkArea)) && (false == FlagHideForce)) { /* Show the Sprite */ DataMeshInformation.DataMesh = dataMesh.Mesh; DataMeshInformation.DataTransform = transform; DataMeshInformation.PartsInstance = null; spriteStudioData.DrawEntry(DataMeshInformation, ScriptRoot.FrameNoNow, ScriptRoot); } }
void Update() { /* Get Animation-Data-Referenced */ if((null != ScriptRoot.SpriteStudioDataReferenced) && (null == spriteStudioData)) { spriteStudioData = ScriptRoot.SpriteStudioDataReferenced.DataGetNode(ID); } /* Boot-Check */ if(null == dataMesh) { MeshCreate(); } if(null == DataMeshInformation) { DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); } if(null == WorkArea) { WorkArea = new Library_SpriteStudio.AnimationData.WorkAreaRuntime(); } /* Update User-CallBack */ spriteStudioData.UpdateUserData(ScriptRoot.FrameNoNow, gameObject, ScriptRoot); /* Mesh-Data Update */ spriteStudioData.UpdateMesh(dataMesh, ScriptRoot.FrameNoNow, ScriptRoot); /* Set Matrix for Transform (to the GameObject) */ if((true == spriteStudioData.UpdateGameObject(gameObject, ScriptRoot.FrameNoNow, CollisionComponent, WorkArea)) && (false == FlagHideForce)) { /* Show the Sprite */ DataMeshInformation.DataMesh = dataMesh.Mesh; DataMeshInformation.DataTransform = transform; DataMeshInformation.PartsInstance = null; spriteStudioData.DrawEntry(DataMeshInformation, ScriptRoot.FrameNoNow, ScriptRoot); } }
/* Functions */ void Start() { MeshCreate(); DataMeshInformation = new Library_SpriteStudio.DrawManager.InformationMeshData(); }
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(); } } } }
void Update() { /* 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, true)) && (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()) { /* Parent is stopped */ scriptPartsRootSub.AnimationStop(); } } } }
void LateUpdate() { /* Clear Finalize ListDrawMesh */ if (null == arrayListMeshDraw) { arrayListMeshDraw = new Library_SpriteStudio.DrawManager.ArrayListMeshDraw(); arrayListMeshDraw.BootUp(); arrayListMeshDraw.RenderQueueSet(KindRenderQueueBase, OffsetDrawQueue); } arrayListMeshDraw.Clear(); /* Collect Draw-Parts from Root-Parts */ InformationDrawObject DrawObject = null; Library_SpriteStudio.DrawManager.ArrayListMeshDraw ArrayListMeshDrawObject = null; Library_SpriteStudio.DrawManager.ListMeshDraw ListMeshDraw = null; int Count = DrawEntryPartsRoot.Count; for (int i = 0; i < Count; i++) { #if false /* MEMO: Non-Generic List-Class */ DrawObject = DrawEntryPartsRoot[i] as InformationDrawObject; #else DrawObject = DrawEntryPartsRoot[i]; #endif ArrayListMeshDrawObject = DrawObject.PartsRoot.ArrayListMeshDraw; int CountList = ArrayListMeshDrawObject.TableListMesh.Count; for (int j = 0; j < CountList; j++) { /* Add Mesh-List */ #if false /* MEMO: Non-Generic List-Class */ ListMeshDraw = ArrayListMeshDrawObject.TableListMesh[j] as Library_SpriteStudio.DrawManager.ListMeshDraw; #else ListMeshDraw = ArrayListMeshDrawObject.TableListMesh[j]; #endif arrayListMeshDraw.TableListMesh.Add(ListMeshDraw); } /* Clear Original Draw-List */ DrawObject.PartsRoot.DrawListClear(); } DrawEntryPartsRoot.Clear(); /* Collect & Add Draw-Parts "Instance"-Object's Parts */ Library_SpriteStudio.DrawManager.InformationMeshData InformationMeshData = null; Script_SpriteStudio_PartsRoot ScriptPartsRootSub = null; for (int i = 0; i < arrayListMeshDraw.TableListMesh.Count;) { #if false /* MEMO: Non-Generic List-Class */ ListMeshDraw = arrayListMeshDraw.TableListMesh[i] as Library_SpriteStudio.DrawManager.ListMeshDraw; #else ListMeshDraw = arrayListMeshDraw.TableListMesh[i]; #endif if (null == ListMeshDraw) { arrayListMeshDraw.TableListMesh.RemoveAt(i); continue; } InformationMeshData = ListMeshDraw.MeshDataTop; if (null != InformationMeshData.PartsInstance) { Library_SpriteStudio.DrawManager.ListMeshDraw ListMeshDrawSub = null; ScriptPartsRootSub = InformationMeshData.PartsInstance.ScriptPartsRootSub; if (null != ScriptPartsRootSub) { /* Add Mesh-Table */ /* Delete "Instance"-Data */ arrayListMeshDraw.TableListMesh.RemoveAt(i); /* Insert "Instance"-Data's Draw-Mesh-List */ ArrayListMeshDrawObject = ScriptPartsRootSub.ArrayListMeshDraw; for (int j = 0; j < ArrayListMeshDrawObject.TableListMesh.Count; j++) { #if false /* MEMO: Non-Generic List-Class */ ListMeshDrawSub = ArrayListMeshDrawObject.TableListMesh[j] as Library_SpriteStudio.DrawManager.ListMeshDraw; #else ListMeshDrawSub = ArrayListMeshDrawObject.TableListMesh[j]; #endif arrayListMeshDraw.TableListMesh.Insert((i + j), ListMeshDrawSub); } /* Clear Original Draw-List */ ScriptPartsRootSub.DrawListClear(); continue; } } i++; } /* Optimize Draw-Parts List */ Library_SpriteStudio.DrawManager.ListMeshDraw ListMeshDrawNext = null; #if false /* MEMO: Non-Generic List-Class */ ArrayList TableListMesh = arrayListMeshDraw.TableListMesh; #else List <Library_SpriteStudio.DrawManager.ListMeshDraw> TableListMesh = arrayListMeshDraw.TableListMesh; #endif for (int i = 0; i < (TableListMesh.Count - 1);) { Count = i + 1; /* "Count" is temporary */ #if false /* MEMO: Non-Generic List-Class */ ListMeshDraw = TableListMesh[i] as Library_SpriteStudio.DrawManager.ListMeshDraw; ListMeshDrawNext = TableListMesh[Count] as Library_SpriteStudio.DrawManager.ListMeshDraw; #else ListMeshDraw = TableListMesh[i]; ListMeshDrawNext = TableListMesh[Count]; #endif if (ListMeshDraw.MaterialOriginal == ListMeshDrawNext.MaterialOriginal) { /* Mesh-List Merge */ ListMeshDraw.ListMerge(ListMeshDrawNext); TableListMesh.RemoveAt(Count); /* Counter No-Incliment Continue */ continue; } i++; } /* Counting Meshes */ TableListMesh = arrayListMeshDraw.TableListMesh; Count = TableListMesh.Count; int CountMesh = 0; for (int i = 0; i < Count; i++) { #if false /* MEMO: Non-Generic List-Class */ ListMeshDraw = TableListMesh[i] as Library_SpriteStudio.DrawManager.ListMeshDraw; #else ListMeshDraw = TableListMesh[i]; #endif CountMesh += ListMeshDraw.Count; } /* Meshes Combine each Material & Set to MeshFilter/MeshRenderer */ MeshFilter InstanceMeshFilter = GetComponent <MeshFilter>(); MeshRenderer InstanceMeshRenderer = GetComponent <MeshRenderer>(); arrayListMeshDraw.MeshSetCombine(InstanceMeshFilter, InstanceMeshRenderer, InstanceCameraDraw, transform); }