Beispiel #1
0
            // когда "задание 'получить баллон' завершено" - рандомим новый индекс для артиста
            private static void Postfix(Chore chore)
            {
                GetBalloonWorkable balloonWorkable = chore.target?.GetComponent <GetBalloonWorkable>();

                if (balloonWorkable != null)
                {
                    BALLOONARTIST.Get(balloonWorkable)?.GetComponent <VaricolouredBalloonsHelper>()?.RandomizeArtistBalloonSymbolIdx();
                }
            }
Beispiel #2
0
        // перехватываем "задание 'получить баллон' начато"
        // вытаскиваем индекс из артиста, запихиваем его в получателя, и применяем подмену символа анимации
        // уничтожаем предыдущий FX-объект баллона если он есть
        private static void OnBeginGetBalloonChore(BalloonStandConfig balloonStandConfig, Chore chore)
        {
            GetBalloonWorkable balloonWorkable = chore.target?.GetComponent <GetBalloonWorkable>();

            if (balloonWorkable != null)
            {
                uint idx = BALLOONARTIST.Get(balloonWorkable)?.GetComponent <VaricolouredBalloonsHelper>()?.ArtistBalloonSymbolIdx ?? 0;
                VaricolouredBalloonsHelper receiver = chore.driver?.GetComponent <VaricolouredBalloonsHelper>();
                if (receiver != null)
                {
                    receiver.ReceiverBalloonSymbolIdx = idx;
                    receiver.ApplySymbolOverrideByIdx(idx);
                    if (receiver.fx != null)
                    {
                        receiver.fx.StopSM("Unequipped");
                        receiver.fx = null;
                    }
                }
            }
        }