mirror of
https://github.com/BlackMATov/unity-flash-tools.git
synced 2025-12-16 14:11:19 +07:00
GotoAndStop, GotoAndPlay
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user