クラスの設計図 - CASru-GAME/TeamGameDevBootcamp GitHub Wiki
クラスの設計図をここに書いてください~
書き方は Mermaid記法について
TODO : Levelクラス作成
classDiagram
namespace CharacterParameterData{
class HealthPoint
class MagicPoint
class AttackPoint
class MagicAttackPoint
class DefensePoint
class MagicDefensePoint
class ExperiencePoint
}
CharacterParameter -- HealthPoint
CharacterParameter -- MagicPoint
CharacterParameter -- AttackPoint
CharacterParameter -- MagicAttackPoint
CharacterParameter -- DefensePoint
CharacterParameter -- MagicDefensePoint
CharacterParameter -- ExperiencePoint
CharacterParameter : +string Name
CharacterParameter : +HealthPoint Hp
CharacterParameter : +MagicPoint Mp
CharacterParameter : +AttackPoint Atk
CharacterParameter : +MagicAttackPoint Mat
CharacterParameter : +DefensePoint Def
CharacterParameter : +MagicDefensePoint Mde
CharacterParameter : +MagicDefensePoint Exp
classDiagram
class HealthPoint{
-int _currentValue
+int CurrentValue => _currentValue
-int _maxValue
+int MaxValue => _maxValue
-HealthPoint(int currentValue, int maxValue)
+HealthPoint(int maxValue) : HealthPoint(maxValue, maxValue)
+AddCurrentValue(HealthPoint value)
+AddMaxValue(HealthPoint value)
+SubtractCurrentValue(HealthPoint value)
+Dump(string message)
}
class MagicPoint{
-int _currentValue
+int CurrentValue => _currentValue
-int _maxValue
+int MaxValue => _maxValue
-MagicPoint(int currentValue, int maxValue)
+MagicPoint(int maxValue) : MagicPoint(maxValue, maxValue)
+AddCurrentValue(MagicPoint value)
+AddMaxValue(MagicPoint value)
+SubtractCurrentValue(MagicPoint value)
+Dump(string message)
}
classDiagram
class AttackPoint{
-int _currentValue
+int CurrentValue => _currentValue
+AttackPoint(int value)
+AddCurrentValue(AttackPoint value)
+SubtractCurrentValue(AttackPoint value)
+Dump(string message)
}
class MagicAttackPoint{
-int _currentValue
+int CurrentValue => _currentValue
+MagicAttackPoint(int value)
+AddCurrentValue(MagicAttackPoint value)
+SubtractCurrentValue(MagicAttackPoint value)
+Dump(string message)
}
classDiagram
class DefensePoint{
-int _currentValue
+int CurrentValue => _currentValue
+DefensePoint(int value)
+AddCurrentValue(DefensePoint value)
+SubtractCurrentValue(DefensePoint value)
+Dump(string message)
}
class MagicDefensePoint{
-int _currentValue
+int CurrentValue => _currentValue
+MagicDefensePoint(int value)
+AddCurrentValue(MagicDefensePoint value)
+SubtractCurrentValue(MagicDefensePoint value)
+Dump(string message)
}
classDiagram
class ExperiencePoint{
-int _currentValue
+int CurrentValue => _currentValue
-int _maxValue
+int MaxValue => _maxValue
+ExperiencePoint(int currentValue, int maxValue)
+ExperiencePoint(int maxValue) : ExperiencePoint(maxValue, maxValue)
+AddCurrentValue(ExperiencePoint value)
+AddMaxValue(ExperiencePoint value)
+Dump(string message)
}
classDiagram
class BattleLifetimeScope{
<<DIコンテナ>>
}
class BattleEnemyDatastore{
-Dictionary~string, Enemy~ _enemyIds
+IEnumerable~string~ Enemies => _enemies.Values.ToArray
+void AddEnemy(string, CharacterParameter)
+void RemoveEnemy(string)
+Enemy GetEnemyBy(string)
}
class IBattleEnemyDatastore{
<<Interface>>
IEnumerable~Enemy~ Enemies
void AddEnemy(string, CharacterParameter)
void RemoveEnemy(string)
Enemy GetEnemyBy(string)
}
class IBattleEnemyGeneratePresenter{
<<Interface>>
void GenerateEnemy()
}
class IBattleEnemyGenerateUseCase{
<<Interface>>
void GenerateEnemy()
}
class BattleEnemyGeneratePresenter{
-IBattleEnemyDatastore _BattleEnemyDatastore
+void GenerateEnemy()
}
class BattleEnemyGenerateUseCase{
-IBattleEnemyDatastore _BattleEnemyDatastore
+void GenerateEnemy()
}
class BattleDebugLifetimeScope{
<<DIコンテナ>>
}
class IBattleDebugEnemyPresenter{
<<Interface>>
IObservable~Unit~ OnGenerateEnemy
}
class BattleDebugEnemyGeneratePresenter{
-Button _generateEnemyButton
-Subject~Unit~ _onGenerateEnemy
+IObservable~Unit~ OnGenerateEnemy => _onGenerateEnemy
+void Initialize()
}
class BattleDebugEnemyUseCase{
-IBattleDebugEnemyPresenter _battleDebugEnemyPresenter
-IBattleEnemyGenerateUseCase _battleEnemyGenerateUseCase
+void Initialize()
}
BattleLifetimeScope<--IBattleEnemyDatastore : Register
BattleLifetimeScope<--BattleEnemyGenerateUseCase : RegisterEntryPoint
IBattleEnemyDatastore<|--BattleEnemyDatastore : 継承
BattleEnemyGeneratePresenter<--BattleLifetimeScope : Inject
BattleEnemyGenerateUseCase<--BattleLifetimeScope : Inject
IBattleEnemyGeneratePresenter<|--BattleEnemyGeneratePresenter : 継承
IBattleEnemyGenerateUseCase<|--BattleEnemyGenerateUseCase : 継承
BattleDebugEnemyUseCase<--BattleDebugLifetimeScope : Inject
BattleDebugEnemyUseCase<--BattleLifetimeScope : Inject
IBattleDebugEnemyPresenter<|--BattleDebugEnemyGeneratePresenter : 継承
BattleDebugLifetimeScope<--BattleDebugEnemyUseCase : RegisterEntryPoint
BattleDebugLifetimeScope<--IBattleDebugEnemyPresenter : RegisterComponent