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(); } } }