void UpdateQuestLog()
        {
            if (!_config.EnableQuest)
            {
                return;
            }

            var playerName = MySession.Static.Players.GetPlayerNameOrElse(PlayerId, $"{PlayerId}");

            Log.Debug($"updating quest log: {playerName}: {Quest}");

            switch (Quest)
            {
            case Quest.MustProfileSelf:
            {
                MyVisualScriptLogicProvider.SetQuestlog(true, _config.QuestTitle, PlayerId);
                MyVisualScriptLogicProvider.RemoveQuestlogDetails(PlayerId);
                MyVisualScriptLogicProvider.AddQuestlogDetail(_config.QuestDetailMustProfileSelfText, true, true, PlayerId);
                return;
            }

            case Quest.MustDelagSelf:
            {
                MyVisualScriptLogicProvider.RemoveQuestlogDetails(PlayerId);
                MyVisualScriptLogicProvider.AddQuestlogDetail(_config.QuestDetailMustDelagSelfText, true, true, PlayerId);
                return;
            }

            case Quest.MustWaitUnpinned:
            {
                MyVisualScriptLogicProvider.RemoveQuestlogDetails(PlayerId);
                MyVisualScriptLogicProvider.AddQuestlogDetail(_config.QuestDetailMustWaitUnpinnedText, true, true, PlayerId);
                return;
            }

            case Quest.Ended:
            {
                MyVisualScriptLogicProvider.RemoveQuestlogDetails(PlayerId);
                MyVisualScriptLogicProvider.AddQuestlogDetail(_config.QuestDetailEndedText, true, true, PlayerId);
                return;
            }

            default: throw new ArgumentOutOfRangeException(nameof(Quest), Quest, null);
            }
        }
示例#2
0
 public void Close()
 {
     MyVisualScriptLogicProvider.RemoveQuestlogDetails(_sendTo);
 }