Пример #1
0
 public Achievement(AchievementTypes _achievementType, int _maxValue, int __value = 0, OnAchievementsDelegate callback = null)
 {
     achievementType = _achievementType;
     maxValue        = _maxValue;
     value           = __value;
     OnAchievement   = callback;
 }
Пример #2
0
        public void Initialize(IEventHandler eventHandler)
        {
            eventHandler.UserSentMessageEvent -= OnUserSentMessage;
            eventHandler.UserSentMessageEvent += OnUserSentMessage;

            eventHandler.UserMadeInputEvent -= OnUserMadeInput;
            eventHandler.UserMadeInputEvent += OnUserMadeInput;

            eventHandler.UserNewlySubscribedEvent -= OnUserNewlySubscribed;
            eventHandler.UserNewlySubscribedEvent += OnUserNewlySubscribed;

            eventHandler.UserReSubscribedEvent -= OnUserReSubscribed;
            eventHandler.UserReSubscribedEvent += OnUserReSubscribed;

            //Initialize all achievements by type for quicker lookup and faster reference
            Dictionary <string, Achievement> achDict = BotProgram.BotData.Achievements.AchievementDict;

            Achievements = new Dictionary <AchievementTypes, Dictionary <string, Achievement> >(4);

            foreach (KeyValuePair <string, Achievement> achKVPair in BotProgram.BotData.Achievements.AchievementDict)
            {
                AchievementTypes achType = achKVPair.Value.AchType;

                if (Achievements.TryGetValue(achType, out Dictionary <string, Achievement> achs) == false)
                {
                    achs = new Dictionary <string, Achievement>(8);
                    Achievements.Add(achType, achs);
                }

                achs.Add(achKVPair.Key, achKVPair.Value);
            }
        }
Пример #3
0
 /// <summary>Call PROBA Achievement event</summary>
 /// <param name="achievementTypes">type of achievement</param>
 /// <param name="gameLevelName1">name of level</param>
 /// <param name="gameLevelName2">additional name of level or section (Optional)</param>
 /// <param name="gameLevelName3">additional name of level or section (Optional)</param>
 /// <param name="gameLevelName4">additional name of level or section (Optional)</param>
 /// <param name="relatedProgressionEventIds">list of related progression event's IDs (Optional)</param>
 /// <param name="newPlayerLevel">user's new gained level (Optional)</param>
 /// <param name="prevRank">user's previous Rank (Optional)</param>
 /// <param name="newRank">user's new Rank (Optional)</param>
 /// <param name="leaderBoardName">leader board's name if achievements belongs to leader board (Optional)</param>
 /// <param name="arenaMode">is achievements gained in arena mode (Optional)</param>
 /// <param name="arenaName">arena's name (Optional)</param>
 public static void AchievementEvent(AchievementTypes achievementTypes, string gameLevelName1, string gameLevelName2 = "",
                                     string gameLevelName3 = "", string gameLevelName4 = "", List <string> relatedProgressionEventIds = null,
                                     long newPlayerLevel   = 0, long prevRank          = 0, long newRank = 0, string leaderBoardName = "", bool arenaMode = false,
                                     string arenaName      = "")
 {
     _ = new AchievementEventViewModel(achievementTypes, gameLevelName1, gameLevelName2, gameLevelName3, gameLevelName4,
                                       relatedProgressionEventIds, newPlayerLevel, prevRank, newRank, leaderBoardName, arenaMode, arenaName);
 }
Пример #4
0
 public void UnlockAchievement(AchievementTypes type)
 {
     if (gameData.AchievementsUnlocked[(int)type] == false)
     {
         gameData.AchievementCount++;
         gameData.AchievementsUnlocked[(int)type] = true;
     }
 }
Пример #5
0
 public void SpawnStarfish(AchievementTypes type, Vector3 position)
 {
     if (starfishSpawned[type] == false)
     {
         Instantiate(starfishCollectables[(int)type], position, Quaternion.identity);
         Debug.Log(type + ": " + position);
         starfishSpawned[type] = true;
     }
 }
Пример #6
0
        public AchievementStatus GetAchievementStatus(AchievementTypes _type, int _id)
        {
            int _statusInt = PlayerPrefs.GetInt("Player" + _id.ToString() + _type.ToString());

            if (_statusInt == 1)
            {
                return(AchievementStatus.FINISHED);
            }
            else
            {
                return(AchievementStatus.UNFINISHED);
            }
        }
Пример #7
0
 internal AchievementEventViewModel(AchievementTypes achievementType, string gameLevelName1, string gameLevelName2,
                                    string gameLevelName3, string gameLevelName4, List <string> relatedProgressionEventIds, long newPlayerLevel, long prevRank,
                                    long newRank, string leaderBoardName, bool arenaMode, string arenaName)
 {
     AchievementType            = achievementType;
     GameLevelName1             = gameLevelName1;
     GameLevelName2             = gameLevelName2;
     GameLevelName3             = gameLevelName3;
     GameLevelName4             = gameLevelName4;
     RelatedProgressionEventIds = relatedProgressionEventIds;
     NewPlayerLevel             = newPlayerLevel;
     PrevRank        = prevRank;
     NewRank         = newRank;
     LeaderBoardName = leaderBoardName;
     ArenaMode       = arenaMode;
     ArenaName       = arenaName;
     DeviceInfo.WriteBaseEventDataViewModel(this.GetType().Name, this);
     Broker.AchievementEventCreated(this);
 }
Пример #8
0
    public void AddAchievement(AchievementTypes achievementType)
    {
        string achievementId = "";

        switch (achievementType)
        {
            case AchievementTypes.Deprivation:
                achievementId = "ACH01";
                break;
            case AchievementTypes.Parachute:
                achievementId = "ACH02";
                break;
            case AchievementTypes.Spotlight:
                achievementId = "ACH03";
                break;
            case AchievementTypes.Traitor:
                achievementId = "ACH04";
                break;
            case AchievementTypes.AFK:
                achievementId = "ACH05";
                break;
        }

        BrainCloudClient bcc = BrainCloudWrapper.GetBC();
        BrainCloudGamification bcg = bcc.GetGamificationService();
        //bcg.AwardAchievements("2,3");

        string list = "{\"id\":\"" + achievementId + "\"}";

        bcg.AwardAchievements(list, OnSuccessAwarded, OnError_Authenticate);

        //bcg.AwardAchievements("ACH02", null, null, null);

        //bcg.AwardAchievements("ach");

        bcg.ReadAchievements(false, OnSuccess_Authenticate);
    }
Пример #9
0
    void Start()
    {
        foreach (Transform trans in Functions.FindChildTransformsRecruisive(transform, "-Points", true))
        {
            Achievement achievement = null;

            try
            {
                AchievementTypes achievementType = (AchievementTypes)Enum.Parse(typeof(AchievementTypes), trans.name.Replace("-Points", ""), true);
                achievement = GameManager.instance.config.achievements[achievementType];
            }
            catch (Exception e)
            {
                //
            }

            if (achievement != null)
            {
                bool isNL = (GameManager.instance.config.gameOptions.language != LanguageEnum.COM);

                if (achievement.maxValue == 1)
                {
                    trans.GetComponent <GUIText>().text = (achievement.value > 0 ? (isNL ? "Ja": "Yes") : (isNL ? "Nee" : "No"));
                }
                else
                {
                    trans.GetComponent <GUIText>().text = achievement.value + "/" + achievement.maxValue;
                }

                if (achievement.value >= 100 && smallerFont != null)
                {
                    trans.GetComponent <GUIText>().font = smallerFont;
                }
            }
        }
    }
Пример #10
0
 public void SetAchievementStatus(AchievementTypes _type, int _id, int _status)
 {
     PlayerPrefs.SetInt("Player" + _id.ToString() + _type.ToString(), _status);
 }
Пример #11
0
 public bool AchievementIsUnlocked(AchievementTypes type)
 {
     return(gameData.AchievementsUnlocked[(int)type]);
 }
Пример #12
0
    /*******************************************************************************
        Function: SetRewardInformation

     Description: Sets the value of a reward/achievement

          Inputs: achievementType_ (enum) - Gets the type of achievement
                  value_ (string)            - Receives the int value to set

         Outputs: None
    *******************************************************************************/
    public void SetRewardInformation(AchievementTypes achievementType_, string value_)
    {
        // Only messes with rewards that are STRINGS (Ex: Player Names)

        // Store all data
        SaveRewardsToFile();
    }
Пример #13
0
    /*******************************************************************************
        Function: SetRewardInformation

     Description: Sets the value of a reward/achievement

          Inputs: achievementType_ (enum) - Gets the type of achievement
                  b_IsTrue_ (bool)         - Receives a bool to lock/unlock

         Outputs: None
    *******************************************************************************/
    public void SetRewardInformation(AchievementTypes achievementType_, bool b_IsTrue_)
    {
        // Only messes with rewards that are BOOLEANS (Did the player accomplish something)

        // Store all data
        SaveRewardsToFile();
    }
Пример #14
0
    /*******************************************************************************
        Function: SetRewardInformation

     Description: Sets the value of a reward/achievement

          Inputs: achievementType_ (enum) - Gets the type of achievement
                  value_ (uint)            - Receives the uint value to set

         Outputs: None
    *******************************************************************************/
    public void SetRewardInformation(AchievementTypes achievementType_, uint value_)
    {
        // Only messes with rewards that are NUMBERS
        if (achievementType_ == AchievementTypes.HighScore) if (value_ > ui_HighScore) ui_HighScore = value_;
        if (achievementType_ == AchievementTypes.LongestLife) if (value_ > ui_HighScore_LongestLife) ui_HighScore_LongestLife = value_;

        // Store all data
        SaveRewardsToFile();
    }