void Start()
    {
        PLAYER = GameObject.Find("Hero");
        ARMY = GameObject.Find("FellowHeroes");

        oc = GetComponentInChildren<ObstacleCreator>();
        ec = GetComponentInChildren<EnemyCreator>();
        bc = GetComponentInChildren<BoulderCreator>();

        timer = DifficultyIncreaseTimer;

        LEVEL_LENGTH_Z = LevelCreator.LengthConverter(LevelCreator.LEVEL_LENGTH) * 64 - 32;

        if (LevelCreator.INF_MODE)
        {
            SOLDIER_RATIO = 1;
            ec.RecalcTimer();
            CATAPULT_RATIO = 1;
            bc.RecalcTimer();
            OBSTACLE_RATIO = 1;
            oc.RecalcTimer();
            GUIScript.DIFFICULTY_INCREASE = 1;

            GUIScript.MAX_TIMER = DifficultyIncreaseTimer;
            GUIScript.INF_TIMER = 0;
        }
    }
Пример #2
0
    void Start()
    {
        levelData       = GetComponent <LevelData>();
        obstacleCreator = GetComponent <ObstacleCreator>();

        roadPositionDistance = road.transform.localScale.x * 4;
        isRotated            = false;
        isRotateRight        = Random.value >= 0.5;
        initialRoadPos       = new Vector3(0, 0, 0);

        StartGame();
    }
Пример #3
0
 //Constructor
 public GameEngine(WriteableBitmap screen)
 {
     //set values for objects.
     Screen    = screen;
     GameState = GameStates.MainMenu;
     distance  = 0;
     level     = Levels.one;
     speed     = 30;
     LoadHighScores();
     //Initialize objects
     User               = new Player();
     ItemSpawner        = new ItemCreator(User, speed);
     ObstacleSpawner    = new ObstacleCreator(User, speed);
     backgroundAnimator = new BackgroundAnimator(screen);
 }
Пример #4
0
    public override SteeringOutput.SteeringOutput getSteering()
    {
        /* Calcular direccion y magnitud del cono  */
        float           angle       = Character.orientation;
        Vector3         orientation = new Vector3(Mathf.Cos(angle), Mathf.Sin(angle), 0f);
        GameObject      obstacle    = GameObject.Find("Obstacle_1");
        ObstacleCreator oc          = obstacle.GetComponent <ObstacleCreator> ();
        Vector3         startPos    = Character.transform.position;

        startPos.z = -1;
        Vector3 endPos = startPos + orientation.normalized * Character.viewRadius;

        endPos.z = -1;
        bool choca = oc.bbx.rayCollides(startPos, endPos);

        foreach (Vector2 v in oc.bbx.vertex)
        {
            if ((startPos - new Vector3(v.x, v.y)).magnitude < Character.viewRadius && Vector3.Angle(startPos, v) <= Character.viewAngle)
            {
                choca = true;
                break;
            }
        }
        Debug.Log("BOOL: " + choca.ToString() + "positions" + startPos + endPos);
        /* Pintar perolito*/
        SteeringOutput.SteeringOutput steering = new SteeringOutput.SteeringOutput(new Vector2(0.0f, 0.0f), 0.0f);
        if (choca)
        {
            steering.linear = new Vector2(orientation.y, -orientation.x).normalized *Character.maxAcceleration;
            Character.lineRender.material.color = Color.red;
            Character.lineRender.startColor     = Color.red;
            Character.lineRender.endColor       = Color.red;
        }
        else
        {
            Character.lineRender.material.color = Color.green;
            Character.lineRender.startColor     = Color.green;
            Character.lineRender.endColor       = Color.green;
        }
        Vector3[] linePositions = { startPos, endPos };
        Character.lineRender.SetPositions(linePositions);
        return(steering);
    }
Пример #5
0
    private void Start()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }

        Time.timeScale = 0f;
        UIMenu.SetActive(true);

        BonusActivator.spawned = 0;

        Bonus.Effects = BonusEffect.None;
        Bonus.ShuffleBonusOrder();

        obstacleCreator = new ObstacleCreator();
    }