Example #1
0
 public HeroUnit( string name, 
     UnitCharacteristics characteristics, 
     Spell[] spells, 
     EntityController.Faction faction, 
     EffectsController effectsController, 
     BaseUnitController.UpdateCharacteristics updateCharacteristics, 
     BaseUnitController.Death updateDeath, 
     HeroUnitController.LevelUpEffectDelegate 
     levelUpEffect, BaraksModel.SetUpdeteCharacteristicsDelegate setUpdeteCharacteristicsDelegate, Action deleteVisualEffect )
     : base(characteristics, 
         faction, 
         effectsController, 
         updateCharacteristics, 
         updateDeath, 
         setUpdeteCharacteristicsDelegate, deleteVisualEffect)
 {
     this.spells = spells;
     this.levelUpEffect = levelUpEffect;
 }
    public void CreateUnit( UnitViewPresenter unitViewPresenter, BaseUnit.UnitCharacteristics unitCharacteristics, Faction faction, BaraksModel.SetUpdeteCharacteristicsDelegate setUpdeteCharacteristicsDelegate )
    {
        unitViewPresenter.faction = faction;

        unitViewPresenter.GetPlayer( player );

        BaseUnitController unitController;

        if ( unitViewPresenter.unitType == BaseUnit.UnitType.hero ) {
            unitController = new HeroUnitController( SelectUnit, (HeroViewPresentor)unitViewPresenter, unitCharacteristics, GetUnitTarget, faction, DestroyUnit, _HeroResurrect, setUpdeteCharacteristicsDelegate );
            buildController = new BuildController( SelectUnit, buildViewPresenter, unitCharacteristics, GetUnitTarget, faction, DestroyUnit, setUpdeteCharacteristicsDelegate );
        } else {
            unitController = new BaseUnitController( SelectUnit, unitViewPresenter, unitCharacteristics, GetUnitTarget, faction, DestroyUnit, setUpdeteCharacteristicsDelegate );
        }

        if ( faction == Faction.Blue ) {
            unitsControllersBlue.Add( unitController );
        } else {
            unitsControllersRed.Add( unitController );
        }
    }
 private void _HeroResurrect(HeroUnitController heroUnitController )
 {
     unitsControllersBlue.Add( heroUnitController );
 }