BlubberBuster
Schedule
Teaser
Project
18 months
alpha
3 months
new feature development
beta
12 months
polish existing features
rc
last 3 months
bug squashing/cutting feature
developer Team
Code
AbilitySystem
BaseAbility.cs
(var)
PlayerController.cs
(var)
[RequireComponent(typeof(cHealth))]
BaseAnimController.cs
animController
(setters/getters)
PlayerStatesController
playerStateController
// this instance???
AbilityManager
AbilityManager
InputSource.cs
inputSource
cHealth.cs
DamageService
(func)
(init)
Start(){}
(io)
inputSource = InputHandler.instance;
isInputLocked = false;
playerStateController.SetState(PlayerStates.IsActive, true);
playerStateController.SetState(PlayerStates.IsMoveable, true);
this.transform.localEulerAngles = new Vector3(this.transform.localEulerAngles.x, 90, this.transform.localEulerAngles.z);
// ???
playMakerInput = GetComponent<InputSource>();
(abilities)
AbilityManager.Abilities = GetComponentsInChildren<BaseAbility>();
controller = GetComponent<CharacterController>();
animController = GetComponentInChildren<BaseAnimController>();
(framework)
DamageService = GetComponent<cHealth>();
DamageService.OnHitdDelegate += AbilityManager.HurtAbility.doHit;
DamageService.OnDethDelegate += AbilityManager.DeathAbility.doDead;
OnEnable(){}
DamageService.OnHitdDelegate += AbilityManager.HurtAbility.doHit;
DamageService.OnDethDelegate += AbilityManager.DeathAbility.doDead;
OnDisable(){}
DamageService.OnHitdDelegate += AbilityManager.HurtAbility.doHit;
DamageService.OnDethDelegate += AbilityManager.DeathAbility.doDead;
(loop)
Update (){}
playerStateController.UpdateStates(this);
foreach (BaseAbility ability in AbilityManager.Abilities){...}
if(ability.IsActive){ ... }
ability.DoAbility();
controller.Move(currentMovement);
// Captures intention; actual pillbox position based on collection of abilities ???
animController.UpdateAnimations(this);
(io)
ChangeInputSource(InputSource source){ ... }
LockInput(){ ... }
UnlockInput(){ ... }
bool GetInputValue(InputButton button){ ... }
ToggleInput(string inputName){}
ResetInput(){}
(func)
DoAbility(){}
(extend)
FlamethrowerAbility.cs