Привет! Я Денис и я делаю игры на Unity. В этом блоге я делюсь своим опытом в геймдеве и не только.
Навигация в закрепе: https://t.me/spellsingergames/3
Написать в личку: @sinedsem
Post #236
578
SP @spellsingergames
This post (sticker, poll or similar) has no web preview. Open in Telegram





Forwarded from Tentacle Team




ПКМ > Copy as cURL (bash)This post (sticker, poll or similar) has no web preview. Open in Telegram
добрый вечер. Все обновилось. Игра началась с самого начала. У меня были покупки и прокачка на макс. обидно как то.
Сохраняются только первые 4096 символов, для сериализованной строки — 2236 символов.

Периодически играю в бурить копать и столкнулся с тем, что в последнее время не сохраняется прогресс. То есть, я играю, покупаю улучшения. Все хорошо. Потом выхожу, и когда захожу снова через некоторое время(через час-2)снова появляется уведомление о том, что получены ящики за вход в игру и прогресс тот же который был в первый заход. Сейчас даже включил облачные сохранения, но и после этого прогресс не сохранился
Application.logMessageReceived настроил сборку логов в файл, а с помощью плагина UnityNativeShare добавил кнопку "отправить логи", которая вызывает стандартное меню "поделиться" андроида. Сбилдил игру, выложил APK на наш сайт и попросил игрока обновить игру и отправить логи./// <summary>
/// A timestamp corresponding to the last modification to the underlying saved game. If the
/// saved game is newly created, this value will correspond to the time the first Open
/// occurred. Otherwise, this corresponds to time the last successful write occurred (either by
/// CommitUpdate or Resolve methods).
/// </summary>
/// <value>The last modified timestamp.</value>
DateTime LastModifiedTimestamp { get; }
Да, у меня установлено приложение GBox для установки приложений, которых нет в Rustore и AppGallery, а так же MicroG который идут в комплекте к GBox
note that injecting the DiContainer is usually a sign of bad practice, since there is almost always a better way to design your code such that you don't need to reference DiContainer directly (the exception being custom factories, but even in that case it's often better to inject a factory into your custom factory. Once again, best practice with dependency injection is to only reference the DiContainer in the "composition root layer" which includes any custom factories you might have as well as the installers. However there are exceptions to this rule.
public abstract class QuestCallback : ScriptableObject
{
public abstract void Invoke(DiContainer diContainer, QuestData quest);
}
QuestCallback, каждому из которых требуется та или иная зависимость.DiContainer в этой ситуации? Явно перечислить все необходимые зависимости в параметрах метода QuestCallback.Invoke? И для каждой новой имплементации дописывать ещё параметры? А разве мы не нарушаем этим самым Open–closed principle? И чем плох мой вариант?
<projectSetting name="Google.VersionHandler.VerboseLoggingEnabled" value="False" />
Cert verify failed. Certificate is not correctly signed by a trusted CA
Assets/Plugins/Android/res/Exception: OBSOLETE - Providing Android resources in Assets/Plugins/Android/res was removed, please move your resources to an AAR or an Android Library.
Assets/Plugins/Android.