public override void loadContent() { base.loadContent(); m_collisionShape = new CollisionRectangle(10, 10, m_img.getSize().X - 20, m_img.getSize().Y - 10, m_position); m_lampSwitchTargets = new LinkedList<LampSwitch>(); if (m_flashLightId > 0) { m_flashLight = ((FlashCone)(Game.getInstance().getState().getObjectById(m_flashLightId))); m_flashLight.getPosition().setParentPosition(this.getPosition()); } if (m_lampSwitchTargetsId == null) { m_lampSwitchTargetsId = new LinkedList<int>(); } foreach (int t_lsti in m_lampSwitchTargetsId) { m_lampSwitchTargets.AddLast((LampSwitch)Game.getInstance().getState().getObjectById(t_lsti)); } m_facingRight = m_spriteEffects == SpriteEffects.None; m_huhSound = new Sound("Game//104696__grunz__grunz-huh"); m_huhSound.setVolume(7); #region Texture Loading t2d_run = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_run"); t2d_walk = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_walk"); t2d_flashWalk = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_flash_walk"); t2d_flashIdle = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_flash_idle"); t2d_flashTurn = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_flash_turn"); t2d_idle = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_idle"); t2d_pickUpFlash = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_pick_up_flash"); t2d_putDownFlash = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_put_down_flash"); t2d_strike = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_strike"); t2d_turn = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_turn"); t2d_qmark = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//qmark"); t2d_emark = Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//Exclmarks"); #endregion if (m_img.isTexture(t2d_flashTurn) || m_img.isTexture(t2d_turn) || m_img.isTexture(t2d_pickUpFlash) || m_img.isTexture(t2d_putDownFlash)) { m_img.setLooping(false); } if (m_img.isTexture(t2d_walk) || m_img.isTexture(t2d_flashWalk)) { m_img.setAnimationSpeed(WALKINGANIMATIONSPEED); } }
public override void update(GameTime a_gameTime) { if (!m_aiActive) { if (m_img.isStopped()) { m_aiActive = true; if (m_striking) { m_striking = false; m_img.setSprite("Images//Sprite//Guard//guard_idle"); } else if (m_img.isTexture(t2d_turn)) { m_img.setSprite("Images//Sprite//Guard//guard_idle"); m_facingRight = !m_facingRight; } else if (m_img.isTexture(t2d_flashTurn)) { m_img.setSprite("Images//Sprite//Guard//guard_flash_idle"); m_facingRight = !m_facingRight; m_flashLight.setSprite("Images//LightCone//light_guard_idle"); m_flashLight.setImageOffset(Vector2.Zero); m_flashLight.setFacingRight(m_facingRight); if (m_facingRight) { m_flashLight.getPosition().setLocalX(0); } else { m_flashLight.getPosition().setLocalX(-178); } } else if (m_img.isTexture(t2d_pickUpFlash)) { m_flashLight = new FlashCone(this, new Vector2(0, -7), "Images//LightCone//light_guard_idle", m_facingRight, 0.249f); m_flashLightId = m_flashLight.getId(); if (!m_facingRight) { m_flashLight.getPosition().setLocalX(m_img.getSize().X - m_flashLight.getImg().getSize().X); } Game.getInstance().getState().addObject(m_flashLight); m_img.setSprite("Images//Sprite//Guard//guard_flash_idle"); } else if (m_img.isTexture(t2d_putDownFlash)) { m_img.setSprite("Images//Sprite//Guard//guard_idle"); } } else if (m_img.isTexture(t2d_flashTurn)) { if (m_img.getSubImageIndex() > 5 && m_flashLight != null) { if (m_facingRight) { m_flashLight.setFacingRightCollision(false); } else { m_flashLight.setFacingRightCollision(true); } } } } base.update(a_gameTime); m_strikeReloadTime = Math.Max(m_strikeReloadTime - (a_gameTime.ElapsedGameTime.Milliseconds / 1000f), 0); if ((m_aiState != AIStateChasing.getInstance()) && canSeePlayer()) { chasePlayer(); m_aiState = AIStateChasing.getInstance(); } if (m_facingRight) { m_spriteEffects = SpriteEffects.None; } else { m_spriteEffects = SpriteEffects.FlipHorizontally; } if (m_flashLight != null) { m_flashLight.setSubImage(m_img.getSubImageIndex()); } }
public override void loadContent() { base.loadContent(); m_collisionShape = new CollisionRectangle(20, 10, m_img.getSize().X - 40, m_img.getSize().Y - 10, m_position); m_lampSwitchTargets = new LinkedList<LampSwitch>(); if (m_lampSwitchTargetsId == null) { m_lampSwitchTargetsId = new LinkedList<int>(); } foreach (int t_lsti in m_lampSwitchTargetsId) { m_lampSwitchTargets.AddLast((LampSwitch)Game.getInstance().getState().getObjectById(t_lsti)); } if (m_flashLightId > 0) { m_flashLight = (FlashCone)Game.getInstance().getState().getObjectById(m_flashLightId); m_flashLight.getPosition().setParentPosition(m_position); } m_facingRight = m_spriteEffects == SpriteEffects.None; Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_run"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_walk"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_flash_walk"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_flash_idle"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_flash_turn"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_idle"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_pick_up_flash"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_put_down_flash"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_strike"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//guard_turn"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//qmark"); Game.getInstance().Content.Load<Texture2D>("Images//Sprite//Guard//Exclmarks"); }