本文整理汇总了C#中Room.RemoveEntity方法的典型用法代码示例。如果您正苦于以下问题:C# Room.RemoveEntity方法的具体用法?C# Room.RemoveEntity怎么用?C# Room.RemoveEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Room
的用法示例。
在下文中一共展示了Room.RemoveEntity方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
public override void Update(State s, Room room)
{
Y = startY + (int)(Math.Sin(s.Time.TotalGameTime.Ticks / 10000000.0f) * 8.5f);
room.AddEntity(Particle.MakeSpark(new Point(X + DiverGame.Random.Next(Width), Y + DiverGame.Random.Next(Height))));
if (room.Diver.Dimension.Intersects(Dimension))
{
room.RemoveEntity(this);
room.Sea.Broadcast("inventory", "add", Tool);
// Display text
}
}
示例2: Update
public override void Update(State s, Room room)
{
if (health <= 0)
{
for (int i = 0; i < 20; i++)
{
room.AddEntity(Particle.Debri(new Point(X + Width / 2, Y + Height / 2)));
}
room.RemoveEntity(this);
}
base.Update(s, room);
}
示例3: Update
public override void Update(State s, Room room)
{
frameCounter++;
if (frameCounter >= 200)
{
room.Broadcast("explosion", "", this);
for (int i = 0; i < 10; i++)
{
room.AddEntity(Particle.MakeBigBubble(new Point(X + Width / 2, Y)));
room.AddEntity(Particle.MakeSmallBubble(new Point(X + Width / 2, Y)));
room.AddEntity(Particle.MakeTinyBubble(new Point(X + Width / 2, Y)));
}
for (int i = 0; i < 20; i++)
{
room.AddEntity(Particle.Debri(new Point(X + Width / 2, Y + Height / 2)));
}
room.AddEntity(Particle.ExplosionGlow(Center));
room.AddEntity(Particle.ExplosionGlow(Center));
room.AddEntity(Particle.ExplosionGlow(Center));
room.AddEntity(Particle.ExplosionGlow(Center));
room.AddEntity(Particle.ExplosionGlow(Center));
room.AddEntity(Particle.ExplosionGlow(Center));
room.RemoveEntity(this);
}
if (frameCounter % 5 == 0)
{
animationFrame++;
}
if (frameCounter % 20 == 0)
{
room.AddEntity(Particle.MakeTinyBubble(new Point(X + Width / 2, Y)));
}
Velocity.Y = 2 * Resolution;
MoveWithCollision(room);
base.Update(s, room);
}
示例4: Update
public override void Update(State s, Room room)
{
base.Update(s, room);
if (dead)
{
animationGridFrame = 0;
if (position.Y < 0)
{
room.RemoveEntity(this);
}
if (DiverGame.Random.Next(200) == 0)
{
room.AddEntity(Particle.MakeTinyBubble(new Point(base.X + (xSpeed.Diff > 0 ? Width : 0), base.Y + Height / 2)));
}
}
else
{
bool panic = false;
if (panicCooldown > 0)
{
panicCooldown--;
if (panicCooldown == 0)
TriggerNewSpeedTarget();
else
panic = true;
}
if ((DiverGame.Random.Next(400) == 0 || (panic && DiverGame.Random.Next(20) == 0)))
{
TriggerNewSpeedTarget();
}
animationGridFrame += Math.Abs((xSpeed.Diff)) + 0.1;
}
xSpeed.Update();
ySpeed.Update();
position.X += xSpeed.Value;
position.Y += ySpeed.Value;
base.X = (int)position.X;
base.Y = (int)position.Y;
if (position.X < 0 && xSpeed.Target < 0 ||
position.X > room.TileMap.SizeInPixels.X && xSpeed.Diff > 0) xSpeed.Target *= -1;
if (position.Y < 0 && ySpeed.Target < 0 ||
position.Y > room.TileMap.SizeInPixels.Y && ySpeed.Diff > 0) ySpeed.Target *= -1;
}
示例5: Update
public override void Update(State s, Room room)
{
position += velocity;
velocity += gravity;
velocity *= damping;
frame += framerate;
X = (int)position.X;
Y = (int)position.Y;
if (timeToLive <= 0 && !new Rectangle(0, 0, room.Size.X, room.Size.Y).Intersects(Dimension))
{
room.RemoveEntity(this);
}
if (timeToLive > 0 && frame > timeToLive)
{
room.RemoveEntity(this);
}
}