part of 'custom_skin_bloc.dart';

@immutable
sealed class CustomSkinState {}

class CustomSkin extends CustomSkinState {
  final bool isVisible;
  final bool isPlaying;
  final double duration;
  final double currentPosition;

  CustomSkin({required this.isVisible, required this.isPlaying, required this.duration, required this.currentPosition});

  CustomSkin copy({bool? isVisible, bool? isPlaying, double? duration, double? currentPosition}) {
    return CustomSkin(
        isVisible: isVisible ?? this.isVisible,
        isPlaying: isPlaying ?? this.isPlaying,
        duration: duration ?? this.duration,
        currentPosition: currentPosition ?? this.currentPosition
    );
  }

  factory CustomSkin.create() {
    return CustomSkin(
        isVisible: true,
        isPlaying: false,
        duration: 0,
        currentPosition: 0
    );
  }
}