/// <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)); }
/// <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)); }