Beispiel #1
0
    void Start()
    {
        string filePath = Application.persistentDataPath;

        data = ProgressData.GetInstance();

        for (int i = 0; i < data.getNumberOfLevels(); i++)
        {
            GameObject button = Instantiate(buttonPrefab);
            button.GetComponent <LevelButtonController>().SetLevel(data.GetLevel(i));
            button.transform.SetParent(buttonParent, false);
        }
    }
Beispiel #2
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);
    }
Beispiel #3
0
 public CompanyVM(Screen screen)
 {
     if (screen.Type != Screen.ScreenType.Company)
     {
         throw new ArgumentException();
     }
     Screen          = screen;
     screen.TurnedOn = TurnOnHandler;
     screen.Rect.transform.Find("Back").GetComponent <Button>().onClick.AddListener(HandleBackButton);
     _map = screen.Rect.transform.Find("Map");
     _pd  = ProgressData.GetInstance();
     foreach (var point in _map.GetComponentsInChildren <MapPoint>())
     {
         point.Clicked = ShowLevelDetails;
     }
 }
Beispiel #4
0
    public ShowroomVM(Screen screen)
    {
        if (screen.Type != Screen.ScreenType.Showroom)
        {
            throw new ArgumentException();
        }
        Screen = screen;
        screen.Rect.transform.Find("Back").GetComponent <Button>().onClick.AddListener(HandleBackButton);
        screen.Rect.transform.Find("Left").GetComponent <ClickHandler>().Clicked  = () => Next(true);
        screen.Rect.transform.Find("Right").GetComponent <ClickHandler>().Clicked = () => Next(false);
        _use = screen.Rect.transform.Find("Use").GetComponent <Button>();
        _use.onClick.AddListener(Use);
        _useText = screen.Rect.transform.Find("Use").GetComponentInChildren <Text>();

        screen.TurnedOn = TurnOnHandler;
        _skins          = SkinsContainer.GetInstance().Skins;
        _mv             = ModelViewer.GetInstance();
        _progress       = ProgressData.GetInstance();
    }
    public void Refresh(Level lvl)
    {
        var pd = ProgressData.GetInstance();
        var ca = GetComponent <ContentArranger>();

        ca.Clear();
        foreach (var t in lvl.Tasks)
        {
            var completed = pd[ProgressData.DataType.Task, t.Name];
            if (!completed || ShowCompleted)
            {
                var tp = Instantiate(PrefabTaskPanel);
                tp.SetActive(true);
                var tpc = tp.GetComponent <TaskPanelCtrl>();
                tpc.SetTask(t, completed);
                ca.Add((RectTransform)tp.transform);
            }
        }
    }
    public void LevelCompleted()
    {
        progressTextAnim.SetTrigger("Completed");
        completedPopupAnim.SetTrigger("Completed");
        GameObject.Find("PauseButton").SetActive(false);

        completedStar = true;

        if (Time.fixedDeltaTime * controller.GetCurrentFrame() <= starTime)
        {
            timeStar = true;
        }

        int stars = 0;

        if (completedStar)
        {
            stars |= 4;
        }
        if (timeStar)
        {
            stars |= 2;
        }
        if (collectableStar)
        {
            stars |= 1;
        }

        Level level = ProgressData.GetInstance().GetLevelBySceneName(SceneManager.GetActiveScene().name);

        level.Complete(stars);
        ProgressData.GetInstance().SaveProgress();

        GameObject star1 = GameObject.Find("Star1");
        GameObject star2 = GameObject.Find("Star2");
        GameObject star3 = GameObject.Find("Star3");

        star1.SetActive(completedStar);
        star2.SetActive(timeStar);
        star3.SetActive(collectableStar);
    }
 public void Initialize()
 {
     _globalProgress = ProgressData.GetInstance();
     _tasks          = new Dictionary <TaskType, ITask>();
 }