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); }
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; }
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; }
public EnemyActionExecutor(EnemySpawnModel model) { this.model = model; }
public ActiveEnemyModelChangeEvent(EnemySpawnModel model) { this.model = model; }
public Entity CreateEnemyByModel(EnemySpawnModel model) { getDifficultyController(); EnemyModel component = getModelIfExist(model.type); return component != null ? createEnemyFromComponent(model, component) : createEnemyFromCode(model); }
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; }
public void Execute(EnemySpawnModel model) { model.type = type; }
public void Execute(LevelModelComponent component) { model = createEnemyModel(); component.enemies.Add(model); }
public void Execute(EnemySpawnModel model) { model.spawnBarrier = spawnBarrier; }
public void SetEnemyModel(EnemySpawnModel enemyModel) { this.enemyModel = enemyModel; SetSpawnBarrier(enemyModel.spawnBarrier); }
public void Execute(EnemySpawnModel model) { model.posY = posY; }
Entity createEnemyFromCode(EnemySpawnModel model) { return createEnemyByTypeFromCode(model.type, model.posX, model.posY, model.health, model.path, 0, model.damage, model.speed); }
public RemoveEnemyAction(EnemySpawnModel model) { this.model = model; }
public void Execute(EnemySpawnModel model) { model.path = path; }