BlubberBuster

m

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