示例#1
0
        public Mission CreateMission(int level, MissionDifficulty difficulty, List <CharacterClassLibrary.Player> players)
        {
            var rand        = Utils.RandomProvider.GetRandom(1, 100);
            var anotherRand = Utils.RandomProvider.GetRandom(1, 100);

            switch (difficulty)
            {
            case MissionDifficulty.easy: missionDifficulty = 0; break;

            case MissionDifficulty.casual: missionDifficulty = 1; break;

            case MissionDifficulty.dungeon: missionDifficulty = 2; break;

            case MissionDifficulty.hc: missionDifficulty = 3; break;
            }

            enemies(rand);
            types(anotherRand, enemyCount);
            createRewardTable();

            var enemyList      = new List <CharacterClassLibrary.NPC>();
            var enemyGenerator = new CharacterClassLibrary.RandomEnemyGenerator();

            foreach (var thing in enemyTypes)
            {
                var type = (NPCType)Enum.Parse(typeof(NPCType), thing.ToString());
                enemyList.Add(enemyGenerator.CreateEnemy(type, level, healer));
            }
            var mission = new RandomMission(enemyList, players, level, rewardTable);

            return(mission);
        }
    public void ShowLevelInfo()
    {
        levelInfo.SetActive(true);
        levelInfoTitle.text  = Localisation.Get(StringKey.UI_LevelInfo_Title);
        levelInfoNumber.text = GameManager.instance.NumberOfMissions.ToString();
        MissionDifficulty difficulty = GameManager.instance.DifficultyRank;

        switch (difficulty)
        {
        case MissionDifficulty.Easy:
            levelInfoDifficulty.text = Localisation.Get(StringKey.UI_LevelInfo_Easy);
            break;

        case MissionDifficulty.Medium:
            levelInfoDifficulty.text = Localisation.Get(StringKey.UI_LevelInfo_Medium);
            break;

        case MissionDifficulty.Hard:
            levelInfoDifficulty.text = Localisation.Get(StringKey.UI_LevelInfo_Hard);
            break;

        default:
            levelInfoDifficulty.text = "???";
            break;
        }
    }
示例#3
0
        public Mission(List <Objective> objectives, string missionName)
        {
            this.objectives  = objectives;
            this.missionName = missionName;

            chaos      = this.objectives.Sum(x => x.chaos);
            difficulty = (MissionDifficulty)Mathf.Round(chaos.Remap(0, 20, 0, 5));

            currentObjective.Value = objectives.First();

            desc = $"Mission has {objectives.Count()} step{(objectives.Count() > 1 ? "s" : "")}. \n" +
                   $"<b>Current objective : </b>{currentObjective.Value.desc}";

            done = objectives.Select(x => x.done).CombineLatestValuesAreAllTrue().ToReactiveProperty();
        }
示例#4
0
 /// <summary>
 /// Creates default config with given params
 /// </summary>
 /// <param name="_Name"></param>
 /// <param name="_ServerPath"></param>
 /// <param name="_ModType"></param>
 /// <param name="_IsEnabled"></param>
 /// <param name="_GitBranch"></param>
 /// <param name="_GitUrl"></param>
 /// <param name="_GitToken"></param>
 /// <param name="_GitServer"></param>
 /// <param name="_MissionDifficulty"></param>
 /// <param name="_RandomizeFunctions"></param>
 /// <param name="_RandomizeGlobalVariables"></param>
 /// <param name="_RandomizeLocalVariables"></param>
 /// <param name="_SingleLineFunction"></param>
 /// <returns>new PboFile()</returns>
 public PBOFile Values(string _Name = "NewAddon", string _ServerPath = "c:\\Arma3\\@Server", PboModType _ModType = PboModType.ServerMod, bool _IsEnabled = true, string _GitBranch = "repo-main", string _GitUrl = "https://github.com/user/repo/archive/master.zip", string _GitToken = "xxxxx", GitServer _GitServer = GitServer.GitHub, MissionDifficulty _MissionDifficulty = MissionDifficulty.recruit,bool _RandomizeFunctions = false, bool _RandomizeGlobalVariables = false, bool _RandomizeLocalVariables = false, bool _SingleLineFunction = false) => new PBOFile() {
     ModType = _ModType,
     IsEnabled = _IsEnabled, 
     Name = _Name,
     GitBranch = _GitBranch,
     GitUrl = _GitUrl,
     GitToken = _GitToken,
     GitServer = _GitServer,
     ServerPath = _ServerPath,
     MissionDifficulty = _MissionDifficulty,
     RandomizeFunctions = _RandomizeFunctions,
     RandomizeGlobalVariables = _RandomizeGlobalVariables,
     RandomizeLocalVariables = _RandomizeLocalVariables,
     SingleLineFunctions = _SingleLineFunction
 };