Code: Select all
using CryEngine.Common;
using CryEngine.EntitySystem;
namespace CryEngine.SampleApp
{
[EntityClass("Bullet", "Game", null, "User.bmp")]
class Bullet : EntityComponent
{
private string BulletGeoURL = "Objects/Default/bullet.cgf";
public Bullet()
{
Initialize();
}
private void Initialize()
{
SetEntityModel();
}
public override void OnCollision(CollisionEvent collisionEvent)
{
//Global.gEnv.pEntitySystem.RemoveEntity(Entity.Id);
}
public override void OnPrePhysicsUpdate(float frameTime)
{
base.OnPrePhysicsUpdate(frameTime);
Entity.Physics.Impulse = Entity.Rotation.Forward * 3;
}
private void SetEntityModel()
{
var entity = Entity;
// Override material so that we can see the ball rolling more easily
entity.LoadGeometry(0, BulletGeoURL);
var physicsEntity = Entity.Physics;
if (physicsEntity == null)
{
return;
}
// Physicalize the player as type Living.
// This physical entity type is specifically implemented for players
Entity.Physics.Physicalize(90, EPhysicalizationType.ePT_Rigid);
}
}
}