protected virtual void SaveQuestsContainerModel(string key, QuestsContainerSerializationModel model)
        {
            var json = JsonSerializer.Serialize(model, typeof(QuestsContainerSerializationModel), null);

            PlayerPrefs.SetString(key, json);
            PlayerPrefs.Save();
        }
        protected virtual QuestsContainerSerializationModel LoadQuestsContainerModel(string key)
        {
            var json = PlayerPrefs.GetString(key, "{}");
            QuestsContainerSerializationModel model = null;

            JsonSerializer.DeserializeTo(ref model, json, null);

            return(model);
        }
        protected QuestsContainerSerializationModel CreateQuestsContainerSerializationModel(QuestsContainer container)
        {
            if (container == null)
            {
                return(new QuestsContainerSerializationModel());
            }

            var model = new QuestsContainerSerializationModel()
            {
                activeQuests    = container.activeQuests.Select(o => new QuestSerializationModel(o)).ToArray(),
                completedQuests = container.completedQuests.Select(o => new QuestSerializationModel(o)).ToArray(),
                achievements    = container.achievements.Select(o => new QuestSerializationModel(o)).ToArray()
            };

            return(model);
        }