Select Git revision
analysis_options.yaml
activity.dart 10.21 KiB
import 'dart:math';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:jeweled/common/utils/color_theme_utils.dart';
import 'package:jeweled/config/application_config.dart';
import 'package:jeweled/models/activity/board.dart';
import 'package:jeweled/models/activity/cell.dart';
import 'package:jeweled/models/activity/cell_location.dart';
class Activity {
Activity({
// Settings
required this.activitySettings,
// State
this.isRunning = false,
this.isStarted = false,
this.isFinished = false,
this.animationInProgress = false,
// Base data
required this.board,
// Game data
required this.shuffledColors,
this.availableBlocksCount = 0,
this.score = 0,
this.movesCount = 0,
});
// Settings
final ActivitySettings activitySettings;
// State
bool isRunning;
bool isStarted;
bool isFinished;
bool animationInProgress;
// Base data
final Board board;
// Game data
List<int> shuffledColors;
int availableBlocksCount;
int score;
int movesCount;
factory Activity.createEmpty() {
return Activity(
// Settings
activitySettings: ActivitySettings.createDefault(appConfig: ApplicationConfig.config),
// Base data
board: Board.createEmpty(),
// Game data
shuffledColors: shuffleColors(ApplicationConfig.config
.getFromCode(ApplicationConfig.parameterCodeGraphicsTheme)
.defaultValue),
);
}
factory Activity.createNew({
ActivitySettings? activitySettings,
}) {
final ActivitySettings newActivitySettings = activitySettings ??
ActivitySettings.createDefault(appConfig: ApplicationConfig.config);
return Activity(
// Settings