rendered paste bodyusing System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Drawing;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
using Microsoft.DirectX.DirectSound;
namespace BladeEngine
{
public class Entity
{
private int m_Color = Color.White.ToArgb ( );
private int m_Health;
private float m_Width;
private float m_Height;
private float m_Gravity = 0.001f;
private float m_Rotation = 0;
private Vector3 m_Pos;
private Vector3 m_Velocity = new Vector3 ( 0.0f , 0.0f, 0.0f );
private Vector3 m_Angle;
private Vector3 m_RotationCenter;
private Entity m_Parent;
private Pen m_Pen;
private Tex m_Texture;
private string m_Name;
public Entity ( )
{
m_Pen = new Pen ( );
}
~Entity ( )
{
Dispose ( );
}
public void Activate ( ) // Some entity's need to be activated.
{
}
public void Spawn ( ) // Spawns the entity.
{
EntityManager.Entitys.Add ( this );
}
public void DropToFloor ( ) // Teleport's the entity to the ground.
{
}
public void EmitSound ( ) // Emits a sound from the entity.
{
}
public void StopSound ( ) // Stops any sound it's currently emmiting.
{
}
public void Fire ( ) // Can set certain properties to the entity.
{
}
// Get's
public Vector3 GetAngles ( ) // Returns the entity's current angles.
{
return m_Angle;
}
public void GetClass ( ) // Returns the entity's type, prop_physic, prop_vehicle, ect.
{
}
public int GetColor ( ) // Returns the color the entity's set to.
{
return m_Color;
}
public Texture GetModel ( ) // Returns the model the entity is using.
{
return m_Texture.Texture;
}
public string GetName ( ) // Returns the target name of an entity.
{
return m_Name;
}
public Entity GetParent ( ) // Returns the entity's parent entity.
{
return m_Parent;
}
public float GetGravity ( )
{
return m_Gravity;
}
public Vector3 GetPos ( ) // Returns the position of the entity as a vector.
{
return m_Pos;
}
public float GetRotation ( )
{
return m_Rotation;
}
public Vector3 GetVelocity ( ) // Returns the velocity of an entity as a vector.
{
return m_Velocity;
}
public int GetHealth ( ) // Returns the health of an entity as an integer.
{
return m_Health;
}
public float GetWidth ( )
{
return m_Width;
}
public float GetHeight ( )
{
return m_Height;
}
// Set's
public void SetName ( string name )
{
m_Name = name;
}
public void SetAngles ( Vector3 angle ) // Sets the entity's angles.
{
m_Angle = angle;
}
public void SetRotation ( float rotation )
{
m_Rotation = rotation;
}
public void SetRotationCenter ( Vector3 rotationcenter )
{
m_RotationCenter = rotationcenter;
}
public void SetColor ( int color ) // Sets the color of the entity.
{
m_Color = color;
}
public void SetGravity ( float gravity ) // Sets the amount of gravity is stressed on the entity.
{
m_Gravity = gravity;
}
public void SetHealth ( int health ) // Sets the entitys health.
{
m_Health = health;
}
public void SetParent ( Entity parent ) // Sets the parent entity.
{
m_Parent = parent;
}
public void SetPos ( Vector3 pos ) // Sets the position of the entity.
{
m_Pos = pos;
}
public void SetVelocity ( Vector3 velocity ) // Sets the entitys velocity.
{
m_Velocity = velocity;
}
public void SetModel ( string strPath )
{
m_Texture = new Tex ( strPath );
m_Width = m_Texture.Width;
m_Height = m_Texture.Height;
}
public void BaseUpdate ( )
{
m_Texture.Translation = m_Pos;
m_Texture.RotationCenter = m_RotationCenter;
m_Texture.Rotation = m_Rotation;
m_Pos.Y += m_Velocity.Y;
m_Pos.X += m_Velocity.X;
m_Velocity.Y *= m_Gravity;
m_Velocity.X *= m_Gravity;
Update ( );
}
public virtual void Update ( )
{
}
public void BaseRender ( )
{
if ( m_Texture != null )
{
m_Pen.Color = m_Color;
m_Pen.DrawTexture ( m_Texture );
}
Render ( );
}
public virtual void Render ( )
{
}
public virtual void Dispose ( )
{
if ( m_Parent != null )
{
m_Parent.Dispose ( );
}
if ( m_Pen != null )
{
m_Pen.Dispose ( );
m_Pen = null;
}
if ( m_Texture != null )
{
m_Texture = null;
}
this.Disposed = true;
}
}
}