private void ChangeBodyTypeAccordingToMass(SpaceBodyType currntBodyType, SpaceBodyType newBodyType) { float difference = ((float)newBodyType - (float)currntBodyType) / 10; AllObjectData.instance.go.transform.localScale = new Vector3(AllObjectData.instance.go.transform.localScale.x + difference, AllObjectData.instance.go.transform.localScale.y + difference, AllObjectData.instance.go.transform.localScale.z + difference); }
public EnemyParametaers GetEnemyParametaers(SpaceBodyType enemyType) { List <EnemyParametaers> parametaersOfType = enemyParametaers.Where(x => x.enemyType == enemyType).ToList(); int objectToSpawn = MainCount.instance.IntegerRandom(0, parametaersOfType.Count); return(parametaersOfType[objectToSpawn]); }
public void CheckMass() { SpaceBodyType currentBotyType = PlayerStats.instance.spaceBodyType; var newBodyType = MapMassToBodyType(); if (currentBotyType != newBodyType) { ChangeBodyTypeAccordingToMass(currentBotyType, newBodyType); PlayerStats.instance.spaceBodyType = newBodyType; } }
public EnemyAbiliteesDTO GetEnemyAbilitees(SpaceBodyType enemyType) { EnemyAbiliteesDTO enemyAbiliteesDTO = new EnemyAbiliteesDTO { gravityRange = 0, gravityValue = 0, hasGavity = false }; switch (enemyType) { case SpaceBodyType.planet: enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 1; break; case SpaceBodyType.gigantPlanet: enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 2; break; case SpaceBodyType.smallStar: enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 3; break; case SpaceBodyType.star: enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 4; break; case SpaceBodyType.hugeStar: enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 5; break; case SpaceBodyType.quazar: //6 enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 6; break; case SpaceBodyType.blackHole: //8 enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 8; break; case SpaceBodyType.gigantBlackHole: //10 enemyAbiliteesDTO.hasGavity = true; enemyAbiliteesDTO.gravityValue = 10; break; } enemyAbiliteesDTO.gravityRange = enemyAbiliteesDTO.gravityValue * enemyAbiliteesDTO.gravityValue; return(enemyAbiliteesDTO); }
private void ChangeType(SpaceBodyType newEnemyType)//2 { EnemyAbiliteesCounter enemyAbiliteesCounter = new EnemyAbiliteesCounter(); EnemyAbiliteesDTO enemyAbiliteesDTO = enemyAbiliteesCounter.GetEnemyAbilitees(newEnemyType); stats.hasGavity = enemyAbiliteesDTO.hasGavity; stats.gravityRange = enemyAbiliteesDTO.gravityRange; stats.gravityValue = enemyAbiliteesDTO.gravityValue; enemyAttractor.Attract(gameObject, stats); if (stats.enemyType != newEnemyType) { //image here stats.enemyType = EnemyTypeCounter.GetEnemyType(stats.mass, stats.solidValue); EnemyParametaers parametaers = EnemyParametersLibrary.instance.GetEnemyParametaers(stats.enemyType); spriteRenderer.sprite = parametaers.sprite; circleCollider.radius = parametaers.colliderRadius; if (parametaers.isChangingColor) { spriteRenderer.color = GetEnemyColorAccordingToPlayerStats(); } } }