Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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]);
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 5
0
    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();
            }
        }
    }