Exemplo n.º 1
0
    private List <AsteroidRules> GetAsteroidRulesList(AsteroidForm currentForm, Vector3 parentDirection)
    {
        List <AsteroidRules> generatedList = new List <AsteroidRules>();

        int childAmount = 0;

        switch (currentForm)
        {
        case AsteroidForm.None:
            childAmount = 1;
            break;

        case AsteroidForm.Large:
            childAmount = 2;
            break;

        case AsteroidForm.Medium:
            childAmount = 2;
            break;

        case AsteroidForm.Small:
            childAmount = 0;
            break;
        }

        for (int i = 0; i < childAmount; i++)
        {
            generatedList.Add(AsteroidRulesBuilder.GetAsteroidRules(currentForm, parentDirection, levelNumber));
        }

        return(generatedList);
    }
Exemplo n.º 2
0
    public static AsteroidRules GetAsteroidRules(AsteroidForm currentForm, Vector3 parentDirection, int levelNumber)
    {
        AsteroidRules rules = new AsteroidRules();

        switch (currentForm)
        {
        case AsteroidForm.None:
            rules = GetRulesForNone(levelNumber);
            break;

        case AsteroidForm.Large:
            rules = GetRulesForLarge(parentDirection, levelNumber);
            break;

        case AsteroidForm.Medium:
            rules = GetRulesForMedium(parentDirection, levelNumber);
            break;

        case AsteroidForm.Small:
            rules = null;
            break;
        }

        return(rules);
    }
Exemplo n.º 3
0
    protected override void OnStart()
    {
        base.OnStart();

        if (asteroidForm == AsteroidForm.None)
        {
            List <AsteroidRules> rulesList = GetAsteroidRulesList(asteroidForm, movementDirection);
            SetupMovement(rulesList[0].direction, rulesList[0].speed);
            asteroidForm         = rulesList[0].form;
            transform.position   = new Vector3(Random.Range(-gameManager.xBorder, gameManager.xBorder), Random.Range(-gameManager.yBorder, gameManager.yBorder), 0);
            transform.localScale = new Vector3(rulesList[0].scale, rulesList[0].scale, 1);
        }

        //entityRadius = 4f * transform.localScale.x;
        SetAsteroindsPoints();
    }