Example #1
0
    private void Initialize()
    {
        CurrentState = State.Idle;
        _avatarCtrl  = AvatarController.GetInstance();
        _avatar      = _avatarCtrl.Avatar;
        _avatar.OnSuccsefulEating += () => { Score += 1; };
        _avatar.OnDeath           += DeathHandler;
        _buildCtrl = BuildController.GetInstance();
        _buildCtrl.SetMeteorController();
        _taskCtrl                 = TaskController.GetInstance();
        _taskCtrl.Avatar          = _avatar;
        _taskCtrl.TaskCompleted  += (ITask x) => Debug.Log(x);
        DuringDistanceTask.Avatar = _avatar.transform;
        _pursuitCtrl              = PursuitController.GetInstance();
        _pursuitCtrl.AvatarTf     = _avatar.transform;
        _pursuitCtrl.Catched     += CatchedHandler;
        _idGen        = new IDGenerator();
        _stuff        = new SortedDictionary <int, GameObject>();
        _mainProvider = new MultiGeneratorProvider(_stuff, _pursuitCtrl, _idGen);
        _mainProvider.SetIDGenerator(_idGen);
        _firstCarPos  = new Vector2(0, 1);
        _firstCarDesc = new CarDescriptor(_firstCarPos, 0, 1);
        _playStats    = new PlayStatistics();
        _globStats    = GlobalStatistics.GetInstance();
//
        Vehicle.Avatar = _avatar;
        ProjectileGun.SetAvatar(_avatar);
        _isInitialized = true;
    }
Example #2
0
    private void TurnOnHandler()
    {
        for (_curIndx = 0; _curIndx < _skins.Length; ++_curIndx)
        {
            if (_mv.Current.gameObject == _skins[_curIndx].Skin)
            {
                break;
            }
        }
        _current = _skins[_curIndx];
        SetState();

        Screen.Rect.transform.Find("Score").GetComponent <Text>().text = GlobalStatistics.GetInstance().Score.ToString();
    }
Example #3
0
    public static bool Buy(ProgressData.DataType type, string name, int cost)
    {
        if (type != Skin && type != Task)
        {
            throw new ArgumentException();
        }
        var gs = GlobalStatistics.GetInstance();

        if (gs.Score < cost)
        {
            return(false);
        }
        gs.Score -= cost;
        ProgressData.GetInstance()[type, name] = true;
        return(true);
    }
Example #4
0
    private void Use()
    {
        switch (_state)
        {
        case State.Select:
            AppSettings.GetInstance().SetAvatar(_current.Skin.name);
            break;

        case State.Price:
            var b = LocalStore.Buy(Skin, _current.Skin.name, _current.Cost);
            if (b)
            {
                Screen.Rect.transform.Find("Score").GetComponent <Text>().text =
                    GlobalStatistics.GetInstance().Score.ToString();
            }
            else
            {
                //todo not enough
            }
            break;
        }
        SetState();
    }