public void InjectDependencies( IUnitConfig config, IUnitExperienceLogic unitExperienceLogic, UnitSignals signals ) { Config = config; UnitExperienceLogic = unitExperienceLogic; Signals = signals; }
public DestructionPostCombatResponder( IUnitPositionCanon unitPositionCanon, IUnitConfig unitConfig, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon ) { UnitPositionCanon = unitPositionCanon; UnitConfig = unitConfig; UnitPossessionCanon = unitPossessionCanon; }
public UnitExperienceLogic( IUnitConfig config, IUnitModifiers unitModifiers, UnitSignals unitSignals ) { Config = config; UnitModifiers = unitModifiers; unitSignals.MeleeCombatWithUnit.Subscribe(OnMeleeCombat); unitSignals.RangedCombatWithUnit.Subscribe(OnRangedCombat); }
public GreatPersonCanon( ICivilizationConfig civConfig, IUnitConfig unitConfig, CivilizationSignals civSignals ) { CivConfig = civConfig; UnitConfig = unitConfig; civSignals.GreatPersonBorn.Subscribe(OnGreatPersonBorn); }
public CombatAuraLogic( IUnitConfig unitConfig, IUnitPositionCanon unitPositionCanon, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon, IHexGrid grid ) { UnitConfig = unitConfig; UnitPositionCanon = unitPositionCanon; UnitPossessionCanon = unitPossessionCanon; Grid = grid; }
public GreatPersonFactory( ICapitalCityCanon capitalCityCanon, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IUnitFactory unitFactory, IUnitConfig unitConfig, IHexGrid grid, CivilizationSignals civSignals ) { CapitalCityCanon = capitalCityCanon; CityLocationCanon = cityLocationCanon; UnitFactory = unitFactory; UnitConfig = unitConfig; Grid = grid; CivSignals = civSignals; }
public void InjectDependencies( IUnitConfig config, UnitSignals signals, IUnitPositionCanon positionCanon, IHexGrid grid, IPromotionParser promotionParser ) { Config = config; Signals = signals; PositionCanon = positionCanon; Grid = grid; PromotionParser = promotionParser; signals.GainedNewOwner.Subscribe(OnUnitGainedNewOwner); }
public UnitFactory( DiContainer container, IUnitPositionCanon unitPositionCanon, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon, [Inject(Id = "Unit Container")] Transform unitContainer, IUnitConfig unitConfig, UnitSignals signals ) { Container = container; UnitPositionCanon = unitPositionCanon; UnitPossessionCanon = unitPossessionCanon; UnitContainer = unitContainer; UnitConfig = unitConfig; UnitSignals = signals; signals.BeingDestroyed.Subscribe(OnUnitBeingDestroyed); }
public UnitHealingLogic( IUnitConfig unitConfig, IPromotionParser promotionParser, IUnitPositionCanon unitPositionCanon, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, ICivilizationTerritoryLogic civTerritoryLogic, IHexGrid grid ) { UnitConfig = unitConfig; PromotionParser = promotionParser; UnitPositionCanon = unitPositionCanon; UnitPossessionCanon = unitPossessionCanon; CityLocationCanon = cityLocationCanon; CivTerritoryLogic = civTerritoryLogic; Grid = grid; }
public CombatInfoLogic( IUnitConfig config, IRiverCanon riverCanon, IImprovementLocationCanon improvementLocationCanon, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon, ICivilizationHappinessLogic civilizationHappinessLogic, ICivilizationConfig civConfig, IUnitFortificationLogic fortificationLogic, ICombatAuraLogic combatAuraLogic, ICityCombatModifierLogic cityCombatModifierLogic ) { UnitConfig = config; RiverCanon = riverCanon; ImprovementLocationCanon = improvementLocationCanon; UnitPossessionCanon = unitPossessionCanon; CivilizationHappinessLogic = civilizationHappinessLogic; CivConfig = civConfig; FortificationLogic = fortificationLogic; CombatAuraLogic = combatAuraLogic; CityCombatModifierLogic = cityCombatModifierLogic; }
/// <summary> /// Наполнение префаба данными /// </summary> /// <param name="prefab">Объект префаба</param> /// <param name="configObject">Объект конфигурационного файла</param> /// <typeparam name="T">Тип конфигурационного файла</typeparam> private void FillPrefabWithData <T>(GameObject prefab, T configObject) { var hpComponent = prefab.GetComponent <HPComponent>(); var speedComponent = prefab.GetComponent <SpeedComponent>(); var attackComponent = prefab.GetComponent <AttackComponent>(); var costComponent = prefab.GetComponent <CostComponent>(); var visionComponent = prefab.GetComponent <VisionComponent>(); if (typeof(T) == typeof(IBuildingConfig)) { IBuildingConfig buildingConfig = (IBuildingConfig)configObject; //TODO заполнить для зданий, когда появятся необходимые компоненты } if (typeof(T) == typeof(IUnitConfig)) { IUnitConfig unitConfig = (IUnitConfig)configObject; if (hpComponent != null) { hpComponent.MaxHP = (int)unitConfig.Hp; } if (speedComponent != null) { speedComponent.MaxSpeed = unitConfig.Speed; } if (attackComponent != null) { attackComponent.MinDamage = (int)unitConfig.MinAttack; attackComponent.MaxDamage = (int)unitConfig.MaxAttack; attackComponent.AttackDelay = (int)unitConfig.AttackSpeed; } if (costComponent != null) { costComponent.Gold = (int)unitConfig.Cost; } if (visionComponent != null) { visionComponent.AttackRange = unitConfig.MaxDistance; } } }
public UnitFortificationLogic(IUnitConfig unitConfig, CoreSignals coreSignals) { UnitConfig = unitConfig; coreSignals.RoundBegan.Subscribe(OnRoundBegan); }
public static DirectionalTexture GetDirectionalTexture(this IUnitConfig unitConfig) { return(new DirectionalTexture(unitConfig.TextureNorthEast, unitConfig.TextureSouthEast, unitConfig.TextureSouthWest, unitConfig.TextureNorthWest)); }
public CombatCalculator(IUnitConfig unitConfig) { UnitConfig = unitConfig; }