public UnitConfig(int unitId) { _gameConfigRepository = CallContext <GameConfigRepository> .GetData("GameConfigRepository"); var units = _gameConfigRepository.GetEntities("Unit"); _unit = units.GetById(unitId); _unitActions = _gameConfigRepository.GetEntities("UnitAction").Filter("UnitId", unitId); _unitMovements = _gameConfigRepository.GetEntities("UnitMovement").Filter("UnitId", unitId); _unitBuildings = _gameConfigRepository.GetEntities("UnitBuilding").Filter("UnitId", unitId); _unitRaces = _gameConfigRepository.GetEntities("UnitRace").Filter("UnitId", unitId); _movementIncrementSightBy = _gameConfigRepository.GetEntities("MovementIncrementSightBy"); ActionsThisUnitCanPerform = _gameConfigRepository.ToList(_unitActions, "Action", "ActionId", "Name"); MovementTypesThisUnitCanPerform = _gameConfigRepository.ToList(_unitMovements, "Movement", "MovementId", "Name"); BuildingsRequiredToBuildThisUnit = _gameConfigRepository.ToList(_unitBuildings, "Building", "BuildingId", "Name"); RacesThatCanBuildThisUnit = _gameConfigRepository.ToList(_unitRaces, "Race", "RaceId", "Name"); MovementSightIncrements = new List <int>(); foreach (var item in _unitMovements) { var movementId = (int)item.MovementId; var movementIncrementSightBy = _movementIncrementSightBy.Filter("MovementId", movementId); foreach (var item2 in movementIncrementSightBy) { MovementSightIncrements.Add((int)item2.Value); } } }
void Start() { _healAmountPerSec = GameConfigRepository.LoadStaminaHealAmount(); _consumeAmountPerTap = GameConfigRepository.LoadStaminaConsumeAmount(); _currentAmount = InGameParameters.PlayerStaminaMax; _isPause = false; }
public ActionConfig(int actionId) { _gameConfigRepository = CallContext <GameConfigRepository> .GetData("GameConfigRepository"); var actions = _gameConfigRepository.GetEntities("Action"); _action = actions.GetById(actionId); }
public MovementConfig(int movementId) { _gameConfigRepository = CallContext <GameConfigRepository> .GetData("GameConfigRepository"); var movements = _gameConfigRepository.GetEntities("Movement"); _movement = movements.GetById(movementId); IncrementSightBy = DetermineIncrementSightBy(movementId); }
public void Setup() { if (_repo != null) { return; } _repo = new GameConfigRepository(); CallContext <GameConfigRepository> .SetData("GameConfigRepository", _repo); }
public RaceConfig(int raceId) { _gameConfigRepository = CallContext <GameConfigRepository> .GetData("GameConfigRepository"); var races = _gameConfigRepository.GetEntities("Race"); _race = races.GetById(raceId); _raceTownNames = _gameConfigRepository.GetEntities("RaceTownName").Filter("RaceId", raceId); _unitRaces = _gameConfigRepository.GetEntities("UnitRace").Filter("RaceId", raceId); _raceBuildings = _gameConfigRepository.GetEntities("RaceBuilding").Filter("RaceId", raceId); TownNamesForThisRace = _gameConfigRepository.ToList(_raceTownNames, "TownName", "TownNameId", "Name"); UnitsThatCanBeBuiltByThisRace = _gameConfigRepository.ToList(_unitRaces, "Unit", "UnitId", "Name"); BuildingsThatCanBeBuiltByThisRace = _gameConfigRepository.ToList(_raceBuildings, "Building", "BuildingId", "Name"); }
public TerrainConfig(int terrainId) { _gameConfigRepository = CallContext <GameConfigRepository> .GetData("GameConfigRepository"); var terrains = _gameConfigRepository.GetEntities("Terrain"); _terrain = terrains.GetById(terrainId); _terrainMovements = _gameConfigRepository.GetEntities("TerrainMovement").Filter("TerrainId", terrainId); _terrainTextures = _gameConfigRepository.GetEntities("TerrainTexture").Filter("TerrainId", terrainId); Movements = DetermineMovementsForThisTerrain(); PossibleTexturesForThisTerrain = DeterminePossibleTexturesForThisTerrain(); CanSettleOn = DetermineCanSettleOn(terrainId); FoodOutput = DetermineFoodOutput(terrainId); ProductionPercentage = DetermineProductionPercentage(terrainId); }
private void Run() { float stamina = GetComponent <PlayerStamina>().GetCurrentValue(); float velocityX = PlayerMovementMathFunctions.GetVelocityByStamina(stamina, GameConfigRepository.LoadMovementEquationType()); if (_player.GetState() == Player.State.Damaged) { velocityX += InGameParameters.PlayerMinusVelocityWhenDamaged; } velocityX = Mathf.Clamp( velocityX, InGameParameters.PlayerVelocityMin, InGameParameters.PlayerVelocityMax); Vector3 velocity = GetComponent <Rigidbody2D>().velocity; velocity.x = velocityX; GetComponent <Rigidbody2D>().velocity = velocity; }
void Start() { Debug.Assert(_dropdownMovementFunction != null); Debug.Assert(_dropdownStaminaHealAmount != null); Debug.Assert(_dropdownStaminaConsumeAmount != null); _movementFunctionOptions = new MovementFunctionOption[] { new MovementFunctionOption( PlayerMovementMathFunctions.Type.LinerEquation01, "1次方程式01" ), new MovementFunctionOption( PlayerMovementMathFunctions.Type.QuarticEquation01, "2次方程式01" ), }; _staminaHealAmountOptions = Enumerable.Range((int)InGameParameters.StaminaHealAmountMin, (int)(InGameParameters.StaminaHealAmountMax - InGameParameters.StaminaHealAmountMin + 1)) .Select((x) => (float)x) .ToArray(); _staminaConsumeAmountOptions = Enumerable.Range((int)InGameParameters.StaminaConsumeAmountMin, (int)(InGameParameters.StaminaConsumeAmountMax - InGameParameters.StaminaConsumeAmountMin + 1)) .Select((x) => (float)x) .ToArray(); List <string> labels = _movementFunctionOptions.Select(x => x.Label).ToList(); int index = System.Array.FindIndex(_movementFunctionOptions, x => x.Type == GameConfigRepository.LoadMovementEquationType()); _dropdownMovementFunction.ClearOptions(); _dropdownMovementFunction.AddOptions(labels); _dropdownMovementFunction.value = (index != -1) ? index : 0; labels = _staminaHealAmountOptions.Select(x => x.ToString("")).ToList(); index = System.Array.FindIndex(_staminaHealAmountOptions, x => x == GameConfigRepository.LoadStaminaHealAmount()); _dropdownStaminaHealAmount.ClearOptions(); _dropdownStaminaHealAmount.AddOptions(labels); _dropdownStaminaHealAmount.value = (index != -1) ? index : 0; labels = _staminaConsumeAmountOptions.Select(x => x.ToString("")).ToList(); index = System.Array.FindIndex(_staminaConsumeAmountOptions, x => x == GameConfigRepository.LoadStaminaConsumeAmount()); _dropdownStaminaConsumeAmount.ClearOptions(); _dropdownStaminaConsumeAmount.AddOptions(labels); _dropdownStaminaConsumeAmount.value = (index != -1) ? index : 0; }
public BuildingConfig(int buildingId) { _gameConfigRepository = CallContext <GameConfigRepository> .GetData("GameConfigRepository"); var buildings = _gameConfigRepository.GetEntities("Building"); _building = buildings.GetById(buildingId); _raceBuildings = _gameConfigRepository.GetEntities("RaceBuilding").Filter("BuildingId", buildingId); _unitBuildings = _gameConfigRepository.GetEntities("UnitBuilding").Filter("BuildingId", buildingId); _requiredBuildings = _gameConfigRepository.GetEntities("RequiredBuilding").Filter("BuildingId", buildingId); RacesThatCanBuildThisBuilding = _gameConfigRepository.ToList(_raceBuildings, "Race", "RaceId", "Name"); UnitsThatAreRequiredByThisBuilding = _gameConfigRepository.ToList(_unitBuildings, "Unit", "UnitId", "Name"); BuildingsRequiredToBuildThisBuilding = _gameConfigRepository.ToList(_requiredBuildings, "Building", "RequiredBuildingId", "Name"); MaximumPopulationIncrease = DetermineMaximumPopulationIncrease(buildingId); PopulationGrowthRateIncrease = DeterminePopulationGrowthRateIncrease(buildingId); FoodOutputIncrease = DetermineFoodOutputIncrease(buildingId); }
public MainGame(PointI desiredResolution) { _graphicsDeviceManager = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; var gameConfigRepository = new GameConfigRepository(); CallContext <GameConfigRepository> .SetData("GameConfigRepository", gameConfigRepository); var gameConfigCache = new GameConfigCache(); CallContext <GameConfigCache> .SetData("GameConfigCache", gameConfigCache); var gameDataRepository = new GameDataRepository(); CallContext <GameDataRepository> .SetData("GameDataRepository", gameDataRepository); var presentationContext = new GlobalContextPresentation { DesiredResolution = desiredResolution }; CallContext <GlobalContextPresentation> .SetData("GlobalContextPresentation", presentationContext); }
public void OnStaminaConsumeAmountOptionChanged(int index) { GameConfigRepository.SaveStaminaConsumeAmount(_staminaConsumeAmountOptions[index]); }
public void OnMovementFunctionOptionChanged(int index) { GameConfigRepository.SaveMovementEquationType(_movementFunctionOptions[index].Type); }