示例#1
0
        public bool UpdateObjectives()
        {
            Objective clearedObjective = Objectives.Dequeue();

            if (!FinishedObjectives.Contains(clearedObjective))
            {
                FinishedObjectives.Add(clearedObjective);
            }

            if (GetObjectives().Length <= 0)
            {
                CleanupMission();

                for (int i = 0; i < ActivePlayers.Count; i++)
                {
                    Client client = NAPI.Player.GetPlayerFromHandle(ActivePlayers[i]);
                    client.TriggerEvent("MissionInfo", "Mission_Active_Objectives", "");
                    client.TriggerEvent("eventCreatePlayerNotification", $"All Objectives Complete");
                    AccountUtil.AddExperience(client, clearedObjective.Experience);
                }
                return(true);
            }

            string activeObjectives = JsonConvert.SerializeObject(GetObjectives());

            for (int i = 0; i < ActivePlayers.Count; i++)
            {
                Client client = NAPI.Player.GetPlayerFromHandle(ActivePlayers[i]);
                client.TriggerEvent("MissionInfo", "Mission_Active_Objectives", activeObjectives);
                client.TriggerEvent("eventCreatePlayerNotification", $"Objective Complete");
                AccountUtil.AddExperience(client, clearedObjective.Experience);
            }

            return(true);
        }