Beispiel #1
0
    void Awake()
    {
        Current = this;
        string str = PlayerPrefs.GetString("stats" + Level, null);

        Stats = JsonUtility.FromJson <LevelStat> (str) ?? new LevelStat();
    }
Beispiel #2
0
    public void saveStatistics()
    {
        LevelStat ls = new LevelStat();

        ls.all_crystal = PlayerStats.stat.all_crystals;
        ls.level1      = PlayerStats.stat.isLevelEnded(1);
        ls.level2      = PlayerStats.stat.isLevelEnded(2);
        ls.coins       = PlayerStats.stat.getCoins();
        ls.coins2      = PlayerStats.stat.getCoins2();
        if (LevelController.current.Level == 1)
        {
            if (PlayerStats.stat.collectedFruits() == PlayerStats.stat.getMaxFruits())
            {
                ls.allFruits1 = true;
            }
            ls.fruits = PlayerStats.stat.fruits;
        }
        if (LevelController.current.Level == 2)
        {
            ls.fruits2 = PlayerStats.stat.fruits;
            if (PlayerStats.stat.collectedFruits() == PlayerStats.stat.getMaxFruits())
            {
                ls.allFruits1 = true;
            }
        }
        PlayerStats.stat.fruits = null;
        string str = JsonUtility.ToJson(ls);

        PlayerPrefs.SetString("stats", str);
        PlayerPrefs.Save();
    }
Beispiel #3
0
    public void setMaxFruits(int quantity, int lvl)
    {
        string str = PlayerPrefs.GetString("stats", null);

        if (str != null)
        {
            LevelStat ls = JsonUtility.FromJson <LevelStat>(str);
            if (lvl == 1)
            {
                fruits = ls.fruits;
            }
            if (lvl == 2)
            {
                fruits = ls.fruits2;
            }
        }
        if (fruits == null)
        {
            fruits = new bool[quantity];
        }
        else if (quantity > fruits.Length)
        {
            fruits = new bool[quantity];
        }
    }
Beispiel #4
0
    void showStatistic()
    {
        SpriteRenderer fruit     = GameObject.Find("EmptyFruit").GetComponent <SpriteRenderer>();
        SpriteRenderer crystal   = GameObject.Find("EmptyCrystal").GetComponent <SpriteRenderer>();
        SpriteRenderer completed = GameObject.Find("Completed").GetComponent <SpriteRenderer>();

        string    str   = PlayerPrefs.GetString(LevelName + "_stats", null);
        LevelStat stats = JsonUtility.FromJson <LevelStat>(str);

        if (stats == null)
        {
            stats            = new LevelStat();
            completed.sprite = null;
        }

        if (stats.hasAllFruits)
        {
            fruit.sprite = fruitFull;
        }

        if (stats.hasCrystals)
        {
            crystal.sprite = crystalFull;
        }

        if (!stats.levelPassed)
        {
            completed.sprite = null;
        }
    }
Beispiel #5
0
    // Use this for initialization
    void Start()
    {
        string    str   = PlayerPrefs.GetString("stats" + Level, null);
        LevelStat stats = JsonUtility.FromJson <LevelStat>(str);

        if (stats == null)
        {
            _locked = Level != 1;
            if (!_locked)
            {
                Lock.GetComponent <SpriteRenderer>().sprite = null;
                return;
            }
            str     = PlayerPrefs.GetString("stats" + (Level - 1), null);
            stats   = JsonUtility.FromJson <LevelStat>(str);
            _locked = stats == null || !stats.LevelPassed;
            Lock.GetComponent <SpriteRenderer>().sprite = _locked ? LockSprite : null;
        }
        else
        {
            if (stats.HasCrystals)
            {
                Crystal.GetComponent <SpriteRenderer>().sprite = CrystalSprite;
            }
            if (stats.HasAllFruits)
            {
                Fruit.GetComponent <SpriteRenderer>().sprite = FruitSprite;
            }
            if (!stats.LevelPassed)
            {
                Lock.GetComponent <SpriteRenderer>().sprite = null;
            }
        }
    }
    void Awake()
    {
        current = this;
        if (level > 0)
        {
            levelStat = LevelsManager.Instance.GetLevelStat(level);
        }
        canvas = GameObject.Find("Canvas");

        allFruits = GameObject.FindGameObjectsWithTag("Fruit");
        Color fruitColor;

        foreach (GameObject fruit in allFruits)
        {
            if (levelStat.collectedFruits.Contains(fruit.transform.position))
            {
                Debug.Log("Fruit opacity");
                fruitColor   = fruit.GetComponent <SpriteRenderer>().color;
                fruitColor.a = 0.5f;
                fruit.GetComponent <SpriteRenderer>().color = fruitColor;
            }
        }

        allFruitsOnLevel = allFruits.Length;
        if (fruitPanel != null)
        {
            fruitPanel.SetAllFruitsLabel(allFruitsOnLevel);
        }
    }
Beispiel #7
0
    private void Awake()
    {
        levelName = "Level" + level;

        LevelStat stats = LevelStat.Deserialize(levelName);

        if (stats == null)
        {
            stats = new LevelStat();
        }

        crystal.enabled = stats.hasCrystals;
        fruit.enabled   = stats.hasAllFruits;

        if (level > 1)
        {
            string prevLevelName = "Level" + (level - 1);

            if (LevelStat.Deserialize(prevLevelName) != null)
            {
                isOpen = LevelStat.Deserialize(prevLevelName).levelPassed;
            }
            else
            {
                isOpen = false;
            }
        }

        locked.enabled = !isOpen;
        check.enabled  = stats.levelPassed;
    }
Beispiel #8
0
 // Use this for initialization
 void Start()
 {
     /*	  if (level == Level.Level1) {
      *                      scene = "Level1";
      *              } else if (level == Level.Level2 ) {
      *                      scene = "Level2";
      *              }*/
     if (level == Level.ChooseLevel)
     {
         scene = "ChooseLevel";
     }
     if (level == Level.Level1 || level == Level.Level2)
     {
         LevelStat stats1 = JsonUtility.FromJson <LevelStat>(PlayerPrefs.GetString("Level1stats"));
         LevelStat stats2 = JsonUtility.FromJson <LevelStat>(PlayerPrefs.GetString("Level2stats"));
         Debug.Log(PlayerPrefs.GetString("Level1stats"));
         if (level == Level.Level1)
         {
             scene = "Level1";
             createDoor(stats1);
             //щоб не зайшов
         }
         else if (level == Level.Level2 && stats1.levelCompleted)
         {
             scene = "Level2";
             createDoor(stats2);
         }
     }
 }
Beispiel #9
0
    // Use this for initialization
    void Start()
    {
        LevelStat levelInfo;
        string    str = PlayerPrefs.GetString(level, null);

        if (str == null || str.Length == 0)
        {
            levelInfo = new LevelStat();
        }
        else
        {
            levelInfo = JsonUtility.FromJson <LevelStat>(str);
        }
        if (levelInfo.hasAllFruits)
        {
            allFruits.GetComponent <SpriteRenderer>().sprite = getFruits;
        }
        if (levelInfo.hasCrystals)
        {
            allCrystals.GetComponent <SpriteRenderer>().sprite = getCrystals;
        }
        if (levelInfo.levelPassed)
        {
            winLabel.GetComponent <SpriteRenderer>().sprite = getWin;
        }
    }
Beispiel #10
0
    void Start()
    {
        if (nameLevel == null)
        {
            nameLevel = "Level1";
        }


        String currLevel = nameLevel.Substring(5);

        if (Convert.ToInt32(currLevel) > 1)
        {
            LevelStat levelInfo;
            string    str = PlayerPrefs.GetString((Convert.ToInt32(currLevel) - 1) + "", null);
            if (str == null || str.Length == 0)
            {
                levelInfo = new LevelStat();
            }
            else
            {
                levelInfo = JsonUtility.FromJson <LevelStat>(str);
            }
            if (!levelInfo.levelPassed)
            {
                Destroy(gameObject.GetComponent <BoxCollider2D>());
            }
        }
    }
Beispiel #11
0
    // Use this for initialization
    void Start()
    {
        LevelStat levelStat = LevelStat.fromStorage(level);

        if (level == 1 || LevelStat.fromStorage(level - 1).levelPassed)
        {
            Destroy(doorLock);
        }

        if (!levelStat.levelPassed)
        {
            Destroy(check);
        }

        if (levelStat.hasAllFruits)
        {
            SpriteRenderer fruitRenderer = fruit.GetComponent <SpriteRenderer> ();
            fruitRenderer.sprite = fruitFilled;
        }

        if (levelStat.hasAllCrystals)
        {
            SpriteRenderer crystalRenderer = crystal.GetComponent <SpriteRenderer> ();
            crystalRenderer.sprite = crystalFilled;
        }
    }
Beispiel #12
0
    public void setStats(LevelStat levelStat)
    {
        labelFruit      = fruitLabel.GetComponent <UILabel> ();
        labelCoins      = coinLabel.GetComponent <UILabel> ();
        labelFruit.text = levelStat.collectedFruits.Count + "/" + levelStat.maxFruits;
        labelCoins.text = "+" + levelStat.collectedCoins;

        List <Crystal.Color> crystalColors = levelStat.collectedCrystals;

        for (int i = 0; i < crystalColors.Count; i++)
        {
            Transform  child  = crystalParent.transform.GetChild(i);
            UI2DSprite sprite = child.gameObject.GetComponent <UI2DSprite> ();
            switch (crystalColors [i])
            {
            case Crystal.Color.Blue:
                sprite.sprite2D = CrystalController.current.crystalBlueSprite;
                break;

            case Crystal.Color.Green:
                sprite.sprite2D = CrystalController.current.crystalGreenSprite;
                break;

            case Crystal.Color.Red:
                sprite.sprite2D = CrystalController.current.crystalRedSprite;
                break;
            }
        }

        HeroController.lastRabit.enabled = false;
    }
Beispiel #13
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (levelToSelect == 1 || LevelStat.fromStorage(levelToSelect - 1).levelPassed)
     {
         SceneManager.LoadScene("Level" + levelToSelect);
     }
 }
Beispiel #14
0
    public void SaveLevelStat(LevelStat levelStat, int level)
    {
        string str = JsonUtility.ToJson(levelStat);

        PlayerPrefs.SetString("level" + level, str);

        levelsStatistic[level - 1] = levelStat;
    }
 public void LoadStats()
 {
     this.stats = LevelStat.ReadInfo(SceneManager.GetActiveScene().name);
     if (this.stats == null)
     {
         this.stats = new LevelStat();
     }
 }
Beispiel #16
0
 public void LoadStatistics()
 {
     this.statistics = LevelStat.Deserialize(levelName);
     if (this.statistics == null)
     {
         this.statistics = new LevelStat();
     }
 }
Beispiel #17
0
    // Use this for initialization
    void Start()
    {
        winingSource      = gameObject.AddComponent <AudioSource>();
        winingSource.clip = winingSound;
        if (SoundManager.Instance.isMusicOn())
        {
            winingSource.Play();
        }

        repeat.signalOnClick.AddListener(this.RepeatLevel);
        nextLevel.signalOnClick.AddListener(this.Menu);
        closeButton.signalOnClick.AddListener(this.Menu);
        backgroundButton.signalOnClick.AddListener(this.Menu);

        LevelStat stat = LevelController.current.stat;

        stat.levelPassed = true;

        if (CrystalPanel.current.obrtainedCrystals.Count > 3)
        {
            stat.hasCrystals = true;
        }

        for (int i = 0; i < 3; i++)
        {
            int crystal_id = i;
            if (CrystalPanel.current.obrtainedCrystals.ContainsKey((CrystalColor)i))
            {
                crystalPlace[crystal_id].sprite2D = crystalColors[crystal_id];
            }
            else
            {
                crystalPlace[crystal_id].sprite2D = crystalNotGet;
            }
        }

        /*if (stat.collectedFruits[0] > 0 && stat.collectedFruits[1] > 0 && stat.collectedFruits[2] > 0)
         * {
         *  stat.hasAllFruits = true;
         * }*/
        stat.hasAllFruits = true;

        fruitsLabel.text = LevelController.current.getFruits() + "/" + LevelController.current.FruitsNumber;

        stat.hasAllFruits = LevelController.current.isAllFruits();

        int coins = LevelController.current.getCoins();

        coinsLabel.text = "+" + coins;
        PlayerPrefs.SetInt("coins", coins);

        // Save
        string str = JsonUtility.ToJson(stat);

        PlayerPrefs.SetString(LevelController.current.LevelName + "_stats", str);
    }
Beispiel #18
0
    public void read()
    {
        string str = PlayerPrefs.GetString("stats", null);

        Instance = JsonUtility.FromJson <LevelStat>(str);
        if (Instance == null)
        {
            Instance = new LevelStat();
        }
    }
 // Use this for initialization
 void Awake()
 {
     levelInfo = LevelStat.ReadStat("level" + level);
     if (level - 1 > 0)
     {
         isLocked = !LevelStat.ReadStat("level" + (level - 1)).levelPassed;
         //Debug.Log ("prev elvel passed: "+ LevelStat.ReadStat ("level"+(level-1)).levelPassed);
         //Debug.Log ("isLocked inside awake"+isLocked);
     }
 }
    // Use this for initialization
    void Start()
    {
        closeButton.signalOnClick.AddListener(this.openMenu);
        closeBackground.signalOnClick.AddListener(this.openMenu);
        menuButton.signalOnClick.AddListener(this.openMenu);
        repeatButton.signalOnClick.AddListener(this.repeat);

        winSource      = gameObject.AddComponent <AudioSource>();
        winSource.clip = winSound;
        winSource.Play();

        LevelStat stat = HeroRabit.current.currentStat;
        //show statistics
        int newCoins = LevelController.coins - PlayerPrefs.GetInt("coins", 0);

        coinsLabel.text  = "+" + newCoins;
        fruitsLabel.text = LevelController.current.fruits.ToString() + "/12";
        for (int i = 0; i < 3; i++)
        {
            if (GemPanel.current.map.ContainsKey((GemPanel.Color)i) &&
                GemPanel.current.map[(GemPanel.Color)i])
            {
                gems[i].sprite2D = gemColorful[i];
            }
            else
            {
                gems[i].sprite2D = gemEmpty;
            }
        }

        //save statistics
        int level = LevelController.getCurrentLevel(SceneManager.GetActiveScene().name);

        PlayerPrefs.SetInt("coins", LevelController.coins);

        stat.levelPassed = true;
        for (int i = 0; i < 12; i++)
        {
            if (stat.collectedFruits[i] == 0)
            {
                stat.hasAllFruits = false;
                break;
            }
            stat.hasAllFruits = true;
        }

        string output = JsonUtility.ToJson(stat);

        PlayerPrefs.SetString("stats" + level, output);
        Debug.Log(PlayerPrefs.GetString("stats" + 1, null));
        Debug.Log(DoorController.current.level);

        HeroRabit.current.locked = true;
    }
Beispiel #21
0
    public static LevelStat ReadStat(string name)
    {
        //PlayerPrefs.DeleteAll ();
        string    str   = PlayerPrefs.GetString(name, null);
        LevelStat stats = JsonUtility.FromJson <LevelStat> (str);

        if (stats == null)
        {
            stats = new LevelStat();
        }
        return(stats);
    }
Beispiel #22
0
    private LevelStat GetStats(int level)
    {
        string    str   = PlayerPrefs.GetString("stats" + level, null);
        LevelStat stats = JsonUtility.FromJson <LevelStat>(str);

        if (stats == null)
        {
            stats = new LevelStat();
        }

        return(stats);
    }
Beispiel #23
0
    // Use this for initialization
    void Start()
    {
        // get stats
        LevelStat stats = GetStats(Level);

        _available = Level == 1 || GetStats(Level - 1).LevelPassed;

        FillHolder("door_lock", _available, DoorEmptyLock, DoorLock);
        FillHolder("door_check", stats.LevelPassed, DoorCheck, DoorEmptyCheck);
        FillHolder("door_crystal", stats.HasCrystals, DoorCrystal, DoorEmptyCrystal);
        FillHolder("door_fruit", stats.HasAllFruits, DoorFruit, DoorEmptyFruit);
    }
Beispiel #24
0
 void Awake()
 {
     statistics = new LevelStat[5];
     for (int i = 0; i < 5; i++)
     {
         string str = PlayerPrefs.GetString("top" + i, null);
         statistics[i] = JsonUtility.FromJson <LevelStat>(str);
         if (statistics[i] == null)
         {
             statistics[i] = new LevelStat();
         }
     }
 }
Beispiel #25
0
    void Start()
    {
        LevelStat levelStat = LevelStat.fromStorage(LevelController.current.level);

        wasAlreadyCollected = levelStat.collectedFruits.Contains(id);
        if (wasAlreadyCollected)
        {
            SpriteRenderer spriteRenderer = this.GetComponent <SpriteRenderer> ();
            Color          tmp            = spriteRenderer.color;
            tmp.a = 0.4f;
            spriteRenderer.color = tmp;
        }
    }
Beispiel #26
0
    public LevelStat getStats()
    {
        LevelStat res = new LevelStat {
            level             = level,
            levelPassed       = true,
            collectedFruits   = new List <int>(fruits),
            maxFruits         = FruitController.current.fruitLimit,
            hasAllFruits      = fruits.Count >= FruitController.current.fruitLimit,
            collectedCoins    = coins,
            collectedCrystals = crystals,
            hasAllCrystals    = crystals.Count >= 3
        };

        return(res);
    }
Beispiel #27
0
 void BubbleSort(LevelStat[] A)
 {
     for (int i = 0; i < A.Length; i++)
     {
         for (int j = 0; j < A.Length - i - 1; j++)
         {
             if (compareStrings(A[j].score, A[j + 1].score) < 0)
             {
                 LevelStat temp = A[j];
                 A[j]     = A[j + 1];
                 A[j + 1] = temp;
             }
         }
     }
 }
Beispiel #28
0
    public LevelStat GetLevelStat(int level)
    {
        if (levelsStatistic[level - 1] != null)
        {
            return(levelsStatistic[level - 1]);
        }

        string    str  = PlayerPrefs.GetString("level" + level, null);
        LevelStat stat = JsonUtility.FromJson <LevelStat>(str);

        if (stat == null)
        {
            stat = new LevelStat();
        }
        return(stat);
    }
    void Awake()
    {
        current = this;
        //     PlayerPrefs.DeleteAll();
        string str = PlayerPrefs.GetString(levelName() + "stats", null);

        this.stats = JsonUtility.FromJson <LevelStat>(str);
        if (this.stats == null)
        {
            this.stats = new LevelStat();
        }
        fruits           = stats.collectedFruits.Count;
        overallfruits    = FindObjectsOfType <CollectableFruit>().Length;
        fruitsLabel.text = fruits + "/" + overallfruits;
        coinsLabel.text  = "" + PlayerPrefs.GetInt("coins");
    }
    void Start()
    {
        if (gem == null)
        {
            return;
        }

        string    input = PlayerPrefs.GetString("stats" + doorNumber, null);
        LevelStat stats = JsonUtility.FromJson <LevelStat>(input);

        if (stats == null)
        {
            gem.sprite2D   = gemEmpty;
            fruit.sprite2D = fruitEmpty;
            string prevInput = PlayerPrefs.GetString("stats" + doorNumber, null);
        }
        else
        {
            if (stats.levelPassed && doorNumber > lastReached)
            {
                lastReached = doorNumber;
            }
            if (stats.hasGems)
            {
                gem.sprite2D = gemFull;
            }
            else
            {
                gem.sprite2D = gemEmpty;
            }

            if (stats.hasAllFruits)
            {
                fruit.sprite2D = fruitFull;
            }
            else
            {
                fruit.sprite2D = fruitEmpty;
            }

            if (stats.levelPassed)
            {
                passed.sprite2D = passedSprite;
            }
        }
    }