Я пытаюсь придумать универсальный метод, который поможет мне с текущим кодом.Это не проблема, я просто хочу узнать, возможно ли это сделать.У меня есть два метода, которые в основном делают одно и то же, но используют разные преобразования.Я думаю о том, как реализовать универсальный метод для создания этого кода.
private void ImagePieceClickEvent(GameObject target, MouseEventType type)
{
if (type == MouseEventType.CLICK && canClick)
{
//imagePiceTarget has Transform type
if (imagePieceTarget != null && imagePieceTarget != target.transform)
imagePieceTarget.GetComponent<SpriteRenderer>().DOFade(0.7f, 0.2f);
if (imagePieceTarget == target.transform)
{
imagePieceTarget.GetComponent<SpriteRenderer>().DOFade(0.7f, 0.2f);
imagePieceTarget = null;
}
else
{
imagePieceTarget = target.transform;
imagePieceTarget.GetComponent<SpriteRenderer>().DOFade(1f, 0.2f).OnComplete(CheckAnswer);
}
}
}
private void ClonePieceClickEvent(GameObject target, MouseEventType type)
{
if (type == MouseEventType.CLICK && canClick)
{
//clonePieceTarget has Transform type
if (clonePieceTarget != null && clonePieceTarget != target.transform)
clonePieceTarget.transform.DOScale(0.7f, 0.2f);
if (clonePieceTarget == target.transform)
{
clonePieceTarget.transform.DOScale(0.7f, 0.2f);
clonePieceTarget = null;
}
else
{
clonePieceTarget = target.transform;
clonePieceTarget.transform.DOScale(1f, 0.2f).OnComplete(CheckAnswer);
}
}
}
Весь код в условии IF должен быть реализован в универсальном методе, а затем вызвать его.Почему я не могу сделать это, потому что первый метод вызывает метод .DOFade (), а второй метод вызывает DOScale ().Я хотел бы знать, возможно ли упростить с помощью универсального метода, спасибо.