Exemplo n.º 1
0
        /// <summary>
        /// Удаление матчей
        /// </summary>
        /// <param name="cell">Описание предмета в ячейке</param>
        /// <param name="present">Представление предмета на поле</param>
        public void ClearMatch(ICell <ItemDescription> cell, ICellUI present)
        {
            var obj = CreateAnimObject(present);

            var item = obj.GetComponent <IItemUI>();

            item.SetItem(cell.Item.Description);
            item.EnableStatus = true;

            obj.SetActive(true);

            present.SetItemVisibleStatus(false);
            present.ClearCell();

            var result = new Hashtable(2)
            {
                { "GameObject", obj },
                { "IItemUI", item },
                { "ICellUI", present }
            };

            _startedAnims++;

            iTween.ScaleTo(obj, iTween.Hash("scale", _clearMatchScale,
                                            "time", _clearMatchTime,
                                            "easetype", iTween.EaseType.easeInExpo,
                                            "looptype", iTween.LoopType.none,
                                            "oncomplete", nameof(CompleteClearMatch),
                                            "oncompletetarget", gameObject,
                                            "oncompleteparams", result));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Перемещение представления предмета в заданные координаты
        /// </summary>
        /// <param name="destinationCell">Ячейка с данными о предмете</param>
        /// <param name="presentFrom">Визуальная ячейка предмета на поле, откуда перемещается предмет</param>
        /// <param name="presentTo">Визуальная ячейка предмета на поле, кула перемещается предмет</param>
        public void MoveItem(ICell <ItemDescription> destinationCell, ICellUI presentFrom, ICellUI presentTo)
        {
            var obj = CreateAnimObject(presentFrom);

            var item = obj.GetComponent <IItemUI>();

            item.SetItem(destinationCell.Item.Description);
            item.EnableStatus = true;

            obj.SetActive(true);

            presentFrom.ClearCell();
            presentTo.SetItemToCell(destinationCell.Item);

            presentFrom.SetItemVisibleStatus(false);
            presentTo.SetItemVisibleStatus(false);

            var positionTo = GetPosition(presentTo);

            var result = new Hashtable(2)
            {
                { "GameObject", obj },
                { "IItemUI", item },
                { "ICellUITo", presentTo }
            };

            _startedAnims++;

            iTween.MoveTo(obj, iTween.Hash("position", transform.InverseTransformPoint(positionTo),
                                           "time", _moveItemTime,
                                           "islocal", true,
                                           "easetype", iTween.EaseType.easeInSine,
                                           "looptype", iTween.LoopType.none,
                                           "oncomplete", nameof(CompleteMoveItem),
                                           "oncompletetarget", gameObject,
                                           "oncompleteparams", result));
        }