skin.dart 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import 'package:flutter/material.dart';
  2. import 'package:image_puzzle/persistence/persistence.dart';
  3. class Skin {
  4. final Color color1;
  5. final Color color2;
  6. final Color color3;
  7. final Color color4;
  8. final Color color5;
  9. final Color colorWhite = Colors.white;
  10. final Color colorBlack = Colors.black;
  11. Color get wholeBgColor => color1; // 整个游戏背景色
  12. Color get coreBgColor => color2; // 核心绘制区域背景颜色
  13. Color get slotBgColor => color3; // 格子槽位背景颜色
  14. Color get slotBorderColor => color4; // 每个格子槽位的边框颜色
  15. final Color outLineBorderColor; // 外边框颜色
  16. final Color innerLineBorderColor; // 内边框颜色
  17. Skin(this.color1, this.color2, this.color3, this.color4, this.color5, this.outLineBorderColor, this.innerLineBorderColor);
  18. }
  19. class SkinHelper {
  20. // 未来可能有多套皮肤方案,在此定义
  21. static List<Skin> skins = [
  22. Skin(
  23. Colors.lightGreen,
  24. Colors.green,
  25. const Color.fromARGB(255, 44, 147, 47),
  26. Color.fromARGB(255, 38, 96, 12),
  27. const Color.fromARGB(255, 8, 66, 9),
  28. Colors.black,
  29. Colors.white,
  30. ),
  31. ];
  32. static Color get color1 => skins[Persistence().skin].color1;
  33. static Color get color2 => skins[Persistence().skin].color2;
  34. static Color get color3 => skins[Persistence().skin].color3;
  35. static Color get color4 => skins[Persistence().skin].color4;
  36. static Color get color5 => skins[Persistence().skin].color5;
  37. static Color get wholeBgColor => skins[Persistence().skin].wholeBgColor;
  38. static Color get coreBgColor => skins[Persistence().skin].coreBgColor;
  39. static Color get slotBgColor => skins[Persistence().skin].slotBgColor;
  40. static Color get slotBorderColor => skins[Persistence().skin].slotBorderColor;
  41. static Color get outLineBorderColor => skins[Persistence().skin].outLineBorderColor;
  42. static Color get innerLineBorderColor => skins[Persistence().skin].innerLineBorderColor;
  43. }