예제 #1
0
 public EnemyObj_LastBoss(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("PlayerIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     foreach (GameObj current in this._objectList)
     {
         current.TextureColor = new Color(100, 100, 100);
     }
     this.Type = 29;
     this.m_damageShieldProjectiles = new List<ProjectileObj>();
     this._objectList[5].Visible = false;
     this._objectList[15].Visible = false;
     this._objectList[16].Visible = false;
     this._objectList[14].Visible = false;
     this._objectList[13].Visible = false;
     this._objectList[0].Visible = false;
     string text = (this._objectList[12] as IAnimateableObj).SpriteName;
     int startIndex = text.IndexOf("_") - 1;
     text = text.Remove(startIndex, 1);
     text = text.Replace("_", 7 + "_");
     this._objectList[12].ChangeSprite(text);
     base.PlayAnimation(true);
     this.m_delayObj = new BlankObj(0, 0);
     this.m_walkDownSoundFinalBoss = new FrameSoundObj(this, 3, new string[]
     {
         "FinalBoss_St2_Foot_01",
         "FinalBoss_St2_Foot_02",
         "FinalBoss_St2_Foot_03"
     });
     this.m_walkUpSoundFinalBoss = new FrameSoundObj(this, 6, new string[]
     {
         "FinalBoss_St2_Foot_04",
         "FinalBoss_St2_Foot_05"
     });
 }
예제 #2
0
 public EnemyObj_EarthWizard(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyWizardIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     base.PlayAnimation(true);
     this.TintablePart = this._objectList[0];
     this.Type = 5;
 }
예제 #3
0
 public ProjectileManager(ProceduralLevelScreen level, int poolSize)
 {
     this.m_projectilesToRemoveList = new List<ProjectileObj>();
     this.m_levelScreen = level;
     this.m_projectilePool = new DS2DPool<ProjectileObj>();
     this.m_poolSize = poolSize;
 }
예제 #4
0
 public EnemyObj_BallAndChain(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyFlailKnight_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.m_ballAndChain = new ProjectileObj("EnemyFlailKnightBall_Sprite");
     this.m_ballAndChain.IsWeighted = false;
     this.m_ballAndChain.CollidesWithTerrain = false;
     this.m_ballAndChain.IgnoreBoundsCheck = true;
     this.m_ballAndChain.OutlineWidth = 2;
     this.m_ballAndChain2 = (this.m_ballAndChain.Clone() as ProjectileObj);
     this.m_chain = new SpriteObj("EnemyFlailKnightLink_Sprite");
     this.m_chainLinksList = new List<Vector2>();
     this.m_chainLinks2List = new List<Vector2>();
     for (int i = 0; i < this.m_numChainLinks; i++)
     {
         this.m_chainLinksList.Add(default(Vector2));
     }
     for (int j = 0; j < this.m_numChainLinks / 2; j++)
     {
         this.m_chainLinks2List.Add(default(Vector2));
     }
     this.Type = 1;
     this.TintablePart = this._objectList[3];
     this.m_walkSound = new FrameSoundObj(this, this.m_target, 1, new string[]
     {
         "KnightWalk1",
         "KnightWalk2"
     });
     this.m_walkSound2 = new FrameSoundObj(this, this.m_target, 6, new string[]
     {
         "KnightWalk1",
         "KnightWalk2"
     });
 }
예제 #5
0
 public EnemyObj_SpikeTrap(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemySpikeTrap_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 21;
     base.StopAnimation();
     base.PlayAnimationOnRestart = false;
     base.NonKillable = true;
 }
예제 #6
0
 public EnemyObj_Spark(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemySpark_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     base.IsWeighted = false;
     base.ForceDraw = true;
     this.Type = 24;
     base.NonKillable = true;
 }
예제 #7
0
 public EnemyObj_HomingTurret(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyHomingTurret_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     base.StopAnimation();
     base.ForceDraw = true;
     this.Type = 28;
     base.PlayAnimationOnRestart = false;
 }
예제 #8
0
 public EnemyObj_Blob(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyBlobIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.MainBlob = true;
     this.TintablePart = this._objectList[0];
     base.PlayAnimation(true);
     this.m_invincibleCounter = 0.5f;
     this.Type = 2;
 }
예제 #9
0
 public EnemyObj_Portrait(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyPortrait_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 32;
     string spriteName = "FramePicture" + CDGMath.RandomInt(1, 16) + "_Sprite";
     base.GetChildAt(0).ChangeSprite(spriteName);
     base.GetChildAt(0);
     base.DisableCollisionBoxRotations = false;
 }
예제 #10
0
 public EnemyObj_Zombie(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyZombieLower_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     base.GoToFrame(base.TotalFrames);
     this.Lowered = true;
     base.ForceDraw = true;
     base.StopAnimation();
     this.Type = 20;
     base.PlayAnimationOnRestart = false;
 }
예제 #11
0
 public EnemyObj_Mimic(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyMimicIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 33;
     base.OutlineWidth = 0;
     this.m_closeSound = new FrameSoundObj(this, this.m_target, 1, new string[]
     {
         "Chest_Snap"
     });
 }
예제 #12
0
 public EnemyObj_Turret(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyTurretFire_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     base.IsCollidable = false;
     base.ForceDraw = true;
     this.Type = 17;
     base.StopAnimation();
     base.PlayAnimationOnRestart = false;
     base.NonKillable = true;
 }
예제 #13
0
 public MapScreen(ProceduralLevelScreen level)
 {
     this.m_mapDisplay = new MapObj(false, level);
     this.m_alzheimersQuestionMarks = new TextObj(Game.JunicodeLargeFont);
     this.m_alzheimersQuestionMarks.FontSize = 30f;
     this.m_alzheimersQuestionMarks.ForceDraw = true;
     this.m_alzheimersQuestionMarks.Text = "?????";
     this.m_alzheimersQuestionMarks.Align = Types.TextAlign.Centre;
     this.m_alzheimersQuestionMarks.Position = new Vector2(660f, 360f - (float)this.m_alzheimersQuestionMarks.Height / 2f);
 }
예제 #14
0
 public EnemyObj_Wolf(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyWargIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 19;
     this.m_startDelayCounter = this.m_startDelay;
     this.m_runFrameSound = new FrameSoundObj(this, 1, new string[]
     {
         "Wolf_Move01",
         "Wolf_Move02",
         "Wolf_Move03"
     });
 }
예제 #15
0
 public EnemyObj_Eyeball(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyEyeballIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.m_pupil = new SpriteObj("EnemyEyeballPupil_Sprite");
     this.AddChild(this.m_pupil);
     this.m_squishSound = new FrameSoundObj(this, this.m_target, 2, new string[]
     {
         "Eyeball_Prefire"
     });
     this.Type = 6;
     base.DisableCollisionBoxRotations = false;
 }
예제 #16
0
 public EnemyObj_Ninja(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyNinjaIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 13;
     this.m_smoke = new SpriteObj("NinjaSmoke_Sprite");
     this.m_smoke.AnimationDelay = 0.05f;
     this.m_log = new SpriteObj("Log_Sprite");
     this.m_smoke.Visible = false;
     this.m_smoke.Scale = new Vector2(5f, 5f);
     this.m_log.Visible = false;
     this.m_log.OutlineWidth = 2;
 }
예제 #17
0
 public EnemyObj_Platform(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyPlatform_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     base.CollisionTypeTag = 1;
     this.Type = 27;
     base.CollidesBottom = false;
     base.CollidesLeft = false;
     base.CollidesRight = false;
     base.StopAnimation();
     base.PlayAnimationOnRestart = false;
     base.NonKillable = true;
     base.DisableCollisionBoxRotations = false;
 }
예제 #18
0
 public EnemyObj_ShieldKnight(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyShieldKnightIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 14;
     this.m_walkSound = new FrameSoundObj(this, this.m_target, 1, new string[]
     {
         "KnightWalk1",
         "KnightWalk2"
     });
     this.m_walkSound2 = new FrameSoundObj(this, this.m_target, 6, new string[]
     {
         "KnightWalk1",
         "KnightWalk2"
     });
 }
예제 #19
0
파일: SkyObj.cs 프로젝트: Neojin9/RLRedux
 public override void Dispose()
 {
     if (!base.IsDisposed)
     {
         this.m_differenceCloud.Dispose();
         this.m_differenceCloud = null;
         this.m_differenceCloud2.Dispose();
         this.m_differenceCloud2 = null;
         this.m_differenceCloud3.Dispose();
         this.m_differenceCloud3 = null;
         this.m_moon.Dispose();
         this.m_moon = null;
         this.m_silhouette.Dispose();
         this.m_silhouette = null;
         this.m_levelScreen = null;
         base.Dispose();
     }
 }
예제 #20
0
 public EnemyObj_Energon(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyEnergonIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 23;
     this.m_shield = new SpriteObj("EnergonSwordShield_Sprite");
     this.m_shield.AnimationDelay = 0.1f;
     this.m_shield.PlayAnimation(true);
     this.m_shield.Opacity = 0.5f;
     this.m_shield.Scale = new Vector2(1.2f, 1.2f);
     this.m_projectilePool = new DS2DPool<EnergonProjectileObj>();
     for (int i = 0; i < (int)this.m_poolSize; i++)
     {
         EnergonProjectileObj energonProjectileObj = new EnergonProjectileObj("EnergonSwordProjectile_Sprite", this);
         energonProjectileObj.Visible = false;
         energonProjectileObj.CollidesWithTerrain = false;
         energonProjectileObj.PlayAnimation(true);
         energonProjectileObj.AnimationDelay = 0.05f;
         this.m_projectilePool.AddToPool(energonProjectileObj);
     }
 }
예제 #21
0
파일: EnemyObj.cs 프로젝트: Neojin9/RLRedux
 public EnemyObj(string spriteName, PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base(spriteName, physicsManager, levelToAttachTo)
 {
     base.DisableCollisionBoxRotations = true;
     this.Type = 0;
     base.CollisionTypeTag = 3;
     this.m_target = target;
     this.m_walkingLB = new LogicBlock();
     this.m_currentActiveLB = new LogicBlock();
     this.m_cooldownLB = new LogicBlock();
     this.logicBlocksToDispose = new List<LogicBlock>();
     this.m_resetSpriteName = spriteName;
     this.Difficulty = difficulty;
     this.ProjectileScale = new Vector2(1f, 1f);
     base.PlayAnimation(true);
     this.PlayAnimationOnRestart = true;
     base.OutlineWidth = 2;
     this.GivesLichHealth = true;
     this.DropsItem = true;
 }
예제 #22
0
파일: MapObj.cs 프로젝트: Neojin9/RLRedux
 public MapObj(bool followPlayer, ProceduralLevelScreen level)
 {
     this.m_level = level;
     this.FollowPlayer = followPlayer;
     base.Opacity = 0.3f;
     this.m_roomSpriteList = new List<SpriteObj>();
     this.m_doorSpriteList = new List<SpriteObj>();
     this.m_iconSpriteList = new List<SpriteObj>();
     this.m_roomSpritePosList = new List<Vector2>();
     this.m_doorSpritePosList = new List<Vector2>();
     this.m_iconSpritePosList = new List<Vector2>();
     this.CameraOffset = new Vector2(20f, 560f);
     this.m_playerSprite = new SpriteObj("MapPlayerIcon_Sprite");
     this.m_playerSprite.AnimationDelay = 0.0333333351f;
     this.m_playerSprite.ForceDraw = true;
     this.m_playerSprite.PlayAnimation(true);
     this.m_spriteScale = new Vector2(22f, 22.5f);
     this.m_addedRooms = new List<RoomObj>();
     this.m_teleporterList = new List<SpriteObj>();
     this.m_teleporterPosList = new List<Vector2>();
 }
예제 #23
0
파일: EnemyObj.cs 프로젝트: Neojin9/RLRedux
 public void SetLevelScreen(ProceduralLevelScreen levelScreen)
 {
     this.m_levelScreen = levelScreen;
 }
예제 #24
0
 public void Dispose()
 {
     if (!this.IsDisposed)
     {
         Console.WriteLine("Disposing Projectile Manager");
         this.m_levelScreen = null;
         this.m_projectilePool.Dispose();
         this.m_projectilePool = null;
         this.m_projectilesToRemoveList.Clear();
         this.m_projectilesToRemoveList = null;
         this.m_isDisposed = true;
     }
 }
예제 #25
0
 public EnemyTemplate(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemySpriteNameGoesHere", target, physicsManager, levelToAttachTo, difficulty)
 {
 }
예제 #26
0
파일: MapObj.cs 프로젝트: Neojin9/RLRedux
 public override void Dispose()
 {
     if (!base.IsDisposed)
     {
         this.m_player = null;
         this.m_level = null;
         if (this.m_alphaMaskRT != null && !this.m_alphaMaskRT.IsDisposed)
         {
             this.m_alphaMaskRT.Dispose();
         }
         this.m_alphaMaskRT = null;
         if (this.m_mapScreenRT != null && !this.m_mapScreenRT.IsDisposed)
         {
             this.m_mapScreenRT.Dispose();
         }
         this.m_mapScreenRT = null;
         foreach (SpriteObj current in this.m_roomSpriteList)
         {
             current.Dispose();
         }
         this.m_roomSpriteList.Clear();
         this.m_roomSpriteList = null;
         foreach (SpriteObj current2 in this.m_doorSpriteList)
         {
             current2.Dispose();
         }
         this.m_doorSpriteList.Clear();
         this.m_doorSpriteList = null;
         foreach (SpriteObj current3 in this.m_iconSpriteList)
         {
             current3.Dispose();
         }
         this.m_iconSpriteList.Clear();
         this.m_iconSpriteList = null;
         this.m_addedRooms.Clear();
         this.m_addedRooms = null;
         this.m_roomSpritePosList.Clear();
         this.m_roomSpritePosList = null;
         this.m_doorSpritePosList.Clear();
         this.m_doorSpritePosList = null;
         this.m_iconSpritePosList.Clear();
         this.m_iconSpritePosList = null;
         this.m_playerSprite.Dispose();
         this.m_playerSprite = null;
         foreach (SpriteObj current4 in this.m_teleporterList)
         {
             current4.Dispose();
         }
         this.m_teleporterList.Clear();
         this.m_teleporterList = null;
         this.m_teleporterPosList.Clear();
         this.m_teleporterPosList = null;
         this.m_xOffsetTween = null;
         this.m_yOffsetTween = null;
         base.Dispose();
     }
 }
예제 #27
0
 public EnemyObj_Starburst(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("EnemyStarburstIdle_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 31;
 }
예제 #28
0
 public override void Dispose()
 {
     if (!base.IsDisposed)
     {
         this.m_levelScreen = null;
         base.Dispose();
     }
 }
예제 #29
0
 public CharacterObj(string spriteName, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo)
     : base(spriteName, physicsManager)
 {
     this.m_levelScreen = levelToAttachTo;
     this.CanBeKnockedBack = true;
 }
예제 #30
0
 public EnemyObj_Dummy(PlayerObj target, PhysicsManager physicsManager, ProceduralLevelScreen levelToAttachTo, GameTypes.EnemyDifficulty difficulty)
     : base("Dummy_Character", target, physicsManager, levelToAttachTo, difficulty)
 {
     this.Type = 30;
 }