示例#1
0
 public ProjectileManager(ProceduralLevelScreen level, int poolSize)
 {
     m_projectilesToRemoveList = new List <ProjectileObj>();
     m_levelScreen             = level;
     m_projectilePool          = new DS2DPool <ProjectileObj>();
     m_poolSize = poolSize;
 }
示例#2
0
 public EnemyObj_BouncySpike(PlayerObj target, PhysicsManager physicsManager,
                             ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyBouncySpike_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type        = 3;
     NonKillable = true;
 }
示例#3
0
 public EnemyObj_BallAndChain(PlayerObj target, PhysicsManager physicsManager,
                              ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyFlailKnight_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     BallAndChain                     = new ProjectileObj("EnemyFlailKnightBall_Sprite");
     BallAndChain.IsWeighted          = false;
     BallAndChain.CollidesWithTerrain = false;
     BallAndChain.IgnoreBoundsCheck   = true;
     BallAndChain.OutlineWidth        = 2;
     BallAndChain2                    = (BallAndChain.Clone() as ProjectileObj);
     m_chain           = new SpriteObj("EnemyFlailKnightLink_Sprite");
     m_chainLinksList  = new List <Vector2>();
     m_chainLinks2List = new List <Vector2>();
     for (var i = 0; i < m_numChainLinks; i++)
     {
         m_chainLinksList.Add(default(Vector2));
     }
     for (var j = 0; j < m_numChainLinks / 2; j++)
     {
         m_chainLinks2List.Add(default(Vector2));
     }
     Type         = 1;
     TintablePart = _objectList[3];
     m_walkSound  = new FrameSoundObj(this, m_target, 1, "KnightWalk1", "KnightWalk2");
     m_walkSound2 = new FrameSoundObj(this, m_target, 6, "KnightWalk1", "KnightWalk2");
 }
示例#4
0
 public EnemyObj_SkeletonArcher(PlayerObj target, PhysicsManager physicsManager,
                                ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemySkeletonArcherIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type         = 25;
     TintablePart = _objectList[0];
 }
示例#5
0
 public EnemyObj_Fireball(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                          GameTypes.EnemyDifficulty difficulty)
     : base("EnemyGhostIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type         = 8;
     TintablePart = _objectList[0];
 }
示例#6
0
 public EnemyObj_Wall(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                      GameTypes.EnemyDifficulty difficulty)
     : base("EnemyGhostIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     CollisionTypeTag = 4;
     Type             = 18;
 }
示例#7
0
 public EnemyObj_Horse(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                       GameTypes.EnemyDifficulty difficulty)
     : base("EnemyHorseRun_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type             = 10;
     m_fireShieldList = new List <ProjectileObj>();
 }
示例#8
0
 public void AttachMap(ProceduralLevelScreen level)
 {
     if (m_mapScreen != null)
     {
         m_mapScreen.Dispose();
     }
     m_mapScreen = new MapScreen(level);
 }
示例#9
0
 public EnemyObj_SwordKnight(PlayerObj target, PhysicsManager physicsManager,
                             ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemySwordKnightIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type         = 16;
     m_walkSound  = new FrameSoundObj(this, m_target, 1, "KnightWalk1", "KnightWalk2");
     m_walkSound2 = new FrameSoundObj(this, m_target, 6, "KnightWalk1", "KnightWalk2");
 }
示例#10
0
 public EnemyObj_Wolf(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                      GameTypes.EnemyDifficulty difficulty)
     : base("EnemyWargIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type = 19;
     m_startDelayCounter = m_startDelay;
     m_runFrameSound     = new FrameSoundObj(this, 1, "Wolf_Move01", "Wolf_Move02", "Wolf_Move03");
 }
示例#11
0
 public override void Dispose()
 {
     if (!IsDisposed)
     {
         m_levelScreen = null;
         base.Dispose();
     }
 }
示例#12
0
 public EnemyObj_FireWizard(PlayerObj target, PhysicsManager physicsManager,
                            ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyWizardIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type = 9;
     PlayAnimation();
     TintablePart = _objectList[0];
 }
示例#13
0
 public EnemyObj_Mimic(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                       GameTypes.EnemyDifficulty difficulty)
     : base("EnemyMimicIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type         = 33;
     OutlineWidth = 0;
     m_closeSound = new FrameSoundObj(this, m_target, 1, "Chest_Snap");
 }
示例#14
0
 public EnemyObj_Fairy(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                       GameTypes.EnemyDifficulty difficulty)
     : base("EnemyFairyGhostIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     PlayAnimation();
     MainFairy    = true;
     TintablePart = _objectList[0];
     Type         = 7;
 }
示例#15
0
 public EnemyObj_SpikeTrap(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                           GameTypes.EnemyDifficulty difficulty)
     : base("EnemySpikeTrap_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type = 21;
     StopAnimation();
     PlayAnimationOnRestart = false;
     NonKillable            = true;
 }
示例#16
0
 public EnemyObj_Knight(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                        GameTypes.EnemyDifficulty difficulty)
     : base("EnemySpearKnightIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     TintablePart = _objectList[1];
     Type         = 12;
     m_walkSound  = new FrameSoundObj(this, m_target, 1, "KnightWalk1", "KnightWalk2");
     m_walkSound2 = new FrameSoundObj(this, m_target, 6, "KnightWalk1", "KnightWalk2");
 }
示例#17
0
 public override void Dispose()
 {
     if (!IsDisposed)
     {
         m_player = null;
         m_level  = null;
         if (m_alphaMaskRT != null && !m_alphaMaskRT.IsDisposed)
         {
             m_alphaMaskRT.Dispose();
         }
         m_alphaMaskRT = null;
         if (m_mapScreenRT != null && !m_mapScreenRT.IsDisposed)
         {
             m_mapScreenRT.Dispose();
         }
         m_mapScreenRT = null;
         foreach (var current in m_roomSpriteList)
         {
             current.Dispose();
         }
         m_roomSpriteList.Clear();
         m_roomSpriteList = null;
         foreach (var current2 in m_doorSpriteList)
         {
             current2.Dispose();
         }
         m_doorSpriteList.Clear();
         m_doorSpriteList = null;
         foreach (var current3 in m_iconSpriteList)
         {
             current3.Dispose();
         }
         m_iconSpriteList.Clear();
         m_iconSpriteList = null;
         AddedRoomsList.Clear();
         AddedRoomsList = null;
         m_roomSpritePosList.Clear();
         m_roomSpritePosList = null;
         m_doorSpritePosList.Clear();
         m_doorSpritePosList = null;
         m_iconSpritePosList.Clear();
         m_iconSpritePosList = null;
         m_playerSprite.Dispose();
         m_playerSprite = null;
         foreach (var current4 in m_teleporterList)
         {
             current4.Dispose();
         }
         m_teleporterList.Clear();
         m_teleporterList = null;
         m_teleporterPosList.Clear();
         m_teleporterPosList = null;
         m_xOffsetTween      = null;
         m_yOffsetTween      = null;
         base.Dispose();
     }
 }
示例#18
0
 public EnemyObj_HomingTurret(PlayerObj target, PhysicsManager physicsManager,
                              ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyHomingTurret_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     StopAnimation();
     ForceDraw = true;
     Type      = 28;
     PlayAnimationOnRestart = false;
 }
示例#19
0
 public EnemyObj_Eyeball(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                         GameTypes.EnemyDifficulty difficulty)
     : base("EnemyEyeballIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     m_pupil = new SpriteObj("EnemyEyeballPupil_Sprite");
     AddChild(m_pupil);
     m_squishSound = new FrameSoundObj(this, m_target, 2, "Eyeball_Prefire");
     Type          = 6;
     DisableCollisionBoxRotations = false;
 }
示例#20
0
 public MapScreen(ProceduralLevelScreen level)
 {
     m_mapDisplay = new MapObj(false, level);
     m_alzheimersQuestionMarks           = new TextObj(Game.JunicodeLargeFont);
     m_alzheimersQuestionMarks.FontSize  = 30f;
     m_alzheimersQuestionMarks.ForceDraw = true;
     m_alzheimersQuestionMarks.Text      = "?????";
     m_alzheimersQuestionMarks.Align     = Types.TextAlign.Centre;
     m_alzheimersQuestionMarks.Position  = new Vector2(660f, 360f - m_alzheimersQuestionMarks.Height / 2f);
 }
示例#21
0
 public EnemyObj_Blob(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                      GameTypes.EnemyDifficulty difficulty)
     : base("EnemyBlobIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     MainBlob     = true;
     TintablePart = _objectList[0];
     PlayAnimation();
     m_invincibleCounter = 0.5f;
     Type = 2;
 }
示例#22
0
 public EnemyObj_Zombie(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                        GameTypes.EnemyDifficulty difficulty)
     : base("EnemyZombieLower_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     GoToFrame(TotalFrames);
     Lowered   = true;
     ForceDraw = true;
     StopAnimation();
     Type = 20;
     PlayAnimationOnRestart = false;
 }
示例#23
0
 public EnemyObj_Turret(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                        GameTypes.EnemyDifficulty difficulty)
     : base("EnemyTurretFire_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     IsCollidable = false;
     ForceDraw    = true;
     Type         = 17;
     StopAnimation();
     PlayAnimationOnRestart = false;
     NonKillable            = true;
 }
示例#24
0
        public EnemyObj_Portrait(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                                 GameTypes.EnemyDifficulty difficulty)
            : base("EnemyPortrait_Character", target, physicsManager, levelToAttachTo, difficulty)
        {
            Type = 32;
            var spriteName = "FramePicture" + CDGMath.RandomInt(1, 16) + "_Sprite";

            GetChildAt(0).ChangeSprite(spriteName);
            GetChildAt(0);
            DisableCollisionBoxRotations = false;
        }
示例#25
0
 public void Dispose()
 {
     if (!IsDisposed)
     {
         Console.WriteLine("Disposing Projectile Manager");
         m_levelScreen = null;
         m_projectilePool.Dispose();
         m_projectilePool = null;
         m_projectilesToRemoveList.Clear();
         m_projectilesToRemoveList = null;
         IsDisposed = true;
     }
 }
示例#26
0
 public EnemyObj_Ninja(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                       GameTypes.EnemyDifficulty difficulty)
     : base("EnemyNinjaIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type    = 13;
     m_smoke = new SpriteObj("NinjaSmoke_Sprite");
     m_smoke.AnimationDelay = 0.05f;
     m_log              = new SpriteObj("Log_Sprite");
     m_smoke.Visible    = false;
     m_smoke.Scale      = new Vector2(5f, 5f);
     m_log.Visible      = false;
     m_log.OutlineWidth = 2;
 }
示例#27
0
 public EnemyObj_Platform(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                          GameTypes.EnemyDifficulty difficulty)
     : base("EnemyPlatform_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     CollisionTypeTag = 1;
     Type             = 27;
     CollidesBottom   = false;
     CollidesLeft     = false;
     CollidesRight    = false;
     StopAnimation();
     PlayAnimationOnRestart       = false;
     NonKillable                  = true;
     DisableCollisionBoxRotations = false;
 }
示例#28
0
 public override void Dispose()
 {
     if (!IsDisposed)
     {
         m_differenceCloud.Dispose();
         m_differenceCloud = null;
         m_differenceCloud2.Dispose();
         m_differenceCloud2 = null;
         m_differenceCloud3.Dispose();
         m_differenceCloud3 = null;
         m_moon.Dispose();
         m_moon = null;
         m_silhouette.Dispose();
         m_silhouette  = null;
         m_levelScreen = null;
         base.Dispose();
     }
 }
示例#29
0
 public MapObj(bool followPlayer, ProceduralLevelScreen level)
 {
     m_level                       = level;
     FollowPlayer                  = followPlayer;
     Opacity                       = 0.3f;
     m_roomSpriteList              = new List <SpriteObj>();
     m_doorSpriteList              = new List <SpriteObj>();
     m_iconSpriteList              = new List <SpriteObj>();
     m_roomSpritePosList           = new List <Vector2>();
     m_doorSpritePosList           = new List <Vector2>();
     m_iconSpritePosList           = new List <Vector2>();
     CameraOffset                  = new Vector2(20f, 560f);
     m_playerSprite                = new SpriteObj("MapPlayerIcon_Sprite");
     m_playerSprite.AnimationDelay = 0.0333333351f;
     m_playerSprite.ForceDraw      = true;
     m_playerSprite.PlayAnimation();
     m_spriteScale       = new Vector2(22f, 22.5f);
     AddedRoomsList      = new List <RoomObj>();
     m_teleporterList    = new List <SpriteObj>();
     m_teleporterPosList = new List <Vector2>();
 }
示例#30
0
 public EnemyObj_Energon(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo,
                         GameTypes.EnemyDifficulty difficulty)
     : base("EnemyEnergonIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     Type     = 23;
     m_shield = new SpriteObj("EnergonSwordShield_Sprite");
     m_shield.AnimationDelay = 0.1f;
     m_shield.PlayAnimation();
     m_shield.Opacity = 0.5f;
     m_shield.Scale   = new Vector2(1.2f, 1.2f);
     m_projectilePool = new DS2DPool <EnergonProjectileObj>();
     for (var i = 0; i < (int)m_poolSize; i++)
     {
         var energonProjectileObj = new EnergonProjectileObj("EnergonSwordProjectile_Sprite",
                                                             this);
         energonProjectileObj.Visible             = false;
         energonProjectileObj.CollidesWithTerrain = false;
         energonProjectileObj.PlayAnimation();
         energonProjectileObj.AnimationDelay = 0.05f;
         m_projectilePool.AddToPool(energonProjectileObj);
     }
 }