public GameObject CreateEnemyElement(EnemySpawnModel model)
 {
     GameObject go = UnityEngine.Object.Instantiate(Resources.Load<GameObject>("Prefab/UI/EditorView/Level/EnemyElement"));
     EditableBehaviour editableBehaviour = go.AddComponent<EditableBehaviour>();
     editableBehaviour.SetOnSpawnBarrierChangedCallback(refreshNumeration);
     editableBehaviour.SetEnemyModel(model);
     addDebugPathIfShould(go);
     return go;
 }
 public void Update(Transform content, EnemySpawnModel enemyModel)
 {
     enemyExecutor = new EnemyActionExecutor(enemyModel);
     createChangeSpawnBarrierField().transform.SetParent(content, false);
     createChangePositionXField().transform.SetParent(content, false);
     createChangePositionYField().transform.SetParent(content, false);
     createChangeSpeedField().transform.SetParent(content, false);
     createChangeHealthField().transform.SetParent(content, false);
     createChangePathField().transform.SetParent(content, false);
     createChangeDamageField().transform.SetParent(content, false);
     createChangeTypeField().transform.SetParent(content, false);
 }
Пример #3
0
 EnemySpawnModel createEnemyModel()
 {
     model = new EnemySpawnModel();
     model.spawnBarrier = spawnBarrier;
     model.posY = posY;
     model.posX = DEFAULT_POSX;
     model.speed = DEFAULT_SPEED;
     model.type = DEFAULT_TYPE;
     model.health = DEFAULT_HEALTH;
     model.path = DEFAULT_PATH;
     model.damage = DEFAULT_DAMAGE;
     return model;
 }
Пример #4
0
    public Entity createStandardEnemy(EnemySpawnModel model, string resource)
    {
        float healthFactor = getHealthFactor();

        Entity e = pool.CreateEntity()
            .AddEnemy(model.type)
            .AddPosition(new Vector2(model.posX, model.posY))
            .AddVelocity(new Vector2())
            .AddVelocityLimit(model.speed)
            .AddResource(resource)
            .AddCollision(CollisionTypes.Enemy, model.damage)
            .IsNonRemovable(true)
            .IsActive(true);
        if (model.health >= 0)
        {
            e.AddHealth((int)(model.health * healthFactor))
                .AddBonusOnDeath(getAllBonuses())
                .AddExplosionOnDeath(1.0f, Resource.Explosion);
        }
        return e;
    }
 public void Execute(EnemySpawnModel model)
 {
     model.damage = damage;
 }
Пример #6
0
 public EnemyActionExecutor(EnemySpawnModel model)
 {
     this.model = model;
 }
 public ActiveEnemyModelChangeEvent(EnemySpawnModel model)
 {
     this.model = model;
 }
Пример #8
0
 public Entity CreateEnemyByModel(EnemySpawnModel model)
 {
     getDifficultyController();
     EnemyModel component = getModelIfExist(model.type);
     return component != null ? createEnemyFromComponent(model, component) : createEnemyFromCode(model);
 }
Пример #9
0
 Entity createEnemyFromComponent(EnemySpawnModel model, EnemyModel component)
 {
     Entity e = enemyCreator.createStandardEnemy(model, component.resource);
     e.AddFaceDirection(component.faceDirection);
     addCameraShakeIfNeeded(component, e);
     addRotationIfNeeded(component, e);
     addPathIfNeeded(e, model.posY, model.path);
     weaponProvider.provide(e, model.damage, component);
     return e;
 }
 public void Execute(EnemySpawnModel model)
 {
     model.health = health;
 }
Пример #11
0
 public void Execute(EnemySpawnModel model)
 {
     model.type = type;
 }
Пример #12
0
 public void Execute(LevelModelComponent component)
 {
     model = createEnemyModel();
     component.enemies.Add(model);
 }
 public void Execute(EnemySpawnModel model)
 {
     model.spawnBarrier = spawnBarrier;
 }
Пример #14
0
 public void SetEnemyModel(EnemySpawnModel enemyModel)
 {
     this.enemyModel = enemyModel;
     SetSpawnBarrier(enemyModel.spawnBarrier);
 }
Пример #15
0
 public void Execute(EnemySpawnModel model)
 {
     model.posY = posY;
 }
Пример #16
0
 Entity createEnemyFromCode(EnemySpawnModel model)
 {
     return createEnemyByTypeFromCode(model.type, model.posX, model.posY, model.health, model.path, 0, model.damage, model.speed);
 }
Пример #17
0
 public RemoveEnemyAction(EnemySpawnModel model)
 {
     this.model = model;
 }
Пример #18
0
 public void Execute(EnemySpawnModel model)
 {
     model.path = path;
 }