Exemple #1
0
 void InitEnemyEntities()
 {
     {
         Entity lightTurret = new Entity(true, "LightTurret");
         lightTurret.Tags.Add("Actor");
         lightTurret.Components.Add(new Renderable(lightTurret, Renderables["TurretBase"]));
         lightTurret.Components.Add(new Weapon(lightTurret, Weapons["TurretBase"]));
         lightTurret.Components.Add(new AiController(lightTurret, AiControllers["TurretAi"]));
         lightTurret.Components.Add(new AABBCollider(lightTurret, AABBColliders["TurretCollider"]));
         EnemyEntities.Add("LightTurret", lightTurret);
     }
 }
Exemple #2
0
 private void ChooseBehavior()
 {
     if (EnemyEntities.Any() &&
         MyEntities.Any(e => GetDistance(GetNearestEntity(e.Position, PlayerType.Enemy).Position, e.Position) < 6))
     // ||
     // EnemyUnits.Any(eu => GetDistance(eu.Position, Zero) <= 35))
     {
         Behavior   = BehaviorType.Aggressive;
         unitsRatio = aggressiveBehaviorUnitsRatio;
     }
     else
     {
         Behavior   = BehaviorType.Passive;
         unitsRatio = passiveBehaviorUnitsRatio;
     }
 }
Exemple #3
0
    // Use this for initialization
    void Start()
    {
        systems = new List <ISystemInterface>();

        entities      = new PlayerEntities();
        enemyEntities = new EnemyEntities();

        entities.Init(entityCount);
        enemyEntities.Init(enemyEntityCount);

        // System addition order matters, they will run in the same order
        systems.Add(new GravitySystem());
        systems.Add(new ForceSystem());
        systems.Add(new InputSystem());
        systems.Add(new MoveSystem());
        systems.Add(new CollisionSystem());
        systems.Add(new WorldBoundsSystem());
        systems.Add(new RenderingSystem());

        foreach (var system in systems)
        {
            system.Start(this);
        }
    }