public void RemoveObject(ParticularObject particularObject) { lock (particularObjects){ for (int id = 0; id < particularObjects.Count; id++) { ParticularObject obj = particularObjects[id]; if (obj == particularObject) { particularObjects.RemoveAt(id); } } } }
public override void Update(GameTime gameTime) { base.Update(gameTime); setPosX(getPosX() + getSpeedX()); setPosY(getPosY() + getSpeedY()); ParticularObject obj = getGameWorld().particularObjectManager.getCollisionWidthEnemyObject(this); if (obj != null && obj.getState() == MainState.ALIVE) { setBlood(0); obj.beHurt(getDamage()); } }
//@Override public override void UpdateObjects(GameTime gameTime) { base.UpdateObjects(gameTime); lock (particularObjects){ for (int id = 0; id < particularObjects.Count; id++) { ParticularObject obj = particularObjects[id]; if (obj.isObjectOutOfCameraView() || obj.getState() == GameObject.MainState.DEATH) { particularObjects.RemoveAt(id); //System.out.println("Remove"); } } } }
public ParticularObject getCollisionWidthEnemyObject(ParticularObject obj) { lock (particularObjects){ for (int id = 0; id < particularObjects.Count; id++) { ParticularObject objectInList = particularObjects[id]; if (obj.getTeamType() != objectInList.getTeamType() && obj.getBoundForCollisionWithEnemy().IntersectsWith(objectInList.getBoundForCollisionWithEnemy())) { return(objectInList); } } } return(null); }
//@Override public override void Update(GameTime gameTime) { // TODO Auto-generated method stub if (forwardBulletAnim.isIgnoreFrame(0) || backBulletAnim.isIgnoreFrame(0)) { setPosX(getPosX() + getSpeedX()); } ParticularObject obj = getGameWorld().particularObjectManager.getCollisionWidthEnemyObject(this); if (obj != null && obj.getState() == MainState.ALIVE) { setBlood(0); obj.setBlood(obj.getBlood() - getDamage()); obj.setState(MainState.BEHURT); // MessageBox.Show("Bullet set behurt for enemy"); } }
public virtual void UpdateObjects(GameTime gameTime) { lock (particularObjects){ for (int id = 0; id < particularObjects.Count; id++) { ParticularObject obj = particularObjects[id]; if (!obj.isObjectOutOfCameraView()) { obj.Update(gameTime); } if (obj.getState() == GameObject.MainState.DEATH) { particularObjects.RemoveAt(id); } } } //System.out.println("Camerawidth = "+camera.getWidth()); }
//@Override public override void Update(GameTime gameTime) { switch (state) { case MainState.ALIVE: // note: SET DAMAGE FOR OBJECT NO DAMAGE ParticularObject obj = getGameWorld().particularObjectManager.getCollisionWidthEnemyObject(this); if (obj != null) { if (obj.getDamage() > 0) { // switch state to fey if object die //MessageBox.Show("eat damage.... from collision with enemy........ " + obj.getDamage()); beHurt(obj.getDamage()); } } break; case MainState.BEHURT: if (behurtBackAnim == null) { state = MainState.NOBEHURT; startTimeNoBeHurt = DateTime.Now; if (getBlood() == 0) { state = MainState.FEY; } } else { behurtForwardAnim.Update(gameTime); if (behurtForwardAnim.isLastFrame()) { behurtForwardAnim.reset(); state = MainState.NOBEHURT; if (getBlood() == 0) { state = MainState.FEY; } startTimeNoBeHurt = DateTime.Now; } } break; case MainState.FEY: state = MainState.DEATH; break; case MainState.DEATH: break; case MainState.NOBEHURT: //MessageBox.Show("state = nobehurt"); if (gameTime.GetTimeSpanMilis(startTimeNoBeHurt) > timeForNoBeHurt) { state = MainState.ALIVE; } break; } }
public void addObject(ParticularObject particularObject) { lock (particularObjects){ particularObjects.Add(particularObject); } }