Example #1
0
    void InitializeView()
    {
        // set the Selected level and move to it (if nothing is select then start the player at level one)
        Debug.Log("Has the player already selected a level to play?");
        if (PlayerState.Current.SelectedLevel == null || PlayerState.Current.SelectedLevel.Primed == false)
        {
            Debug.Log("No");
            Debug.Log("Assigning Level One as players selected level: " + GameManager.Instance.SelectedWorld.ListOfLevels.LevelOne);
            PlayerState.Current.SelectedLevel = PrimeNewLevel(GameManager.Instance.SelectedWorld.ListOfLevels.LevelOne);
        }
        else
        {
            Debug.Log("Yes");
        }
        LevelDetail selectedLevelDetail = GameManager.Instance.SelectedWorld.GetLevelFromId(PlayerState.Current.SelectedLevel.LevelId);

        Debug.Log("The Players Selected Level is: " + selectedLevelDetail.LevelTitle);

        UpdateLevelInfoPanel(selectedLevelDetail, null);
        PointToLevelMarker(selectedLevelDetail, null);

        // I need to wait on some position values to get set
        // accurately
        StartCoroutine(AnimateSlowerLoadingObject());

        StartSunRayAnimations();
    }
Example #2
0
        public BloodMoor(IGameState gameState, IEngineDataManager dataManager)
        {
            this.gameState  = gameState;
            this.difficulty = gameState.Difficulty;

            levelDetail = dataManager.Levels.First(x => x.LevelName == "Blood Moor");
        }
Example #3
0
    // Use this for initialization
    void Start()
    {
        Messenger.AddListener <GameObject> ("exitObstacle", exitedCollider);
        Messenger.AddListener <GameObject> ("disappear", disappearObstacle);
        Messenger.AddListener <GameObject> ("enteredObstacle", enteredCollider);
        Messenger.AddListener("clearOutLane", clearOutLane);
        Messenger.AddListener("ranOutOfHealth", ranOutOfHealth);
        Messenger.AddListener("landed", landed);
        Messenger.AddListener("jumped", jumped);
        Messenger.AddListener <bool> ("isLaneEnabled", laneEnabled);
        Messenger.AddListener("hitPowerBox", hitPowerBox);
        cam               = Camera.main;
        scoreController   = new ScoreController();
        timerController   = new TimerController(() => TimesUp());
        cameraScript      = cam.GetComponent <CameraScript> ();
        bounds            = CameraExtensions.OrthographicBounds(cam);
        audioScript       = GameObject.FindGameObjectWithTag("AudioController").GetComponent <AudioScript> ();
        soundEffectScript = GameObject.FindGameObjectWithTag("SoundEffectsController").GetComponent <SoundEffectsScript> ();

        currentGameLevel = LevelManager.Instance.getCurrentLevelDetail();
        timerController.beginTimer(currentGameLevel.lengthInSeconds * 1000);
                #if UNITY_ANDROID
        touch = new TouchGesture(this.gestureSetting);
        StartCoroutine(touch.CheckHorizontalSwipes(
                           onLeftSwipe: () => { moveRight(); },
                           onRightSwipe: () => { moveLeft(); }
                           ));
                #endif
    }
Example #4
0
        public Guid createLevelDetail(LevelDetail LevelDetail)
        {
            context.LevelDetails.Add(LevelDetail);
            context.SaveChanges();

            return(LevelDetail.Id);
        }
Example #5
0
    public int getStarIndex(LevelDetail detail)
    {
        float score      = detail.score;
        int   levelIndex = detail.level - 1;

        if (score > levelScores[levelIndex])
        {
            levelScores[levelIndex] = score;
            save();
        }

        if (score >= levelScoresTemplate[levelIndex, 2])
        {
            return(3);
        }
        else if (score >= levelScoresTemplate[levelIndex, 1])
        {
            return(2);
        }
        else if (score >= levelScoresTemplate[levelIndex, 0])
        {
            return(1);
        }
        else
        {
            return(0);
        }
    }
Example #6
0
    // create new level based on level (level one, level two, etc...) details
    public Level PrimeNewLevel(LevelDetail levelDetails)
    {
        Level newLevel = new Level();

        newLevel.LevelId = levelDetails.LevelId;

        return(newLevel);
    }
Example #7
0
    void PlayMusic(int selection)
    {
        LevelDetail level       = levels [selection];
        string      previewName = level.preview;

        song             = Resources.Load <AudioClip> ("Audio/Previews/" + previewName);
        audioSource.clip = song;
        audioSource.Play();
    }
Example #8
0
 public Scores(int score, int platformsPassed, int lanesLockedDown, int errorCount, LevelDetail level, bool completedLevel)
 {
     this.scores          = score;
     this.platformsPassed = platformsPassed;
     this.lanesLockedDown = lanesLockedDown;
     this.errorCount      = errorCount;
     this.level           = level;
     this.completedLevel  = completedLevel;
 }
Example #9
0
    public ScoreController()
    {
        completedLevel = true;
        level          = LevelManager.Instance.getCurrentLevelDetail();
        Messenger.AddListener("defferedIncreaseMultiplier", defferedIncreaseMultiplier);
        Messenger.AddListener <bool> ("isLaneEnabled", laneEnabled);
//		Messenger.AddListener<int> ("increaseMultiplier", increaseMultiplier);
        Messenger.AddListener <int> ("setMultiplier", setMultiplier);
        Messenger.AddListener <int, int>("addScore", addScore);
        Messenger.AddListener <int>("addScoreIgnoreLaneEnabled", addScoreIgnoreLaneEnabled);
    }
Example #10
0
 public void resetLevel()
 {
     resetObstacles();
     selectedLevel        = null;
     levelName            = "";
     image                = null;
     sampleTrack          = "";
     lengthInSeconds      = 0;
     numberOfLanes        = 4;
     chanceOfGoodPowerbox = .5f;
     chanceOfPowerbox     = .5f;
 }
Example #11
0
        private static LevelDetail CreateLevelDetail(this SkillLevelDetails levelDetail)
        {
            var data = new LevelDetail
            {
                Description    = levelDetail.Description,
                Name           = levelDetail.Name,
                SkillKey       = levelDetail.SkillKey,
                UnlockedAtRank = levelDetail.UnlockedAtRank
            };

            return(data);
        }
Example #12
0
 public void RotateMap()
 {
     if (GameManager.Instance.CurrentWorldMap != null)
     {
         LevelDetail selectedLevelDetail = GameManager.Instance.SelectedWorld.GetLevelFromId(PlayerState.Current.SelectedLevel.LevelId);
         Debug.Log("PlayerState.Current.SelectedLevel.AngleOnMap: " + selectedLevelDetail.AngleOnMap);
         float currentWorldMapRotation = GameManager.Instance.CurrentWorldMap.transform.localRotation.eulerAngles.z;
         Debug.Log("Current World Map local z rotation: " + currentWorldMapRotation);
         float mapRotationAmount = -1.0f * (currentWorldMapRotation - 360.0f) + selectedLevelDetail.AngleOnMap;
         Debug.Log("Moving Map by the following amount: " + mapRotationAmount);
         GameManager.Instance.CurrentWorldMap.transform.DORotate(new Vector3(0.0f, 0.0f, mapRotationAmount), 1.0f, RotateMode.LocalAxisAdd).SetRelative();
     }
 }
Example #13
0
    public void UpdateLevelInfoPanel(LevelDetail newLd, LevelDetail oldLd)
    {
        if (oldLd != null)
        {
            MoveLevelTitleRegionOut();
        }

        if (newLd != null)
        {
            LevelTitle.Text.Value       = newLd.LevelTitle;
            LevelDescription.Text.Value = newLd.LevelDescription;
            StartCoroutine(WaitToMoveLevelPanelIn());
        }
    }
Example #14
0
    public void PointToLevelMarker(LevelDetail newLd, LevelDetail oldLd)
    {
        if (oldLd != null)
        {
            GameObject oldArrow = GetArrowByName("Arrow" + oldLd.LevelId);
            MoveArrowOut(oldArrow.transform);
        }

        if (newLd != null)
        {
            GameObject newArrow = GetArrowByName("Arrow" + newLd.LevelId);
            MoveArrowIn(newArrow.transform);
        }
    }
Example #15
0
        public LevelDetail GetLevelDetail(int packId, int levelnum)
        {
            try
            {
                LevelDetail levelDetail = _dbConnection.Table <LevelDetail>().Where(item => (item.PackID == packId && item.LevelNum == levelnum)).FirstOrDefault();
                return(levelDetail);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("error get level_detail: ", ex.ToString());
            }

            return(null);
        }
        //check db file exist
        public List <string> GetLevelContent(LevelDetail levelDetail)
        {
            List <string> content = new List <string>();

            if (levelDetail != null)
            {
                if (!String.IsNullOrEmpty(levelDetail.Content))
                {
                    content = levelDetail.Content.Split(new char[] { GameConfig.LEVEL_CONTENT_SEPARATOR }).ToList <string>();
                }
            }

            return(content);
        }
Example #17
0
    void Start()
    {
        gameLevel = LevelManager.Instance.getCurrentLevelDetail();

        for (int x = 0; x < gameLevel.numberOfLanes; x++)
        {
            AudioSource audioSource = gameObject.AddComponent <AudioSource> ();
            audioSources.Add(audioSource);
            string    path = "Audio" + "/" + gameLevel.folderName + "/" + (x + 1);
            AudioClip clip = Resources.Load <AudioClip> (path);
            audioSource.clip   = clip;
            audioSource.volume = 0;
            audioSource.Play();
            lockedAudioTracks [x]         = false;
            lockedAudioTracksDuration [x] = 0.0f;
        }
    }
Example #18
0
    void Start()
    {
        Messenger.AddListener <int>("enableLane", unlockLane);
        Messenger.AddListener <int>("disableLane", lockDownLane);

        mainCamera = Camera.main;

        //trying to pull alevel from level selection.

        gameScript = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameScript> ();

        level = LevelManager.Instance.getCurrentLevelDetail();
        int startingLane = level.startingLane;

        numberOfLanes = level.numberOfLanes;
        int numberOfLevels           = level.numberOfLevels;
        List <List <Obstacle> > rows = level.rows;

        initilizeObjectPool();
        bounds = CameraExtensions.OrthographicBounds(Camera.main);
        int obstaclePosition = 0;

        for (int i = 0; i <= 4; i++)
        {
            maxLevelBuilt++;
            float y = 8 * i;
            obstaclePosition = 0;
            List <Obstacle> rowsObstacles = rows [i];
            for (int j = 0; j <= rowsObstacles.Count - 1; j++)
            {
                Obstacle   obstacle = rowsObstacles [j];
                GameObject go       = getObjectFromPoolByName(obstacle.name, i);
                go.transform.position = new Vector3(bounds.center.x + (bounds.size.x * obstaclePosition), y, 10);
                Instantiate(platform, new Vector3(bounds.center.x + (bounds.size.x * obstaclePosition), bounds.min.y + 1 + y, 10), Quaternion.identity);
                obstaclePosition++;
            }
        }

        GameObject player = Instantiate(playerPrefab, new Vector3(bounds.center.x + (bounds.size.x * startingLane), bounds.min.y + 1.7f, 10f), Quaternion.identity) as GameObject;

        player.tag = "Player";
        gameScript.setStartingLane(startingLane);
        Messenger.Broadcast <int>("initializeLanes", level.numberOfLanes);
        Messenger.Broadcast <string>("enableBackground", level.gameBackground);
    }
Example #19
0
    void displayScoreDetails()
    {
        //Get and display score
        ScoreTracker scoreTracker = GetComponent <ScoreTracker>();
        string       scoreMessage = "";

        scoreMessage += "-Score-\n";
        scoreMessage += "Destruction Score: " + scoreTracker.getObjectDamageScore() + ".\n";
        scoreMessage += "Enemy Score: " + scoreTracker.getEnemyDamageScore() + ".\n";
        scoreMessage += "Ammo Score: " + scoreTracker.getAmmoScore() + ".\n";
        scoreMessage += "Total Score: " + scoreTracker.getTotalScore() + ".";

        mainCamera.SendMessage(DISPLAY_SCORE_DETAILS_METHOD, scoreMessage);
        LevelDetailHandler levelDetailHandler = new LevelDetailHandler();
        LevelDetail        detail             = new LevelDetail(Application.loadedLevel, scoreTracker.getTotalScore());

        mainCamera.SendMessage(DISPLAY_STAR_METHOD, levelDetailHandler.getStarIndex(detail));
    }
Example #20
0
    void Start()
    {
        powerBoxTitleAnimator = GetComponent <Animator> ();
        goodEffects           = new Dictionary <int, Powerbox> ();
        badEffects            = new Dictionary <int, Powerbox> ();
        powerboxFunctions     = new Dictionary <string, Action>()
        {
            { "refillHealth", () => refillHealth() },
            { "clearLane", () => clearLane() },
            { "wavey", () => wavey() },
            { "drainHealth", () => fasterBleeding() },
            { "speedUpRotations", () => speedUpRotations() },
            { "bonusPoints", () => bonusPoints() },
            { "maxMultiplier", () => maxMultiplier() },
            { "resetMultiplier", () => resetMultiplier() }
        };
        List <Powerbox> powerboxes = LevelManager.Instance.getPowerBoxInfo();
        int             goodCount  = 0;
        int             badCount   = 0;

        foreach (Powerbox box in powerboxes)
        {
            if (box.goodBox)
            {
                goodEffects.Add(goodCount, box);
                goodCount++;
            }
            else
            {
                badEffects.Add(badCount, box);
                badCount++;
            }
        }

        bounds         = CameraExtensions.OrthographicBounds(Camera.main);
        level          = LevelManager.Instance.getCurrentLevelDetail();
        powerBoxChance = new Dictionary <int, float>();
        resetProbabilities(level.powerBoxChance);

        Messenger.AddListener <int> ("setRow", setClearedObstacle);
        Messenger.AddListener("landed", landedOnPlatform);
        Messenger.AddListener <Vector3>("boxOpened", boxOpened);
        Messenger.AddListener <Scores, GameObject> ("gameOver", gameOver);
    }
        public LevelDetail GetNextLevel(LevelDetail currentLevel)
        {
            LevelDetail next         = null;
            int         nextPackId   = -1;
            int         nextLevelNum = -1;

            //first start
            if (currentLevel == null)
            {
                nextPackId   = 1;
                nextLevelNum = 1;
            }
            else
            {
            }

            next = GameDB.Instance.GetLevelDetail(nextPackId, nextLevelNum);

            return(next);
        }
Example #22
0
 public void IncreaseLevel(Button btn)
 {
     Debug.Log("Changing Levels +");
     // Get higher level (if this is the lowest level then do nothing)
     if (GameManager.Instance.SelectedWorld.LevelCount != 0)
     {
         LevelDetail lDetail = GameManager.Instance.SelectedWorld.GetNextLevel(PlayerState.Current.SelectedLevel);
         if (lDetail != null)
         {
             // get button out of the way so user does not mess things up
             MoveLevelSelectorsOut();
             LevelDetail selectedLevelDetail = GameManager.Instance.SelectedWorld.GetLevelFromId(PlayerState.Current.SelectedLevel.LevelId);
             UpdateLevelInfoPanel(lDetail, selectedLevelDetail);
             PointToLevelMarker(lDetail, selectedLevelDetail);
             PlayerState.Current.SelectedLevel = PrimeNewLevel(lDetail);
             RotateMap();
         }
         else
         {
             PunchMap(1);
         }
     }
 }
Example #23
0
        public void loadLevel(int id)
        {
            LevelDetail levelDetail = LevelManager.Instance.getLevels() [id];

            resetObstacles();
            selectedLevel = levelDetail;
            numberOfLanes = levelDetail.numberOfLanes;
            image         = Resources.Load <Sprite> ("images/" + levelDetail.backgroundImage);
            setPreviewClip(Resources.Load <AudioClip> ("Audio/Previews/" + levelDetail.preview));
            levelName       = levelDetail.folderName;
            lengthInSeconds = levelDetail.lengthInSeconds;

            chanceOfPowerbox     = levelDetail.powerBoxChance;
            chanceOfGoodPowerbox = levelDetail.changeOfGoodPowerBox;
            List <List <Obstacle> > rows = levelDetail.rows;

            foreach (List <Obstacle> row in rows)
            {
                foreach (Obstacle obstacle in row)
                {
                    addObstacleWithType(obstacle.name);
                }
            }
        }
	public int getStarIndex (LevelDetail detail)
	{
		float score = detail.score;
		int levelIndex = detail.level-1;

		if(score>levelScores[levelIndex])
		{
			levelScores[levelIndex] = score;
			save ();
		}

		if (score>=levelScoresTemplate[levelIndex,2])
		{
			return 3;
		}
		else if (score>=levelScoresTemplate[levelIndex,1])
		{
			return 2;
		}
		else if (score>=levelScoresTemplate[levelIndex,0])
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
Example #25
0
        public static Dictionary <int, LevelDetail> GetLevelLists(string filePath)
        {
            if (!File.Exists(filePath))
            {
                return(null);
            }

            var hashCode = filePath.GetHashCode();

            if (LevelList.ContainsKey(hashCode))
            {
                return(LevelList[hashCode]);
            }
            var lists = new Dictionary <int, LevelDetail>();

            try
            {
                var lines  = File.ReadAllLines(filePath, Globals.LocalEncoding);
                var counts = lines.Length;
                for (var i = 0; i < counts;)
                {
                    var groups = Regex.Match(lines[i], @"\[Level([0-9]+)\]").Groups;
                    i++;
                    if (groups[0].Success)
                    {
                        var detail = new LevelDetail();
                        var index  = int.Parse(groups[1].Value);
                        while (i < counts && !string.IsNullOrEmpty(lines[i]))
                        {
                            var nameValue = GetNameValue(lines[i]);
                            int value;
                            int.TryParse(nameValue[1], out value);
                            switch (nameValue[0])
                            {
                            case "Exp":
                                detail.Exp = value;
                                break;

                            case "LevelUpExp":
                                detail.LevelUpExp = value;
                                break;

                            case "LifeMax":
                                detail.LifeMax = value;
                                break;

                            case "Life":
                                detail.Life = value;
                                break;

                            case "ThewMax":
                                detail.ThewMax = value;
                                break;

                            case "ManaMax":
                                detail.ManaMax = value;
                                break;

                            case "Attack":
                                detail.Attack = value;
                                break;

                            case "Attack2":
                                detail.Attack2 = value;
                                break;

                            case "Defend":
                                detail.Defend = value;
                                break;

                            case "Defend2":
                                detail.Defend2 = value;
                                break;

                            case "Evade":
                                detail.Evade = value;
                                break;

                            case "NewMagic":
                                detail.NewMagic = nameValue[1];
                                break;

                            case "NewGood":
                                detail.NewGood = nameValue[1];
                                break;
                            }
                            i++;
                        }
                        lists[index] = detail;
                    }
                }
            }
            catch (Exception)
            {
                return(lists);
            }

            LevelList[hashCode] = lists;
            return(lists);
        }
	void displayScoreDetails()
	{
		//Get and display score
		ScoreTracker scoreTracker = GetComponent<ScoreTracker>();
		string scoreMessage = "";
		scoreMessage += "-Score-\n";
		scoreMessage += "Destruction Score: "+scoreTracker.getObjectDamageScore()+".\n";
		scoreMessage += "Enemy Score: "+scoreTracker.getEnemyDamageScore()+".\n";
		scoreMessage += "Ammo Score: "+scoreTracker.getAmmoScore()+".\n";
		scoreMessage += "Total Score: "+scoreTracker.getTotalScore()+".";

		mainCamera.SendMessage(DISPLAY_SCORE_DETAILS_METHOD,scoreMessage);
		LevelDetailHandler levelDetailHandler = new LevelDetailHandler();
		LevelDetail detail = new LevelDetail(Application.loadedLevel,scoreTracker.getTotalScore());

		mainCamera.SendMessage(DISPLAY_STAR_METHOD,levelDetailHandler.getStarIndex(detail));

	}
        public LevelDetail GetPreLevelv(LevelDetail currentLevel)
        {
            LevelDetail prev = null;

            return(prev);
        }
Example #28
0
        public MPQDS1 GetMPQDS1(string resourcePath, LevelPreset level, LevelDetail levelDetail, LevelType levelType)
        {
            var mapName = resourcePath.Replace("data\\global\\tiles\\", "").Replace("\\", "/");

            return(new MPQDS1(mpqProvider.GetStream(resourcePath), level, levelDetail, levelType, engineDataManager, this));
        }
Example #29
0
        public void serialize()
        {
            LevelDetail levelDetail = selectedLevel != null?selectedLevel:new LevelDetail();

            levelDetail.backgroundImage = image.name;
            levelDetail.folderName      = levelName;
            levelDetail.numberOfLanes   = numberOfLanes;
            levelDetail.numberOfLevels  = 4;
            levelDetail.lengthInSeconds = lengthInSeconds;
            levelDetail.preview         = sampleTrack;
            levelDetail.startingLane    = 1;
            levelDetail.title           = levelName;
            List <List <Obstacle> > rows          = new List <List <Obstacle> > ();
            HashSet <string>        obstacleNames = new HashSet <string> ();

            levelDetail.powerBoxChance       = chanceOfPowerbox;
            levelDetail.changeOfGoodPowerBox = chanceOfGoodPowerbox;
            int             count = 0;
            List <Obstacle> row   = new List <Obstacle> ();

            foreach (GameObject go in obstacles)
            {
                obstacleNames.Add(go.name);
                Obstacle obstacle = new Obstacle();
                obstacle.name  = go.name;
                obstacle.speed = 100;
                count++;
                row.Add(obstacle);
                if (count == numberOfLanes)
                {
                    rows.Add(row);
                    row   = new List <Obstacle> ();
                    count = 0;
                }
            }


            levelDetail.rows          = rows;
            levelDetail.obstacleNames = obstacleNames.ToList();
            List <LevelDetail> levels = LevelManager.Instance.getLevels();
            int index = -1;

            for (int x = 0; x < levels.Count; x++)
            {
                LevelDetail level = levels [x];
                if (level.folderName.Equals(levelDetail.folderName))
                {
                    index = x;
                    break;
                }
            }

            if (index >= 0)
            {
                levelDetail.id = levels [index].id;
                levels [index] = levelDetail;
            }
            else
            {
                levelDetail.id = levels.Count;
                levels.Add(levelDetail);
            }


            LevelDetails levelDetails = LevelManager.Instance.getLevelDeatils();

            levelDetails.levels = levels;
            string json = JsonConvert.SerializeObject(levelDetails);

            System.IO.File.WriteAllText("Assets/Resources/test1.json", json);
            print(json);
        }