Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-----------------------------------------------------------------------------
- /**
- * The Core class who handle all the panic meter in the game.
- *
- * @class Panic
- * @nameSpace Enigma
- */
- namespace Enigma {
- export class Panic {
- // attr_accessor : fear
- public get fear() : number { return this._fearPoint; }
- public set fear(v : number) { this._fearPoint = v; }
- // attr_accessor : fearMax
- public get fearMax() : number { return this._maxFearPoint; }
- public set fearMax(v : number) { this._maxFearPoint = v; }
- // attr_reader : fearStates
- public get fearStates() : Array<number> { return this._fearStates; }
- private _fearPoint : number;
- private _maxFearPoint : number;
- private _fearEnabled : boolean;
- private _fearStates : Array<number>;
- private _fearDelay : number;
- private _isInPanic : boolean;
- constructor() {
- this.initMembers();
- }
- private initMembers(){
- this._fearPoint = 0;
- this._maxFearPoint = 1000;
- this._fearEnabled = false;
- this._fearStates = [2, 3, 4, 5];
- this._fearDelay = 0;
- this._isInPanic = false;
- }
- public resetFear(){
- this._fearPoint = 0;
- }
- public maxFear(){
- this._fearPoint = this._maxFearPoint;
- }
- public setFear(value : number){
- this._fearPoint = value;
- }
- public addFear(value : number){
- if(this._fearDelay !== 0){
- this._fearPoint += 0;
- } else {
- this._fearPoint += value;
- }
- }
- public removeFear(value : number){
- this._fearPoint -= value;
- }
- public progressiveFearIncreasing(){
- this._fearPoint++;
- }
- public progressiveFearDecreasing(){
- this._fearPoint--;
- }
- public enableFear(bool : boolean){
- this._fearEnabled = bool;
- }
- public setFearDelay(value : number){
- this._fearDelay = value;
- }
- public decreaseFearDelayProgressively(){
- this._fearDelay--;
- }
- public isInPanic(){
- return this._isInPanic;
- }
- public setPanic(bool : boolean){
- this._isInPanic = bool;
- }
- } // end class Panic
- } // end NameSpace Enigma
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement