diff --git a/Sources/bowlin_project/lib/model/Achievement.dart b/Sources/bowlin_project/lib/model/Achievement.dart index f4c1236..cfa8ffc 100644 --- a/Sources/bowlin_project/lib/model/Achievement.dart +++ b/Sources/bowlin_project/lib/model/Achievement.dart @@ -1,13 +1,13 @@ class Achievement { - String _name; - + + // Constructor Achievement(this._name); + // Getters and setters String get name => _name; set name(String value) { _name = value; } - } diff --git a/Sources/bowlin_project/lib/model/Game.dart b/Sources/bowlin_project/lib/model/Game.dart index e7a140a..bf0065b 100644 --- a/Sources/bowlin_project/lib/model/Game.dart +++ b/Sources/bowlin_project/lib/model/Game.dart @@ -1,22 +1,19 @@ -import 'dart:ffi'; - import 'package:uuid/uuid.dart'; -import 'package:uuid/uuid_util.dart'; class Game { - Uuid _id; DateTime _time; int _pointsCurrentUser; bool _isFinished; - List _playerImages = []; + List _playerImages = []; - - Game(this._id, this._time, this._players, this._winner); + // Constructor + Game(this._id, this._time, this._pointsCurrentUser, this._isFinished, this._playerImages); - get id => _id; + // Getters and setters + Uuid get id => _id; - set id(value) { + set id(Uuid value) { _id = value; } @@ -43,5 +40,4 @@ class Game { set playerImages(List value) { _playerImages = value; } - } diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart new file mode 100644 index 0000000..2f8f20c --- /dev/null +++ b/Sources/bowlin_project/lib/model/GameDetail.dart @@ -0,0 +1,82 @@ +import 'package:uuid/uuid.dart'; +import 'Player.dart'; +import 'Round.dart'; + +class GameDetail { + Uuid _id; + DateTime _time; + Uuid _winner; + int _nbPoints; + bool _isFinished; + Round _currentRound; + Player _host; + List _rounds = []; + List _players = []; + + // Constructor + GameDetail( + this._id, + this._time, + this._winner, + this._nbPoints, + this._isFinished, + this._currentRound, + this._host, + this._rounds, + this._players); + + // Getters and setters + Uuid get id => _id; + + set id(Uuid value) { + _id = value; + } + + DateTime get time => _time; + + set time(DateTime value) { + _time = value; + } + + Uuid get winner => _winner; + + set winner(Uuid value) { + _winner = value; + } + + int get nbPoints => _nbPoints; + + set nbPoints(int value) { + _nbPoints = value; + } + + bool get isFinished => _isFinished; + + set isFinished(bool value) { + _isFinished = value; + } + + Round get currentRound => _currentRound; + + set currentRound(Round value) { + _currentRound = value; + } + + Player get host => _host; + + set host(Player value) { + _host = value; + } + + List get rounds => _rounds; + + set rounds(List value) { + _rounds = value; + } + + List get players => _players; + + set players(List value) { + _players = value; + } +} diff --git a/Sources/bowlin_project/lib/model/Guest.dart b/Sources/bowlin_project/lib/model/Guest.dart index 7417987..a531185 100644 --- a/Sources/bowlin_project/lib/model/Guest.dart +++ b/Sources/bowlin_project/lib/model/Guest.dart @@ -1,9 +1,7 @@ import 'package:uuid/uuid.dart'; import 'package:uuid/uuid_util.dart'; -import 'Achievement.dart'; - -class User { - - User(Uuid id, String image, String name): super(id, image, name); +class Guest extends Player { + // Constructor + Guest(Uuid id, String image, String name) : super(id, image, name); } diff --git a/Sources/bowlin_project/lib/model/IAuthManager.dart b/Sources/bowlin_project/lib/model/IAuthManager.dart new file mode 100644 index 0000000..65a9aac --- /dev/null +++ b/Sources/bowlin_project/lib/model/IAuthManager.dart @@ -0,0 +1,5 @@ +abstract class IAuthManager { + + // Methods + bool verifiedUser(); +} diff --git a/Sources/bowlin_project/lib/model/IGameManager.dart b/Sources/bowlin_project/lib/model/IGameManager.dart new file mode 100644 index 0000000..2254d75 --- /dev/null +++ b/Sources/bowlin_project/lib/model/IGameManager.dart @@ -0,0 +1,12 @@ +import 'package:uuid/uuid.dart'; +import 'package:uuid/uuid_util.dart'; +import 'GameDetail.dart'; +import 'Player.dart'; + +abstract class IGameManager { + // Methods + GameDetail getGameById(Uuid id); + List getGamesByPlayerId(Uuid id); + List getGamesByPlayer(Player user); + List getGamesByPlayers(List users); +} diff --git a/Sources/bowlin_project/lib/model/IManager.dart b/Sources/bowlin_project/lib/model/IManager.dart index 715f244..b1d85d0 100644 --- a/Sources/bowlin_project/lib/model/IManager.dart +++ b/Sources/bowlin_project/lib/model/IManager.dart @@ -1,30 +1,18 @@ -import 'package:bowl_in/model/Game.dart'; - import 'User.dart'; +import 'Game.dart'; abstract class IManager { - User _userCurrent; - - User get userCurrent => _userCurrent; - - set userCurrent(User value) { - _userCurrent = value; - } - + late User _userCurrent; late Game _gameCurrent; - List _games; + IUserManager _userMgr; + IGameManager _gameMgr; + // Constructor + IManager(this._userCurrent, this._gameCurrent); + + // Getters and setters + User get userCurrent => _userCurrent; Game get gameCurrent => _gameCurrent; - - set gameCurrent(Game value) { - _gameCurrent = value; - } - - List get games => _games; - - set games(List value) { - _games = value; - } - - IManager(this._userCurrent, this._gameCurrent, this._games); + IUserManager get userMgr => _userMgr; + IGameManager get gameMgr => _gameMgr; } diff --git a/Sources/bowlin_project/lib/model/IUserManager.dart b/Sources/bowlin_project/lib/model/IUserManager.dart new file mode 100644 index 0000000..7239dd6 --- /dev/null +++ b/Sources/bowlin_project/lib/model/IUserManager.dart @@ -0,0 +1,12 @@ +import 'package:uuid/uuid.dart'; +import 'package:uuid/uuid_util.dart'; +import 'User.dart'; + +abstract class IUserManager { + IAuthManager _authMgr; + + // Methods + IAuthManager get authMgr => _authMgr; + List getUsersByName(String name); + User getUserById(Uuid id); +} diff --git a/Sources/bowlin_project/lib/model/Player.dart b/Sources/bowlin_project/lib/model/Player.dart index e59f165..dc4a169 100644 --- a/Sources/bowlin_project/lib/model/Player.dart +++ b/Sources/bowlin_project/lib/model/Player.dart @@ -1,16 +1,16 @@ import 'package:uuid/uuid.dart'; import 'package:uuid/uuid_util.dart'; -import 'Achievement.dart'; class Player { - final Uuid _id; String _image; String _name; - User(this._id, this._image, this._name); + // Constructor + Player(this._id, this._image, this._name); - get id => _id; + // Getters and setters + Uuid get id => _id; String get name => _name; @@ -23,5 +23,4 @@ class Player { set image(String value) { _image = value; } - } diff --git a/Sources/bowlin_project/lib/model/Round.dart b/Sources/bowlin_project/lib/model/Round.dart index 829ec71..f74d9a3 100644 --- a/Sources/bowlin_project/lib/model/Round.dart +++ b/Sources/bowlin_project/lib/model/Round.dart @@ -1,11 +1,36 @@ +import 'Player.dart'; + class Round { - int _nbPoints; + int _firstThrow; + int _secondThrow; + int _points; + Player _player; + + // Constructor + Round(this._firstThrow, this._secondThrow, this._points, this._player); + + // Getters and setters + int get firstThrow => _firstThrow; + + set firstThrow(int value) { + _firstThrow = value; + } - int get nbPoints => _nbPoints; + int get secondThrow => _secondThrow; - set nbPoints(int value) { - _nbPoints = value; + set secondThrow(int value) { + _secondThrow = value; } - Round(this._nbPoints); + int get points => _points; + + set points(int value) { + _points = value; + } + + Player get player => _player; + + set player(Player value) { + _player = value; + } } diff --git a/Sources/bowlin_project/lib/model/Stat.dart b/Sources/bowlin_project/lib/model/Stat.dart index 5e8117f..a6d47cb 100644 --- a/Sources/bowlin_project/lib/model/Stat.dart +++ b/Sources/bowlin_project/lib/model/Stat.dart @@ -1,5 +1,4 @@ class Stat { - int _nbVictory; int _nbDefeat; int _nbGames; @@ -10,9 +9,20 @@ class Stat { int _avgScore; double _avgPinsPerRound; - Round(this._nbVictory,this._nbDefeat,this._nbGames,this._highscore,this._nbStrikes,this._nbSpares,this._avgScore,this._avgPinsPerRound); - - + // Constructor + Stat( + this._nbVictory, + this._nbDefeat, + this._nbGames, + this._highscore, + this._nbStrikes, + this._nbSpares, + this._nbScore, + this._avgScore, + this._avgPinsPerRound, + ); + + // Getters and setters int get nbVictory => _nbVictory; set nbVictory(int value) { @@ -66,5 +76,4 @@ class Stat { set avgPinsPerRound(double value) { _avgPinsPerRound = value; } - } diff --git a/Sources/bowlin_project/lib/model/User.dart b/Sources/bowlin_project/lib/model/User.dart index d55fe0e..a35d57b 100644 --- a/Sources/bowlin_project/lib/model/User.dart +++ b/Sources/bowlin_project/lib/model/User.dart @@ -1,15 +1,20 @@ import 'package:uuid/uuid.dart'; import 'package:uuid/uuid_util.dart'; import 'Achievement.dart'; +import 'Animal.dart'; +import 'Stat.dart'; -class User { - +class User extends Animal { String _mail; List _stats = []; + List _friends = []; List _achievements = []; - User(Uuid id, String image, String name, this._achievements, this._stats ): super(id, image, name); + // Constructor + User(Uuid id, String image, String name, this._achievements, this._friends, this._stats) + : super(id, image, name); + // Getters and setters String get mail => _mail; set mail(String value) { @@ -22,10 +27,15 @@ class User { _achievements = value; } + List get friends => _friends; + + set friends(List value) { + _friends = value; + } + List get stats => _stats; set stats(List value) { _stats = value; } - }