Esempio n. 1
0
    /// <summary>
    ///
    /// </summary>
    /// <returns></returns>
    public static List <SurvivalLevelData> getSurvivalLevelDataFromXML(/*string level_Name*/)
    {
        List <SurvivalLevelData> levels = new List <SurvivalLevelData>();
        XmlDocument xml_doc             = new XmlDocument();

        xml_doc.Load("Assets/Resources/level.xml");
        XmlNodeList levelsInfo;

        levelsInfo = xml_doc.SelectNodes("LEVELS/SURVIVAL/LEVEL");

        if (levelsInfo != null)
        {
            foreach (XmlNode nextLevelInfo in levelsInfo)
            {
                SurvivalLevelData level = new SurvivalLevelData();
                level.spaceshipForce    = int.Parse(((XmlElement)nextLevelInfo).GetElementsByTagName("VARIABLE")[0].InnerText);
                level.spaceshipMaxSpeed = int.Parse(((XmlElement)nextLevelInfo).GetElementsByTagName("VARIABLE")[1].InnerText);
                level.numberOfWaypoints = int.Parse(((XmlElement)nextLevelInfo).GetElementsByTagName("VARIABLE")[2].InnerText);
                level.numberOfAsteroids = int.Parse(((XmlElement)nextLevelInfo).GetElementsByTagName("VARIABLE")[3].InnerText);
                level.forceAsteroids    = int.Parse(((XmlElement)nextLevelInfo).GetElementsByTagName("VARIABLE")[4].InnerText);
                level.numberOfLifeKits  = int.Parse(((XmlElement)nextLevelInfo).GetElementsByTagName("VARIABLE")[5].InnerText);
                levels.Add(level);
            }
        }
        return(levels);
    }
Esempio n. 2
0
    // Use this for initialization
    protected override void Start()
    {
        // And then the base start
        base.Start();

        intro = GetComponent <SurvivalIntro>();
        intro.StartEvent();

        // Get the game manager and the level data
        gameManagerSingleton.CurrentGameMode = GameMode.Survival;
        levelData = gameManagerSingleton.CurrentSurvivalLevelData;

        // Create waypoints
        waypointList = new List <GameObject>();
        for (int i = 0; i < levelData.numberOfWaypoints; i++)
        {
            //
            float x = Random.Range(-5.0f, 5.0f);
            float y = Random.Range(-5.0f, 5.0f);
            //
            Vector3    wayPoint_position = new Vector3(x, y, 100 * i);
            GameObject new_WayPoint      = Instantiate(wayPoint_prefab, wayPoint_position, Quaternion.identity);
            waypointList.Add(new_WayPoint);
        }
        //
        surHud = FindObjectOfType <HUDsurvival>();

        // Assign the rest of the data
        // NOTE: This should be in BaseLevelManager, have to find the way
        asteroidManager.numAsteroids = levelData.numberOfAsteroids;
        ship.force    = levelData.spaceshipForce;
        ship.maxSpeed = levelData.spaceshipMaxSpeed;
    }
Esempio n. 3
0
        public Definitions.SurvivalRank GetRankForLevel(SurvivalLevelData levelData)
        {
            Definitions.SurvivalRank rank = Definitions.SurvivalRank.C;

            if ((levelData.CandyCollectionFraction >= levelData.RankACandyFraction) && (levelData.AttemptsAtLevel < Rank_A_Lives_Used))
            {
                rank = Definitions.SurvivalRank.A;
            }
            else if ((levelData.CandyCollectionFraction >= levelData.RankBCandyFraction) && (levelData.AttemptsAtLevel < Rank_B_Lives_Used))
            {
                rank = Definitions.SurvivalRank.B;
            }

            return(rank);
        }
        public override void Activate()
        {
            Profile.SyncPlayerLives();
            if (_levelData != null)
            {
                ObjectsToSerialize.Remove(_levelData);
            }

            _attemptsAtCurrentLevel = NextSceneParameters.Get <int>("attempt-count");

            _levelComplete = false;
            _rankingCoordinator.Reset();
            _levelData = new SurvivalLevelData();
            _levelData.AttemptsAtLevel = _attemptsAtCurrentLevel;

            ObjectsToSerialize.Add(_levelData);
            StatusDisplay.CurrentLevelData     = _levelData;
            StatusDisplay.FreezeDisplayedScore = false;
            RaceAreaName = "";

            base.Activate();

            if (Profile.PauseOnSceneActivation)
            {
                if (!_rankingCoordinator.LevelCompleted)
                {
                    if (Profile.CurrentAreaData.Name == "Tutorial")
                    {
                        _tutorialRunner.CheckForStepTrigger(_player.WorldPosition);
                    }
                    if (!_paused)
                    {
                        EnablePause();
                    }
                }
                Profile.PauseOnSceneActivation = false;
            }

            if (!RecoveredFromTombstone)
            {
                ((PlayerMotionEngine)_player.MotionEngine).DifficultySpeedBoosterUnit = Profile.CurrentAreaData.SpeedStep;
                _readyPopup.Activate();
            }
            else if (_rankingCoordinator.LevelCompleted)
            {
                HandleLevelCleared();
            }
        }