Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (GamaManager.Instance.GameState != GameState.Play)
        {
            return;
        }

        _matchTimer -= Time.deltaTime;
        OnMatchTimer.Invoke(_matchTimer);

        if (_matchTimer < 0)
        {
            MatchOver();
        }

        if (Time.time < _time)
        {
            return;
        }

        _time = Time.time + _interval + Random.Range(-2, 1);

        var pos = RandomCircle(Vector3.zero, _spawnRadius);
        var dir = -pos;

        pos.y = Random.Range(_spawnHeightRange.x, _spawnHeightRange.y);

        dir *= Random.Range(0.4f, 1.1f);

        var fruit = Instantiate(_fruitPrefabs[Random.Range(0, _fruitPrefabs.Length)], pos, Quaternion.identity, transform);

        fruit.Throw(dir);
    }
Пример #2
0
    // Use this for initialization
    void Start()
    {
        LoadIn();

        _time = Time.time + .04f;

        OnMatchTimer.Invoke(_matchTimer);
    }
Пример #3
0
    // Use this for initialization
    void Start()
    {
        LoadIn();


        _lion.SetTarget(GamaManager.Instance.Players[0]);

        OnMatchTimer.Invoke(_matchTimer);


        if (GamaManager.Instance.Level > 5)
        {
            var otherLion = Instantiate(_lion, _lion.transform.position + new Vector3(2, 0, 2), Quaternion.identity, transform);
            _spareLions.Add(otherLion);
        }
    }
Пример #4
0
    // Update is called once per frame
    void Update()
    {
        _matchTimer -= Time.deltaTime;
        OnMatchTimer.Invoke(_matchTimer);

        if (_matchTimer < 0)
        {
            MatchOver();
        }

        var wait = GamaManager.Instance.GameState != GameState.Play;

        _lion.Wait(wait);
        for (int cnt = 0; cnt < _spareLions.Count; cnt++)
        {
            _spareLions[cnt].Wait(wait);
        }

        int numAlive = 0;
        AnimalController alivePlayer = null;

        for (int cnt = 0; cnt < GamaManager.Instance.Players.Count; cnt++)
        {
            if (GamaManager.Instance.Players[cnt].Dead)
            {
                continue;
            }
            numAlive++;
            alivePlayer = GamaManager.Instance.Players[cnt];
        }

        if (numAlive <= 1)
        {
            GamaManager.Instance.FinishGame(alivePlayer);
        }
    }