Esempio n. 1
0
    private LevelSet set; //The kind of set the group has

    void Awake()
    {
        flashOfWhite = GameObject.Find("flashOfWhite");
        RectTransform rect = GetComponent <RectTransform>();

        //rect.anchoredPosition *= GameObject.FindObjectOfType<LevelMapScript>().size;

        set = LevelHandler.GetLevelSet(setName);
        if (set.checkCompletion() && !set.completed)
        {
            setChest.enabled = true;
        }

        int playerStars = PlayerPrefs.GetInt(SaveStrings.sPlayerStars);

        if (playerStars >= set.neededStars && set.unlocked == true && set.animated == true && set.completed == true)
        {
            SetCompleted();
        }
        else if (playerStars >= set.neededStars && set.unlocked == true && set.animated == true)
        {
            SetUnlocked();
        }
        else
        {
            SetLocked(playerStars);
        }
    }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        LevelSet set = LevelHandler.GetLevelSet();
        Intro    i   = intro[set.setIndex];

        spriteIndex = 0;

        if (i.showText == true)
        {
            introText.enabled  = true;
            introComic.enabled = false;
            introText.text     = i.text;
        }
        else
        {
            introText.enabled  = false;
            introComic.enabled = true;
            introComic.sprite  = i.sprite[spriteIndex];
        }

        if (challenges.Length != 3)
        {
            Debug.LogError("Missing references to challege texts");
        }
        else
        {
            challenges[0].text = set.challenge1;
            challenges[1].text = set.challenge2;
            challenges[2].text = set.challenge3 /* + set.levelTimeChallenges[LevelHandler.CurrentLevel.id].ToString() */;
        }
    }
Esempio n. 3
0
    // Use this for initialization
    void Awake()
    {
        gameState = GameState.PreGame;

        if (GameObject.Find("GameManager") != null)
        {
            gameManager = GameObject.Find("GameManager").GetComponent <GameManager>();
            gameManager.load();
            //copters = new GameObject[gameManager.getCopterAmount()];
        }
        crateAmount     = countCrates();
        actionsPerLevel = maxActionsPerLevel;
        if (pauseScreen == null)
        {
            pauseScreen = GameObject.Find("PauseScreen");
        }
        if (HUD == null)
        {
            HUD = GameObject.Find("HUD");
        }
        if (resetButton == null)
        {
            resetButton = HUD.transform.FindChild("ResetButton").gameObject;
            resetButton.SetActive(false);
        }

        objectives            = GameObject.FindObjectOfType <MissionObjectives>();
        objectives.Objective1 = LevelHandler.GetLevelSet(LevelHandler.CurrentLevel.setName).objective1;
        objectives.Objective2 = LevelHandler.GetLevelSet(LevelHandler.CurrentLevel.setName).objective2;
        objectives.Objective3 = LevelHandler.GetLevelSet(LevelHandler.CurrentLevel.setName).objective3;

        //objectives.refreshLevelObjectives();
        //copter instantiate
        if (copterSpawnPoint == null)
        {
            copterSpawnPoint = GameObject.Find("CopterSpawn");
        }
        if (gameManager != null)
        {
            copter = Instantiate(gameManager.CurrentCopter, copterSpawnPoint.transform.position, Quaternion.identity) as GameObject;
        }

        copter.name  = "Copter";
        copterScript = copter.GetComponent <Copter>();
        cargoSize    = copterScript.cargo.maxCapacity;


        resetCountdown = 3f;
        if (GameObject.FindObjectOfType <TutorialScript> () == null)
        {
            StartCoroutine(PreGame());
        }
    }
Esempio n. 4
0
    public static Level Load(string setName, int id)
    {
        Level l = new Level(setName, id);

        l.levelTimeChallenge = LevelHandler.GetLevelSet(setName).levelTimeChallenges [id];

        l.LoadInfo();
        if (setName == "Tutorial0" && id == 0)
        {
            l.unlocked = true;
        }

        return(l);
    }
Esempio n. 5
0
    public void PressPlay()
    {
        LevelSet set = LevelHandler.GetLevelSet();
        Intro    i   = intro[set.setIndex];

        if (spriteIndex >= i.sprite.Length - 1)
        {
            loadImage.transform.localScale = new Vector3(0.45f, 0.45f, 0.45f);
            GameManager.LoadLevel(LevelHandler.CurrentLevel.name);
        }
        else
        {
            spriteIndex++;
            introComic.sprite = i.sprite[spriteIndex];
        }
    }
Esempio n. 6
0
    private void SetLocked(int playerStars)
    {
        LevelSet lastSet = LevelHandler.GetLevelSet(set.setIndex - 1);

        lockedPanel.SetActive(true);
        if (!set.unlocked && !lastSet.unlocked)
        {
            starsPanel.SetActive(false);
        }
        else
        {
            starsPanel.SetActive(true);
        }
        setImage.enabled = false;
        setBG.sprite     = setBGDefault;

        starText.text = playerStars + "/" + set.neededStars;
    }
Esempio n. 7
0
    // Use this for initialization
    void Start()
    {
        float newHeight = ViewPort.rect.height / 10f;

        foreach (Level level in LevelHandler.GetLevels())
        {
            if (level.unlocked && level.star1)
            {
                temp = Instantiate(prefab) as GameObject;
                Text LevelNumber = temp.transform.FindChild("LevelNumber").GetComponent <Text>();
                Text BestTime    = temp.transform.FindChild("Time").GetComponent <Text>();

                string LevelSetNumber;

                switch (level.setName)
                {
                case "Tutorial0":
                    LevelSetNumber   = "0-1";
                    LevelNumber.text = LevelSetNumber;
                    break;

                case "Tutorial1":
                    LevelSetNumber   = "0-2";
                    LevelNumber.text = LevelSetNumber;
                    break;

                case "Tutorial2":
                    LevelSetNumber   = "0-3";
                    LevelNumber.text = LevelSetNumber;
                    break;

                default:
                    LevelSetNumber   = (LevelHandler.GetLevelSet(level.setName).setIndex - 2).ToString();
                    LevelNumber.text = LevelSetNumber + "-" + (level.id + 1).ToString();
                    break;
                }

                Image star1 = temp.transform.FindChild("Star1").GetComponent <Image>();
                if (level.star1)
                {
                    star1.sprite = star;
                }
                Image star2 = temp.transform.FindChild("Star2").GetComponent <Image>();
                if (level.star2)
                {
                    star2.sprite = star;
                }
                Image star3 = temp.transform.FindChild("Star3").GetComponent <Image>();
                if (level.star3)
                {
                    star3.sprite = star;
                }
                Image ruby = temp.transform.FindChild("Ruby").GetComponent <Image>();
                if (level.rubyFound)
                {
                    ruby.sprite = rubySprite;
                }

                TotalTime    += level.bestTime;
                BestTime.text = (level.bestTime / 60f >= 1f ? Mathf.Floor(level.bestTime / 60f).ToString("##:") : "") + (level.bestTime % 60f).ToString("00.00");

                ContentParent.sizeDelta = new Vector2(ContentParent.sizeDelta.x, ContentParent.sizeDelta.y + newHeight);
                (temp.transform as RectTransform).sizeDelta = new Vector3((temp.transform as RectTransform).sizeDelta.x, newHeight);
                temp.transform.SetParent(ContentParent);
                temp = null;
            }
            else
            {
                TotalTimeText.enabled  = false;
                TotalTimeLabel.enabled = false;
            }
        }

        TotalTimeText.text = (TotalTime / 60f >= 1f ? Mathf.Floor(TotalTime / 60f).ToString("##:") : "") + (TotalTime % 60f).ToString("00.00");
    }
Esempio n. 8
0
    public void UpdateLevelEnd(GameManager gm)
    {
        gameManager = gm;
        audioObject = GameObject.Find("LevelMapMusic").GetComponent <MusicObject>();
        moneyText   = GameObject.Find("TextMoney").GetComponent <MoneyUIUpdate>();

        star1Text      = star1.GetComponentInChildren <Text>();
        star2Text      = star2.GetComponentInChildren <Text>();
        star3Text      = star3.GetComponentInChildren <Text>();
        targetTime     = GameObject.Find("TargetTime").GetComponent <Text>();
        playerTime     = GameObject.Find("YourTime").GetComponent <Text>();
        bonusObjective = GameObject.Find("BonusObjective").GetComponent <Text>();
        personalBest   = GameObject.Find("PersonalBest").GetComponent <Image>();
        personalBest.gameObject.SetActive(false);

        CreateFaceDictionary();

        levelEnd = gameManager.levelEnd;
        if (levelEnd == null)
        {
            Debug.LogError("Level end is null");
        }
        level = levelEnd.level;

        if (level == null)
        {
            Debug.LogError("Level end is null");
        }

        starsEarned = 0;

        alsFace.sprite = endFaces[levelEnd.endCondition];

        if (levelEnd.obj1Passed)
        {
            starsEarned++;
        }
        if (levelEnd.obj2Passed)
        {
            starsEarned++;
        }
        if (levelEnd.obj3Passed)
        {
            starsEarned++;
        }

        //Save the amount of stars and rubies the player has earned from all levels
        int playerStars = PlayerPrefs.GetInt(SaveStrings.sPlayerStars, 0);

        moneyText.setOldMoney(gameManager.wallet.Coins);
        moneyText.setLevelEnd(true);

        string levelNumber = "";

        switch (level.setName)
        {
        case "Tutorial0":
            levelNumber = "0-1";
            break;

        case "Tutorial1":
            levelNumber = "0-2";
            break;

        case "Tutorial2":
            levelNumber = "0-3";
            break;

        case "Cat":
            levelNumber = "1-";
            levelNumber = levelNumber + (level.id + 1).ToString();
            break;

        case "Crate":
            levelNumber = "2-";
            levelNumber = levelNumber + (level.id + 1).ToString();
            break;

        case "Swim":
            levelNumber = "3-";
            levelNumber = levelNumber + (level.id + 1).ToString();
            break;

        case "fisherman":
            levelNumber = "4-";
            levelNumber = levelNumber + (level.id + 1).ToString();
            break;

        case "iceberg":
            levelNumber = "5-";
            levelNumber = levelNumber + (level.id + 1).ToString();
            break;

        case "Mountain":
            levelNumber = "6-";
            levelNumber = levelNumber + (level.id + 1).ToString();
            break;
        }

        clearText.text = "Level " + levelNumber + (levelEnd.passedLevel ? " cleared" : " failed");

        if (level.star1 == false && levelEnd.obj1Passed == true)
        {
            gameManager.wallet.AddMoney(10 + 10 * level.id);
            StartCoroutine(CoinFlow(10 + 10 * level.id, GameObject.Find("Star1")));
            playerStars++;
        }
        if (level.star2 == false && levelEnd.obj2Passed == true)
        {
            gameManager.wallet.AddMoney(10 + 10 * level.id);
            StartCoroutine(CoinFlow(10 + 10 * level.id, GameObject.Find("Star2")));
            playerStars++;
        }
        if (level.star3 == false && levelEnd.obj3Passed == true)
        {
            gameManager.wallet.AddMoney(10 + 10 * level.id);
            StartCoroutine(CoinFlow(10 + 10 * level.id, GameObject.Find("Star3")));
            playerStars++;
        }

        PlayerPrefs.SetInt(SaveStrings.sPlayerStars, playerStars);

        if (level.rubyFound == false && levelEnd.rubyFound == true)
        {
            int rubies = PlayerPrefs.GetInt(SaveStrings.sPlayerRubies) + 1;
            PlayerPrefs.SetInt(SaveStrings.sPlayerRubies, rubies);
        }

        star1Text.text      = levelEnd.itemsSaved.ToString() + "/" + levelEnd.maxItems.ToString();
        star2Text.text      = levelEnd.obj2Passed || level.star2 ? "Bonus" : "Bonus";
        bonusObjective.text = "Bonus: " + LevelHandler.GetLevelSet(level.setName).challenge2;

        float timeDifference = (level.bestTime < level.levelTimeChallenge && level.star3) ? (levelEnd.levelTime - level.bestTime) : (levelEnd.levelTime - level.levelTimeChallenge);

        star3Text.text = (timeDifference.CompareTo(0f) >= 0 ? "+ " : "- ") + (Mathf.Abs(timeDifference / 60f) >= 1f ? Mathf.Floor(Mathf.Abs(timeDifference / 60f)).ToString("##:") : "") + Mathf.Abs(timeDifference % 60f).ToString("00.00");

        playerTime.text = levelEnd.passedLevel ? ("Time: " + (levelEnd.levelTime / 60f >= 1f ? Mathf.Floor(levelEnd.levelTime / 60f).ToString("##:") : "") + (levelEnd.levelTime % 60f).ToString("00.00")) : "Time: 0.00";

        if (!level.star3)
        {
            targetTime.text = "Target: " + (level.levelTimeChallenge / 60f >= 1f ? Mathf.Floor(level.levelTimeChallenge / 60f).ToString("##:"): "") + (level.levelTimeChallenge % 60f).ToString("00.00");
            if (levelEnd.levelTime < level.levelTimeChallenge && levelEnd.passedLevel)
            {
                level.bestTime = levelEnd.levelTime;
                //personalBest.gameObject.SetActive(true);
                //PlayerPrefs.SetFloat(level.name + "BestTime", level.bestTime);
            }
            else
            {
                level.bestTime = 999f;
            }
        }
        else
        {
            targetTime.text = "Best: " + (level.bestTime / 60f >= 1f ? Mathf.Floor(level.bestTime / 60f).ToString("##:") : "") + (level.bestTime % 60f).ToString("00.00");
            if (levelEnd.levelTime < level.bestTime && levelEnd.passedLevel)
            {
                level.bestTime = levelEnd.levelTime;
                //personalBest.gameObject.SetActive(true);
                //PlayerPrefs.SetFloat(level.name + "BestTime", level.bestTime);
            }
        }

        // Musiikin määritys
        if (levelEnd.passedLevel)
        {
            if (levelEnd.obj1Passed && levelEnd.obj2Passed && levelEnd.obj3Passed)
            {
                audioObject.clips = threeStarMusic;
            }
            else if (levelEnd.obj1Passed || levelEnd.obj2Passed || levelEnd.obj3Passed)
            {
                audioObject.clips = threeStarMusic;
            }
        }
        else
        {
            audioObject.clips = loseMusic;
        }
        audioObject.PlayMusic();

        level.rubyFound = levelEnd.rubyFound || level.rubyFound;
        level.star1     = levelEnd.obj1Passed || level.star1;
        level.star2     = levelEnd.obj2Passed || level.star2;
        level.star3     = levelEnd.obj3Passed || level.star3;

        // Grafiikoiden määritys
        if (levelEnd.passedLevel == true)
        {
            PassedLevel();
            Level.Save(level);
        }
        else
        {
            FailedLevel();
            Level.Save(level);
        }

        if (levelEnd.rubyFound == true)
        {
            rubyImage.sprite = levelEnd.sapphireFound ? unlockedSapphire : unlockedRuby;
        }
        else
        {
            rubyImage.enabled = false;
        }

        //debugTime.text = "Time spent: " + levelEnd.levelTime;

        //StartCoroutine(Animations(levelEnd.rubyFound));
    }