GotoAndStop, GotoAndPlay

This commit is contained in:
2016-09-14 18:38:07 +07:00
parent 1991da1f6b
commit e41eae8c72
3 changed files with 37 additions and 28 deletions

View File

@@ -121,10 +121,23 @@ namespace FlashTools {
// ---------------------------------------------------------------------
//
// Private
// Internal
//
// ---------------------------------------------------------------------
public void InternalLateUpdate() {
if ( _meshFilter && _meshRenderer && _dirtyMesh ) {
var baked_frame = GetCurrentBakedFrame();
if ( baked_frame != null ) {
_meshFilter.sharedMesh = baked_frame.CachedMesh;
_meshRenderer.sharedMaterials = baked_frame.Materials;
} else {
_meshFilter.sharedMesh = null;
_meshRenderer.sharedMaterials = new Material[0];
}
}
}
public void UpdateAllProperties() {
ClearCache();
clip = _clip;
@@ -142,6 +155,13 @@ namespace FlashTools {
_curPropBlock = null;
}
void ChangeSortingProperties() {
if ( _meshRenderer ) {
_meshRenderer.sortingOrder = sortingOrder;
_meshRenderer.sortingLayerName = sortingLayer;
}
}
void ChangeClip() {
if ( _meshRenderer ) {
_meshRenderer.enabled = !!clip;
@@ -181,13 +201,6 @@ namespace FlashTools {
SetDirtyCurrentMesh();
}
void ChangeSortingProperties() {
if ( _meshRenderer ) {
_meshRenderer.sortingOrder = sortingOrder;
_meshRenderer.sortingLayerName = sortingLayer;
}
}
void UpdatePropBlock() {
if ( _meshRenderer ) {
if ( _curPropBlock == null ) {
@@ -215,25 +228,6 @@ namespace FlashTools {
: null;
}
// ---------------------------------------------------------------------
//
// Internal
//
// ---------------------------------------------------------------------
public void InternalLateUpdate() {
if ( _meshFilter && _meshRenderer && _dirtyMesh ) {
var baked_frame = GetCurrentBakedFrame();
if ( baked_frame != null ) {
_meshFilter.sharedMesh = baked_frame.CachedMesh;
_meshRenderer.sharedMaterials = baked_frame.Materials;
} else {
_meshFilter.sharedMesh = null;
_meshRenderer.sharedMaterials = new Material[0];
}
}
}
// ---------------------------------------------------------------------
//
// Messages

View File

@@ -27,7 +27,8 @@ namespace FlashTools {
for ( int i = 0, e = SubMeshes.Length; i < e; ++i ) {
SwfClipAssetCache.FillTriangles(
SubMeshes[i].StartVertex, SubMeshes[i].IndexCount);
SubMeshes[i].StartVertex,
SubMeshes[i].IndexCount);
mesh.SetTriangles(SwfClipAssetCache.Indices, i);
}

View File

@@ -79,6 +79,20 @@ namespace FlashTools {
//
// ---------------------------------------------------------------------
public void GotoAndStop(int frame) {
if ( _clip ) {
_clip.currentFrame = frame;
}
Stop();
}
public void GotoAndPlay(int frame) {
if ( _clip ) {
_clip.currentFrame = frame;
}
Play();
}
public void Stop() {
var is_playing = isPlaying;
_isPlaying = false;