This commit is contained in:
Regalis
2015-07-31 21:05:55 +03:00
parent 23d847a4ac
commit 85b0cda4ca
181 changed files with 4455 additions and 4073 deletions
@@ -0,0 +1,54 @@
using Lidgren.Network;
using Microsoft.Xna.Framework;
namespace Subsurface
{
class AIController : ISteerable
{
public enum AiState { None, Attack, GoTo, Escape }
public enum SteeringState { Wander, Seek, Escape }
public Character Character;
protected AiState state;
protected SteeringManager steeringManager;
public Vector2 Steering
{
get { return Character.AnimController.TargetMovement; }
set { Character.AnimController.TargetMovement = value; }
}
public Vector2 Position
{
get { return Character.AnimController.limbs[0].SimPosition; }
}
public Vector2 Velocity
{
get { return Character.AnimController.limbs[0].LinearVelocity; }
}
public AiState State
{
get { return state; }
}
public AIController (Character c)
{
Character = c;
steeringManager = new SteeringManager(this);
}
public virtual void Update(float deltaTime) { }
//protected Structure lastStructurePicked;
public virtual void FillNetworkData(NetOutgoingMessage message) { }
public virtual void ReadNetworkData(NetIncomingMessage message) { }
}
}