private ICardSorter CreateSorter <T>() where T : class, ITestRepository, new() { ITestRepository rep = new T(); var sorter = new CardModule(rep); return(sorter); }
void Crear() { minSize = new Vector2(800, 400); manager = (GameManager)GameObject.FindObjectOfType(typeof(GameManager)); carta = new CardModule(this); }
private void Update() { if (Input.GetMouseButtonDown(0)) { Vector2 worldPos = mainCamera.ScreenToWorldPoint(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast(worldPos, Vector2.zero); if (hit.collider == null) { return; } CardModule m = hit.collider.GetComponent <CardModule>(); // 선택학 카드가 없을 경우 if (Select == null) { Select = m; m.RotateAnimation(true); } //이전에 선택한카드 (Select)와 //방금 선택한 카드 (m)가 같으면 else if (Select.Equals(m)) { m.RotateAnimation(false); Select = null; } //선택한 카드와 방금 선택한 카드가 다를 경우 else { //Equals , == //색이 같은 경우 if (Select.CardColor.Equals(m.CardColor)) { Select.ReleaseAnimation(); m.ReleaseAnimation(); releaseNumber++; if (cardSize == releaseNumber) { TimerModule module = FindObjectOfType <TimerModule>(); module.isUpdate = false; menu.SetActive(true); return; } } else //색이 다를 경우 { Select.RotateAnimation(false); m.RotateAnimation(false); } Select = null; } } }
public void CardSorter_Success() { ITestRepository rep = new CardTestRepository(); var sorter = new CardModule(rep); var result = sorter.GetSortedCards(); var expectedResult = rep.GetExpectedResult(); for (int i = 0; i < result.Count; i++) { Assert.True(result[i].ToString() == expectedResult[i].ToString()); } }
public void OnStart() { releaseNumber = 0; Select = null; }