// Constructor - Assume that Boss and Player are at Starting Positions. public BlackBoard() { // Transforms BossTransform = null; PlyrTransform = null; // Health PlyrHP = 1.0f; BossHP = 1.0f; //Current Active Specialist ActSpec = ActionSpecialists.AttackSpec; PasSpec = PassiveSpecialists.DistanceSpec; //Boss Variables BossBhvr = BossBehavior.Agressive; // Distance Variables CurBossLoc = BossLocation.RightSide; PlyrLoc = PlayerLocation.LeftFromBoss; DestBossLoc = BossLocation.RightSide; PlyrDist = PlayerDistance.Far; isMovingToOtherSide = false; isAtSafeDistance = false; isPlyrLinedUp = false; // Projectile Variables AreBulletsNear = false; NumberBulletsNear = 0; }
// Implement the Selection process for the Passive Specialist void SelectPassiveSpec() { switch (CurPasSpec) { case PassiveSpecialists.BehaviorSpec: CurPasSpec = PassiveSpecialists.DistanceSpec; break; case PassiveSpecialists.DistanceSpec: CurPasSpec = PassiveSpecialists.BulletSpec; break; case PassiveSpecialists.BulletSpec: CurPasSpec = PassiveSpecialists.BehaviorSpec; break; default: CurPasSpec = PassiveSpecialists.DistanceSpec; break; } // Update Passive Specialist to BlackBoard BlkBrdMngr.WriteBlckBrd.PasSpec = CurPasSpec; }