public AchievementGroup CreateAchievementGroup() { AchievementGroup group = new AchievementGroup() { conditionIDs = this.conditionIDs, unlockIDs = this.unlockIDs }; return(group); }
//Constructor: accepts arguments for the above variables public Achievement(int id, string name, string description, AchievementStat stat, int state, int requirement, GameReward reward, AchievementGroup group) { //Assign values ID = id; Name = name; Description = description; Stat = stat; State = state; Requirement = requirement; _reward = reward; Group = group; //Initialize Stat.AddDependency(this); Group.Add(this); }
//Create all achievement groups private void CreateGroups() { //Create the milestones first /* * AchievementMilestone adv1 = new AchievementMilestone(0, _networkManager.GetMilestoneStatus(0), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone adv2 = new AchievementMilestone(1, _networkManager.GetMilestoneStatus(1), 8, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone cft1 = new AchievementMilestone(2, _networkManager.GetMilestoneStatus(2), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone cft2 = new AchievementMilestone(3, _networkManager.GetMilestoneStatus(3), 8, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone exp1 = new AchievementMilestone(4, _networkManager.GetMilestoneStatus(4), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone exp2 = new AchievementMilestone(5, _networkManager.GetMilestoneStatus(5), 8, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone war1 = new AchievementMilestone(6, _networkManager.GetMilestoneStatus(6), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone war2 = new AchievementMilestone(7, _networkManager.GetMilestoneStatus(7), 8, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone ftr1 = new AchievementMilestone(8, _networkManager.GetMilestoneStatus(8), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone ftr2 = new AchievementMilestone(9, _networkManager.GetMilestoneStatus(9), 8, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone mag1 = new AchievementMilestone(10, _networkManager.GetMilestoneStatus(10), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone mag2 = new AchievementMilestone(11, _networkManager.GetMilestoneStatus(11), 8, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone hlr1 = new AchievementMilestone(12, _networkManager.GetMilestoneStatus(12), 4, new GameReward(0.0, 0, 0, 0, 0)); * AchievementMilestone hlr2 = new AchievementMilestone(13, _networkManager.GetMilestoneStatus(13), 8, new GameReward(0.0, 0, 0, 0, 0)); * //*/ //Create the achievement groups _groupAdventurer = new AchievementGroup("Adventurer", "Discover what the world has to offer!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { adv1, adv2 }); _groupCraftsman = new AchievementGroup("Craftsman", "Create and improve items and gear!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { cft1, cft2 }); _groupExplorer = new AchievementGroup("Explorer", "Explore the secrets of the world!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { exp1, exp2 }); _groupWarrior = new AchievementGroup("Warrior", "Fight the evil that plagues the world!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { war1, war2 }); _groupFighter = new AchievementGroup("Fighter", "Fight enemies with melee attacks!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { ftr1, ftr2 }); _groupMage = new AchievementGroup("Mage", "Fight enemies with magic attacks!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { mag1, mag2 }); _groupHealer = new AchievementGroup("Medic", "Heal yourself and your allies!", new List <AchievementMilestone>()); //new List<AchievementMilestone>() { rng1, rng2 }); //Add them all to a list _achievementGroups = new List <AchievementGroup>() { _groupAdventurer, _groupCraftsman, _groupExplorer, _groupWarrior, _groupFighter, _groupMage, _groupHealer }; }
public static void Order_is_not_negative(AchievementGroup actual) => Assert.InRange(actual.Order, 0, int.MaxValue);
//When a tab is clicked, update the GUI to show that campaign's achievements public void TabClicked(string campaignName) { _group = _manager.GetAcheivementGroup(campaignName); _needsUpdate = true; }
private AchievementManager _manager; //Very important! void Start() { _manager = GameObject.FindGameObjectWithTag("Player").GetComponent <AchievementManager>(); _group = _manager.GetAcheivementGroup("Adventurer"); //Default _needsUpdate = true; }
internal virtual void SetRelatedEntities(AchievementGroup achievementGroup, PlayerAchievementDetails result, List <int> relatedEntityIds) { switch (achievementGroup) { case AchievementGroup.Game: var intermediateAnonymousResult = _dataContext.GetQueryable <GameDefinition>() .Where(x => relatedEntityIds.Contains(x.Id)) .Select(x => new { AchievementRelatedGameDefinitionSummary = new AchievementRelatedGameDefinitionSummary { Id = x.Id, Name = x.Name, GamingGroupId = x.GamingGroupId }, x.BoardGameGeekGameDefinitionId }) .OrderBy(x => x.AchievementRelatedGameDefinitionSummary.Name) .ToList(); foreach (var recordWithABoardGameGeekGameDefinitionId in intermediateAnonymousResult.Where(x => x.BoardGameGeekGameDefinitionId != null)) { recordWithABoardGameGeekGameDefinitionId.AchievementRelatedGameDefinitionSummary.BoardGameGeekInfo = _boardGameGeekGameDefinitionInfoRetriever.GetResults(recordWithABoardGameGeekGameDefinitionId.BoardGameGeekGameDefinitionId.Value); } result.RelatedGameDefinitions = intermediateAnonymousResult.Select(x => x.AchievementRelatedGameDefinitionSummary).ToList(); break; case AchievementGroup.PlayedGame: result.RelatedPlayedGames = _dataContext.GetQueryable <PlayedGame>() .Where(y => relatedEntityIds.Contains(y.Id)) .Select(x => new AchievementRelatedPlayedGameSummary { GameDefinitionId = x.GameDefinitionId, WinnerType = x.WinnerType, DatePlayed = x.DatePlayed, BoardGameGeekGameDefinitionId = x.GameDefinition.BoardGameGeekGameDefinitionId, GameDefinitionName = x.GameDefinition.Name, PlayedGameId = x.Id, ThumbnailImageUrl = x.GameDefinition.BoardGameGeekGameDefinition.Thumbnail, WinningPlayerName = x.PlayerGameResults.FirstOrDefault(y => y.GameRank == 1).Player.Name, WinningPlayerId = x.PlayerGameResults.FirstOrDefault(y => y.GameRank == 1).PlayerId }) .OrderByDescending(x => x.DatePlayed) .ToList(); break; case AchievementGroup.Player: result.RelatedPlayers = _dataContext.GetQueryable <Player>() .Where(x => relatedEntityIds.Contains(x.Id)) .Select(x => new AchievementRelatedPlayerSummary { PlayerId = x.Id, PlayerName = x.Name, GamingGroupId = x.GamingGroupId, GamingGroupName = x.GamingGroup.Name }).ToList(); break; case AchievementGroup.NotApplicable: break; } }
static AchievementGroup() { AchievementGroup[] achievementGroupArray = new AchievementGroup[14]; AchievementGroup achievementGroup = new AchievementGroup("list_getting_started", "Getting Started") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("COLLECT_100_WOOD", "Harvest 100 Wood"), new AchievementGroup.AchievementItem("CRAFT_CAMPFIRE", "Craft a camp fire"), new AchievementGroup.AchievementItem("PLACE_CAMPFIRE", "Place a camp fire") } }; achievementGroupArray[0] = achievementGroup; achievementGroup = new AchievementGroup("list_tools_weaps", "Craft Tools & Weapons") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("COLLECT_700_WOOD", "Harvest 700 Wood"), new AchievementGroup.AchievementItem("COLLECT_200_STONE", "Harvest 200 Stone"), new AchievementGroup.AchievementItem("CRAFT_STONE_HATCHET", "Craft a Stone Hatchet"), new AchievementGroup.AchievementItem("CRAFT_STONE_PICKAXE", "Craft a Stone Pickaxe"), new AchievementGroup.AchievementItem("CRAFT_SPEAR", "Craft a Wooden Spear") } }; achievementGroupArray[1] = achievementGroup; achievementGroup = new AchievementGroup("list_respawn_point", "Create a respawn point") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("COLLECT_30_CLOTH", "Collect 30 Cloth"), new AchievementGroup.AchievementItem("CRAFT_SLEEPINGBAG", "Craft a sleeping bag"), new AchievementGroup.AchievementItem("PLACE_SLEEPINGBAG", "Place a sleeping bag") } }; achievementGroupArray[2] = achievementGroup; achievementGroup = new AchievementGroup("list_base_building", "Build a Base") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_BUILDING_PLAN", "Craft a Building Plan"), new AchievementGroup.AchievementItem("CRAFT_HAMMER", "Craft a hammer"), new AchievementGroup.AchievementItem("CONSTRUCT_BASE", "Construct a Base"), new AchievementGroup.AchievementItem("UPGRADE_BASE", "Upgrade your base") } }; achievementGroupArray[3] = achievementGroup; achievementGroup = new AchievementGroup("list_secure_base", "Secure your Base") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_WOODEN_DOOR", "Craft a Wooden Door"), new AchievementGroup.AchievementItem("CRAFT_LOCK", "Craft a lock"), new AchievementGroup.AchievementItem("PLACE_WOODEN_DOOR", "Place Wooden Door"), new AchievementGroup.AchievementItem("PLACE_LOCK", "Place lock on Door"), new AchievementGroup.AchievementItem("LOCK_LOCK", "Lock the Lock") } }; achievementGroupArray[4] = achievementGroup; achievementGroup = new AchievementGroup("list_create_storage", "Create Storage") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_WOODEN_BOX", "Craft a Wooden Box"), new AchievementGroup.AchievementItem("PLACE_WOODEN_BOX", "Place Wooden Box in Base") } }; achievementGroupArray[5] = achievementGroup; achievementGroup = new AchievementGroup("list_craft_toolcupboard", "Claim an Area") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_TOOL_CUPBOARD", "Craft a Tool Cupboard"), new AchievementGroup.AchievementItem("PLACE_TOOL_CUPBOARD", "Place tool cupboard in base") } }; achievementGroupArray[6] = achievementGroup; achievementGroup = new AchievementGroup("list_hunt", "Going Hunting") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("COLLECT_50_CLOTH", "Gather 50 Cloth"), new AchievementGroup.AchievementItem("CRAFT_HUNTING_BOW", "Craft a Hunting Bow"), new AchievementGroup.AchievementItem("CRAFT_ARROWS", "Craft some Arrows"), new AchievementGroup.AchievementItem("KILL_ANIMAL", "Kill an Animal"), new AchievementGroup.AchievementItem("SKIN_ANIMAL", "Harvest an Animal") } }; achievementGroupArray[7] = achievementGroup; achievementGroup = new AchievementGroup("list_gear_up", "Craft & Equip Clothing") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_BURLAP_HEADWRAP", "Craft a Burlap Headwrap"), new AchievementGroup.AchievementItem("CRAFT_BURLAP_SHIRT", "Craft a Burlap Shirt"), new AchievementGroup.AchievementItem("CRAFT_BURLAP_PANTS", "Craft Burlap Pants"), new AchievementGroup.AchievementItem("EQUIP_CLOTHING", "Equip Clothing") } }; achievementGroupArray[8] = achievementGroup; achievementGroup = new AchievementGroup("list_furnace", "Create a Furnace") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("COLLECT_50_LGF", "Collect or Craft 50 Low Grade Fuel"), new AchievementGroup.AchievementItem("CRAFT_FURNACE", "Craft a Furnace"), new AchievementGroup.AchievementItem("PLACE_FURNACE", "Place a Furnace") } }; achievementGroupArray[9] = achievementGroup; achievementGroup = new AchievementGroup("list_machete", "Craft a Metal Weapon") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("COLLECT_300_METAL_ORE", "Collect 300 Metal Ore"), new AchievementGroup.AchievementItem("CRAFT_MACHETE", "Craft a Machete") } }; achievementGroupArray[10] = achievementGroup; achievementGroup = new AchievementGroup("list_explore_1", "Exploring") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("VISIT_ROAD", "Visit a Road"), new AchievementGroup.AchievementItem("DESTROY_10_BARRELS", "Destroy 10 Barrels"), new AchievementGroup.AchievementItem("COLLECT_65_SCRAP", "Collect 65 Scrap") } }; achievementGroupArray[11] = achievementGroup; achievementGroup = new AchievementGroup("list_workbench", "Workbenches") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_WORKBENCH", "Craft a Workbench"), new AchievementGroup.AchievementItem("PLACE_WORKBENCH", "Place Workbench in base"), new AchievementGroup.AchievementItem("CRAFT_NAILGUN", "Craft a Nailgun"), new AchievementGroup.AchievementItem("CRAFT_NAILGUN_NAILS", "Craft Nailgun Nails") } }; achievementGroupArray[12] = achievementGroup; achievementGroup = new AchievementGroup("list_research", "Researching") { Items = new AchievementGroup.AchievementItem[] { new AchievementGroup.AchievementItem("CRAFT_RESEARCH_TABLE", "Craft a Research Table"), new AchievementGroup.AchievementItem("PLACE_RESEARCH_TABLE", "Place Research Table in base"), new AchievementGroup.AchievementItem("RESEARCH_ITEM", "Research an Item") } }; achievementGroupArray[13] = achievementGroup; AchievementGroup.All = achievementGroupArray; }