2021-04-10 14:08:20 +02:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using Microsoft.Xna.Framework;
|
|
|
|
|
|
|
|
|
|
namespace EvilSatellites.Objects
|
|
|
|
|
{
|
2021-04-11 14:12:55 +02:00
|
|
|
public interface IGameObject : EvilSatellites.Quadtree.Positional
|
2021-04-10 14:08:20 +02:00
|
|
|
{
|
|
|
|
|
void Activate();
|
|
|
|
|
void Destroy();
|
|
|
|
|
Vector3 Position { get; set; }
|
2021-04-11 02:01:24 +02:00
|
|
|
Vector3 Dimensions { get; set; }
|
2021-04-10 14:08:20 +02:00
|
|
|
Vector3 Orientation { get; set; }
|
2021-04-11 14:12:55 +02:00
|
|
|
bool IsDynamic { get; }
|
2021-04-10 14:08:20 +02:00
|
|
|
float Theta { get; set; }
|
|
|
|
|
Matrix Rotation { get; set; }
|
|
|
|
|
void Update(GameTime gameTime);
|
|
|
|
|
ObjectType Type { get; set; }
|
|
|
|
|
void Move(Vector3 pose);
|
2021-04-11 14:12:55 +02:00
|
|
|
void OnCollision(IGameObject obj);
|
2021-04-11 18:42:22 +02:00
|
|
|
bool ShouldDestroy { get; }
|
|
|
|
|
bool Active { get; set; }
|
2021-04-10 14:08:20 +02:00
|
|
|
}
|
|
|
|
|
}
|