public AchievementGroup CreateAchievementGroup()
        {
            AchievementGroup group = new AchievementGroup()
            {
                conditionIDs = this.conditionIDs,
                unlockIDs    = this.unlockIDs
            };

            return(group);
        }
예제 #2
0
    //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);
    }
예제 #3
0
    //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
        };
    }
예제 #4
0
 public static void Order_is_not_negative(AchievementGroup actual) => Assert.InRange(actual.Order, 0, int.MaxValue);
예제 #5
0
 //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;
 }
예제 #6
0
    private AchievementManager _manager;    //Very important!

    void Start()
    {
        _manager     = GameObject.FindGameObjectWithTag("Player").GetComponent <AchievementManager>();
        _group       = _manager.GetAcheivementGroup("Adventurer"); //Default
        _needsUpdate = true;
    }
예제 #7
0
        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;
    }