Ejemplo n.º 1
0
        protected BaseLevel(LevelMode mode, Difficulty difficulty)
        {
            this.Mode       = mode;
            this.Difficulty = difficulty;

            this.Initialize();
        }
Ejemplo n.º 2
0
    public static List <Level> ReadLevels()
    {
        List <Level> readLevels        = new List <Level>();
        TextAsset    levelSettingsText = Resources.Load <TextAsset>("Levels/levels");
        Level        level;

        var levelSettingsTextArr = levelSettingsText.text.Split('\n');

        int[] levelNumberArr = new int[Enum.GetNames(typeof(LevelMode)).Length + 1];

        for (int j = 0; j < levelSettingsTextArr.Length; j++)
        {
            if (levelSettingsTextArr[j].Length == 0)
            {
                continue;
            }

            var levelSettings = levelSettingsTextArr[j].Split(',');

            LevelMode       levelMode       = (LevelMode)Enum.Parse(typeof(LevelMode), levelSettings[0]);
            LevelDifficulty levelDifficulty = (LevelDifficulty)Enum.Parse(typeof(LevelDifficulty), levelSettings[1]);

            level = new Level(
                levelMode,                                                                              // LevelMode
                levelDifficulty,                                                                        // Difficulty
                ++levelNumberArr[(int)levelMode],                                                       // LevelNumber
                0.0f,                                                                                   // Multiplier
                Array.ConvertAll(levelSettings[2].Trim().Split('-'), int.Parse)                         // Design Array
                );

            readLevels.Add(level);
        }

        return(readLevels);
    }
Ejemplo n.º 3
0
    public void CheckStartLevelConditions()
    {
        switch (infectionState)
        {
        case InfectionLevel.Healthy:
            levelMode = LevelMode.Normal;
            SetPlayerStats(levelMode);
            break;

        case InfectionLevel.Sick:
            levelMode = LevelMode.Normal;
            SetPlayerStats(levelMode);
            break;

        case InfectionLevel.VerySick:
            float bonusLevelChance = Random.Range(0.0f, 100.0f);
            if (bonusLevelChance < 50)
            {
                levelMode = LevelMode.Bonus;
                SetBonusLevel();
            }
            else
            {
                levelMode = LevelMode.Normal;
                SetPlayerStats(levelMode);
            }
            break;

        case InfectionLevel.DeathlySick:
            levelMode = LevelMode.Bonus;
            SetBonusLevel();
            break;
        }
    }
Ejemplo n.º 4
0
 public void Initialization(bool isMultiplayer, int roundTime, LevelMode levelMode)
 {
     this.isMultiplayer = isMultiplayer;
     if (!isMultiplayer && levelMode != LevelMode.designer)
     {
         StartCoroutine(UpdateTime(roundTime));
     }
 }
Ejemplo n.º 5
0
 public void StartPublishingTry()
 {
     publishRequerimentMenu.SetActive(false);
     finishMode = LevelMode.Publishing;
     ChangeMode(LevelMode.Play);
     playModeButton.SetActive(false);
     editorMenus.interactable = true;
 }
Ejemplo n.º 6
0
 public Level(MissionControl levelControl, LevelMode mode, Level dark, Level neutral, Level hero)
 {
     LevelControl     = levelControl;
     NextLevelHero    = hero;
     NextLevelNeutral = neutral;
     NextLevelDark    = dark;
     levelMode        = mode;
 }
Ejemplo n.º 7
0
 public Level(LevelMode mode, LevelDifficulty difficulty, int levelNo, float difficultyMultiplier, int[] design)
 {
     this.mode                 = mode;
     this.difficulty           = difficulty;
     this.levelNo              = levelNo;
     this.difficultyMultiplier = difficultyMultiplier;
     this.design               = new List <int>(design);
     this.totalCardCount       = design.Length;
 }
Ejemplo n.º 8
0
    //Level load from json
    public void LoadLevel()
    {
        LevelData levelData = GetLevelData(levelIndex);

        CreateObstacles(levelData.obstacleDatas);
        CreatePixels(levelData.pixelDatas);
        CreateBall();
        levelMode = LevelMode.LOAD;
        StartCoroutine(CopyAllObjectToPredictionScene());
    }
Ejemplo n.º 9
0
 public void Stop()
 {
     if (CurrentLevelMode == LevelMode.PLAY)
     {
         for (int i = 0; i < Cars.Length; i++)
         {
             Cars[i].Reset();
         }
         CurrentLevelMode = LevelMode.BUILD;
     }
 }
Ejemplo n.º 10
0
 public void KeepPlaying()
 {
     if (CurrentLevelMode == LevelMode.WIN)
     {
         for (int i = 0; i < Cars.Length; i++)
         {
             Cars[i].Reset();
         }
         CurrentLevelMode = LevelMode.BUILD;
     }
 }
Ejemplo n.º 11
0
 string GenerateRecordName(LevelDatas.LevelDatas data, LevelMode lm, GameMode gm)
 {
     //是什么类型的,单机,模组,联机,
     //模式-场景-主角-{单机/联机}
     string [] gms = new string[] { "盟主", "劫镖", "护城", "暗杀", "死斗", "普通" };
     if (lm == LevelMode.MultiplyPlayer)
     {
         return(string.Format("{0}_{1}_{2}_{3}人_联机", gms[(int)gm - 1], data.Name, Main.Ins.GameStateMgr.gameStatus.NickName, Main.Ins.RoomMng.Current.maxPlayer));
     }
     return(string.Format("{0}-{1}-{2}_剧情", gms[(int)gm - 1], data.Name, Main.Ins.GameStateMgr.gameStatus.NickName));
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Switches Game Mode and attaches the additional Information.
        /// </summary>
        /// <param name="mode">New Level Mode</param>
        /// <param name="exception">Optional Exception for <see cref="LastException"/></param>
        /// <param name="slots">Optional Slot Marker for <see cref="LevelModeSlots"/></param>
        private void SetMode(LevelMode mode, Exception exception, params byte[] slots)
        {
            // Replace null with empty Array.
            if (slots == null)
            {
                slots = new byte[0];
            }

            Mode           = mode;
            LastException  = exception;
            LevelModeSlots = slots;
        }
Ejemplo n.º 13
0
 public PlayerProgress(LevelMode levelMode, int levelNumber, float starPercent,
                       float bestTime, int bestTry, int bestCount, bool cleared, bool locked)
 {
     this.levelMode   = levelMode;
     this.levelNumber = levelNumber;
     this.starPercent = starPercent;
     this.bestTime    = bestTime;
     this.bestTry     = bestTry;
     this.bestCount   = bestCount;
     this.completed   = cleared;
     this.locked      = locked;
 }
Ejemplo n.º 14
0
        public TileDesc(uint xSize, uint ySize, byte mode)
        {
            XSize = xSize;
            YSize = ySize;

            // mode is levelMode + roundingMode * 16
            var roundingMode = (mode & 0xF0) >> 4;
            var levelMode    = mode & 0xF;

            RoundingMode = (SharpEXR.RoundingMode)roundingMode;
            LevelMode    = (SharpEXR.LevelMode)levelMode;
        }
Ejemplo n.º 15
0
 public void Play()
 {
     if (CurrentLevelMode == LevelMode.BUILD)
     {
         currentTime      = 0;
         CurrentLevelMode = LevelMode.PLAY;
         for (int i = 0; i < Cars.Length; i++)
         {
             Cars[i].OnPlay();
         }
     }
 }
Ejemplo n.º 16
0
 void SetGameManagerData()
 {
     objetives               = _gameManager.CurrentLevelInfo.objectives;
     initialLevelPoints      = _gameManager.CurrentLevelInfo.initialLevelPoints;
     _currentLevelPoints     = initialLevelPoints;
     levelTime               = _gameManager.CurrentLevelInfo.levelTime;
     _levelTimeAux           = levelTime;
     currencyWinPerObjetives = _gameManager.CurrentLevelInfo.currencyGainedByObjectives;
     levelMode               = (LevelMode)Enum.Parse(typeof(LevelMode), _gameManager.CurrentLevelInfo.mode);
     levelID = _gameManager.CurrentLevelInfo.id;
     _towerManager.Init(this is LevelCeroTutorial);
 }
Ejemplo n.º 17
0
        public UILevels(RawBitmap fromBitmap, object owner, PropertyInfo p)
        {
            InitializeComponent();
            mode          = LevelMode.RGB;
            property      = p;
            propertyOwner = owner;
            range         = (MultiRange)p.GetValue(owner);

            fromBit = fromBitmap;
            MultiSlider.Set(range.min[0], range.mid[0], range.max[0]);

            inputFromUser = false;
        }
Ejemplo n.º 18
0
    private void SetModeLevel(int idLevel)
    {
        switch (idLevel)
        {
        case 1:
            LevelMode = new EasyMode();
            break;

        case 2:
            LevelMode = new HardMode();
            break;
        }
    }
Ejemplo n.º 19
0
        public void InitSandboxMode()
        {
            LevelMode = LevelMode.Sandbox;
            LevelModeButtons.Instance.SetSandboxButtonState(LevelModeButtonState.Active);
            LevelModeButtons.Instance.SetCaseButtonsToDefault();

            Main.Instance.SetSettings();

            foreach (var ev in UISingleton.FindInterfaces <IPMSwitchedToSandbox>())
            {
                ev.OnPMSwitchedToSandbox();
            }
        }
Ejemplo n.º 20
0
    public void LoadLevels()
    {
        // Destroy old horizontal scrool snap go.
        DestroyImmediate(horScrollSnapGO, true);

        levelMode    = DataTransfer.levelMode;
        levels       = GetLevels(levelMode);
        countOfLevel = levels.Count;

        horScrollSnapGO = Instantiate(horScrollSnapPrefab, levelPickerPanel);
        contentObject   = horScrollSnapGO.transform.GetChild(0);

        AddLevelCards();
    }
Ejemplo n.º 21
0
 public PlayerManager(Random rand, PlayerPool pool,
                      MapCore mapCore,
                      ObjectPool <ImageBase> imagesDeath, LevelMode levelMode)
 {
     this.pool        = pool;
     this.rand        = rand;
     this.mapCore     = mapCore;
     this.imagesDeath = imagesDeath;
     this.levelMode   = levelMode;
     models           = new List <PlayerModelBase>();
     models.AddRange(pool.GetCurrentPlayerModels());
     pool.AddedPlayer  += model => models.Add(model);
     pool.RemovePlayer += model => models.Remove(model);
 }
Ejemplo n.º 22
0
    public void SetupUI()
    {
        LevelMode levelMode = LevelController.Instance.levelMode;

        Transform nextButton = succeedScreen.transform.Find("Button_NextLevel");

        nextButton.GetComponent <Button>().interactable = true;
        table.SetActive(true);
        nextNumberArea.SetActive(true);

        timePassedText.transform.parent.gameObject.SetActive(levelMode == LevelMode.CLASSIC);
        wrongTriesText.transform.parent.gameObject.SetActive(levelMode == LevelMode.CLASSIC || levelMode == LevelMode.DO_NOT_FORGET);
        bestCountText.transform.parent.gameObject.SetActive(levelMode == LevelMode.NO_MISTAKE);
    }
Ejemplo n.º 23
0
    public static List <Level> GetLevels(LevelMode mode)
    {
        List <Level> levels             = new List <Level>(DataTransfer.readLevels);
        List <Level> selectedModeLevels = new List <Level>();

        foreach (Level level in levels)
        {
            if (level.mode == mode)
            {
                selectedModeLevels.Add(level);
            }
        }

        return(selectedModeLevels);
    }
    public static bool IsRewarded(LevelMode levelMode, int levelNumber)
    {
        string rewardKey = string.Format("{0}~{1} rewarded", levelMode, levelNumber);
        bool   rewarded  = false;

        if (PlayerPrefs.HasKey(rewardKey) == false)
        {
            PlayerPrefs.SetString(rewardKey, true.ToString());
            return(rewarded);
        }

        string rewardValue = PlayerPrefs.GetString(rewardKey);

        rewarded = bool.Parse(rewardValue);

        return(rewarded);
    }
Ejemplo n.º 25
0
 public LevelConditions(int level, LevelMode levelmode, int startingmoney, int startingtimer, List <Quest> listofquests, List <ConstantEffect> listofeffects = null)
 {
     _level  = level;
     _quests = listofquests;
     if (listofeffects == null)
     {
         _usingEffects = false;
     }
     else
     {
         _usingEffects = true;
     }
     _effects       = listofeffects;
     _mode          = levelmode;
     _startingMoney = startingmoney;
     _startingTimer = startingtimer;
 }
Ejemplo n.º 26
0
 public void Initialization(PlayerCore core, IServerNotify serverNotify,
                            Func <Vector3, string, Vector3?> findClosestPlayer, PlayerPool pool,
                            Func <Vector2> getRandomPosition,
                            Transform imageDeath, LevelMode levelMode, Func <string, PlayerCore> getPlayerById)
 {
     this.serverNotify = serverNotify;
     this.pool         = pool;
     GetRandomPosition = getRandomPosition;
     GetPlayerById     = getPlayerById;
     if (serverNotify != null)
     {
         multiplayer = true;
     }
     Core            = core;
     playerAnimation = new PlayerAnimation(GetComponent <Animator>(), imageDeath);
     this.levelMode  = levelMode;
     weaponActionController.Initilization(findClosestPlayer, ActivateWeapon, core);
 }
Ejemplo n.º 27
0
    public static bool IsRecordExist(LevelMode levelMode, int levelNumber)
    {
        string progressKey = string.Format("{0}~{1}", levelMode, levelNumber);
        bool   completed   = false;

        if (PlayerPrefs.HasKey(progressKey) == false)
        {
            return(completed);
        }

        string progressValue = PlayerPrefs.GetString(progressKey);

        string[] progressArr = progressValue.Split('~');

        completed = bool.Parse(progressArr[4]);

        return(completed);
    }
Ejemplo n.º 28
0
 public MapCore(int width, int height, MapConfig offlineConfig, bool isMultiplayer, MapModel model, Random rand,
                LevelMode levelMode)
 {
     this.rand   = rand;
     MaxDistance = offlineConfig.Width * offlineConfig.Heght;
     Config      = offlineConfig;
     Width       = offlineConfig.Width;
     Height      = offlineConfig.Heght;
     if (levelMode != LevelMode.designer)
     {
         model.CreateTerrain(rand, offlineConfig.PathPrefabTile, offlineConfig.Artefactses, offlineConfig.Width,
                             offlineConfig.Heght, isMultiplayer);
         if (!isMultiplayer)
         {
             model.StartItemPeriodicals(offlineConfig.ItemsPeriodicals);
         }
     }
 }
Ejemplo n.º 29
0
 /// ----------- Event Function-------------
 private void Update()
 {
     if (levelMode == LevelMode.LOAD)
     {
         if (pixelsRoot.transform.childCount == 0)
         {
             levelMode = LevelMode.UNLOAD;
             PredictionManager.instance.KillAll();
             DeleteGameOjects();
             levelIndex++;
             if (levelIndex == 3)
             {
                 levelIndex = 0;
             }
             LoadLevel();
         }
     }
 }
Ejemplo n.º 30
0
    // Use this for initialization
    void Start()
    {
        if (Instance == null)
        {
            Instance = this;
        }

        cardGoList = new List <GameObject>();

        changeSuccedScreenMethod = this.ChangeSucceedScreenState;

        levelNo   = DataTransfer.levelNo;
        levelMode = DataTransfer.levelMode;

        levels = LevelPickerController.GetLevels(levelMode);

        SetupLevel();
    }
Ejemplo n.º 31
0
 public static void Reload()
 {
     completed = false;
     foreach (GoalZone goal in levelGoals)
     {
         goal.completed = false;
     }
     mode = LevelMode.BUILD;
     foreach(IReloadable part in levelObjects)
     {
         part.Reset();
     }
 }
Ejemplo n.º 32
0
 public static void ResetLevel()
 {
     mode = LevelMode.BUILD;
     completed = false;
     levelObjects.Clear();
     undoStack.Clear();
     redoStack.Clear();
 }
Ejemplo n.º 33
0
 public static void StartPhysics()
 {
     mode = LevelMode.PLAY;
     foreach(IReloadable part in levelObjects)
     {
         part.StartPhysics();
     }
 }
Ejemplo n.º 34
0
 private void OnPlayPressed()
 {
     (play as MenuInputElement).Enabled = false;
     levelMode = LevelMode.PLAY;
     scrollX = 0;
     openingText = false;
     finalTexts.Clear();
 }
Ejemplo n.º 35
0
    public override void Initialize()
    {
        base.Initialize();
        levelTime = 0;
        if (!hasPlayed)
        {
            for (int i = 0; i < heightMap.Length; i++)
            {
                heightMap[i] = (float)(64 + 16 * Math.Sin(i / 4096.0f * Math.PI * 32));
                canSculpt[i] = TerrainType.SAND;
            }
        }
        levelMode = LevelMode.EDIT;
        scrollX = 0;
        scrollSpeed = 300;
        brushSize = 224;
        landscapeBrush = new Rectangle(0, 0, (int)(brushSize * 1.5f), (int)brushSize);
        play = new MenuButton(buttonTex, new Point(96, 96), new Point(0, 0), new Point(96, 96), new Point(8, 8), "PLAY");
        play.font = MenuJewSaver.font;
        play.buttonPressed += OnPlayPressed;
        restart = new MenuButton(buttonTex, new Point(96, 96), new Point(0, 0), new Point(96, 96), new Point(8, 8), "RESET");
        restart.font = MenuJewSaver.font;
        restart.buttonPressed += OnRestartPressed;
        exit = new MenuButton(buttonTex, new Point(96, 96), new Point(0, 0), new Point(96, 96), new Point(JewSaver.width - 8 - 96, 8), "QUIT");
        exit.font = MenuJewSaver.font;
        exit.buttonPressed += OnQuitPressed;
        stickies = new Stickfigure[numberOfStickies];
        collisionBuckets = new List<Stickfigure>[128];
        for (int i = 0; i < 128; i++)
            collisionBuckets[i] = new List<Stickfigure>();
        for (int i = 0; i < numberOfStickies; i++)
            stickies[i] = new Stickfigure(new Vector2(-50.0f, 0), i + 1);
        moses = new Stickfigure(new Vector2(50, 200), 0);
        moses.SetIsPlayer();
        jumpMarkers.Clear();
        sprintMarkers.Clear();
        finalTexts.Clear();
        showText = false;
        openingText = false;
        gameAllOver = false;
        gameLost = false;

        frames = 0;
        fpsTime = 0.0;

        locusts = new List<Locust>();
        locustTimeout = new TimeSpan(0, 0, 15);
        locustTime = new TimeSpan(0, 1, 0);
        plagueLength = 0;
        hasLocusts = false;

        if (!hasPlayed)
        {
            stars = new Sprite[JewSaver.height];
            for (int i = 0; i < stars.Length; i++)
            {
                stars[i] = new Sprite(star, 8, 8, 0, 0, 8, 8, random.Next(2048), random.Next(64));
                stars[i].Alpha = (64 - stars[i].screenRectangle.Top) / 96.0f;
            }
            textTimer = 0;
            showText = false;
        }
        goToNextLevel = false;

        treasure = new List<Schekel>();

        enableWind = false;
        wind = new Wind(new TimeSpan(0, 0, 30));

        if (hasPlayed)
        {
            for (int i = 0; i < heightMap.Length; i++)
                heightMap[i] = heightMapBak[i];
        }
    }