mirror of
https://github.com/rive-app/rive-flutter.git
synced 2025-06-23 15:29:20 +08:00
Cleanup and running core_generator.
This commit is contained in:
20
lib/src/asset_list.dart
Normal file
20
lib/src/asset_list.dart
Normal file
@ -0,0 +1,20 @@
|
||||
import 'dart:collection';
|
||||
import 'package:rive/src/rive_core/asset.dart';
|
||||
|
||||
// List of assets used by the backboard.
|
||||
class AssetList extends ListBase<Asset> {
|
||||
final List<Asset?> _values = [];
|
||||
List<Asset> get values => _values.cast<Asset>();
|
||||
|
||||
@override
|
||||
int get length => _values.length;
|
||||
|
||||
@override
|
||||
set length(int value) => _values.length = value;
|
||||
|
||||
@override
|
||||
Asset operator [](int index) => _values[index]!;
|
||||
|
||||
@override
|
||||
void operator []=(int index, Asset value) => _values[index] = value;
|
||||
}
|
@ -4,6 +4,7 @@ import 'package:flutter/foundation.dart';
|
||||
import 'package:rive/src/rive_core/runtime/exceptions/rive_format_error_exception.dart';
|
||||
|
||||
export 'package:rive/src/animation_list.dart';
|
||||
export 'package:rive/src/asset_list.dart';
|
||||
export 'package:rive/src/blend_animations.dart';
|
||||
export 'package:rive/src/container_children.dart';
|
||||
export 'package:rive/src/core/importers/artboard_importer.dart';
|
||||
|
12
lib/src/generated/asset_base.dart
Normal file
12
lib/src/generated/asset_base.dart
Normal file
@ -0,0 +1,12 @@
|
||||
/// Core automatically generated lib/src/generated/asset_base.dart.
|
||||
/// Do not modify manually.
|
||||
|
||||
import 'package:rive/src/core/core.dart';
|
||||
|
||||
abstract class AssetBase<T extends CoreContext> extends Core<T> {
|
||||
static const int typeKey = 99;
|
||||
@override
|
||||
int get coreType => AssetBase.typeKey;
|
||||
@override
|
||||
Set<int> get coreTypes => {AssetBase.typeKey};
|
||||
}
|
@ -42,6 +42,7 @@ import 'package:rive/src/generated/animation/transition_number_condition_base.da
|
||||
import 'package:rive/src/generated/animation/transition_trigger_condition_base.dart';
|
||||
import 'package:rive/src/generated/animation/transition_value_condition_base.dart';
|
||||
import 'package:rive/src/generated/artboard_base.dart';
|
||||
import 'package:rive/src/generated/asset_base.dart';
|
||||
import 'package:rive/src/generated/backboard_base.dart';
|
||||
import 'package:rive/src/generated/bones/bone_base.dart';
|
||||
import 'package:rive/src/generated/bones/cubic_weight_base.dart';
|
||||
@ -123,6 +124,7 @@ import 'package:rive/src/rive_core/animation/transition_bool_condition.dart';
|
||||
import 'package:rive/src/rive_core/animation/transition_number_condition.dart';
|
||||
import 'package:rive/src/rive_core/animation/transition_trigger_condition.dart';
|
||||
import 'package:rive/src/rive_core/artboard.dart';
|
||||
import 'package:rive/src/rive_core/asset.dart';
|
||||
import 'package:rive/src/rive_core/backboard.dart';
|
||||
import 'package:rive/src/rive_core/bones/bone.dart';
|
||||
import 'package:rive/src/rive_core/bones/cubic_weight.dart';
|
||||
@ -298,6 +300,8 @@ class RiveCoreContext {
|
||||
return Skin();
|
||||
case TendonBase.typeKey:
|
||||
return Tendon();
|
||||
case AssetBase.typeKey:
|
||||
return Asset();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
25
lib/src/rive_core/asset.dart
Normal file
25
lib/src/rive_core/asset.dart
Normal file
@ -0,0 +1,25 @@
|
||||
import 'package:rive/src/core/core.dart';
|
||||
import 'package:rive/src/generated/asset_base.dart';
|
||||
import 'package:rive/src/rive_core/backboard.dart';
|
||||
|
||||
class Asset extends AssetBase {
|
||||
Backboard? _backboard;
|
||||
Backboard? get backboard => _backboard;
|
||||
set backboard(Backboard? value) {
|
||||
if (_backboard == value) {
|
||||
return;
|
||||
}
|
||||
_backboard = value;
|
||||
}
|
||||
|
||||
@override
|
||||
void onAdded() {}
|
||||
|
||||
@override
|
||||
void onAddedDirty() {}
|
||||
|
||||
@override
|
||||
bool import(ImportStack stack) {
|
||||
return super.import(stack);
|
||||
}
|
||||
}
|
@ -1,9 +1,30 @@
|
||||
import 'package:rive/src/core/core.dart';
|
||||
import 'package:rive/src/generated/backboard_base.dart';
|
||||
import 'package:rive/src/rive_core/asset.dart';
|
||||
|
||||
export 'package:rive/src/generated/backboard_base.dart';
|
||||
|
||||
class Backboard extends BackboardBase {
|
||||
static final Backboard unknown = Backboard();
|
||||
|
||||
final AssetList _assets = AssetList();
|
||||
AssetList get assets => _assets;
|
||||
|
||||
bool internalAddAsset(Asset asset) {
|
||||
if (_assets.contains(asset)) {
|
||||
return false;
|
||||
}
|
||||
_assets.add(asset);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool internalRemoveAsset(Asset asset) {
|
||||
bool removed = _assets.remove(asset);
|
||||
|
||||
return removed;
|
||||
}
|
||||
|
||||
@override
|
||||
void onAdded() {}
|
||||
|
||||
|
@ -16,18 +16,6 @@ abstract class NestedAnimation<T extends Animation>
|
||||
bool get isEnabled;
|
||||
void advance(double elapsedSeconds, MountedArtboard mountedArtboard);
|
||||
|
||||
// @override
|
||||
// bool import(ImportStack stack) {
|
||||
// var backboardImporter =
|
||||
// stack.latest<BackboardImporter>(BackboardBase.typeKey);
|
||||
// if (backboardImporter == null) {
|
||||
// return false;
|
||||
// }
|
||||
// backboardImporter.addNestedArtboard(this);
|
||||
|
||||
// return super.import(stack);
|
||||
// }
|
||||
|
||||
@override
|
||||
void update(int dirt) {}
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ abstract class MountedArtboard {
|
||||
AABB get bounds;
|
||||
double get renderOpacity;
|
||||
set renderOpacity(double value);
|
||||
void advance(double seconds);
|
||||
}
|
||||
|
||||
class NestedArtboard extends NestedArtboardBase {
|
||||
@ -83,6 +84,7 @@ class NestedArtboard extends NestedArtboardBase {
|
||||
animation.advance(elapsedSeconds, mountedArtboard!);
|
||||
}
|
||||
}
|
||||
mountedArtboard!.advance(elapsedSeconds);
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -220,7 +220,6 @@ class StateMachineController extends RiveAnimationController<CoreContext> {
|
||||
void _onStateChange(LayerState layerState) =>
|
||||
SchedulerBinding.instance?.addPostFrameCallback((_) {
|
||||
String stateName = 'unknown';
|
||||
print('Layer state type ${layerState.runtimeType}');
|
||||
if (layerState is AnimationState && layerState.animation != null) {
|
||||
stateName = layerState.animation!.name;
|
||||
} else if (layerState is EntryState) {
|
||||
|
@ -116,4 +116,8 @@ class RuntimeMountedArtboard extends MountedArtboard {
|
||||
set renderOpacity(double value) {
|
||||
artboardInstance.opacity = value;
|
||||
}
|
||||
|
||||
@override
|
||||
void advance(double seconds) =>
|
||||
artboardInstance.advance(seconds, nested: true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user