Exemplo n.º 1
0
    private void SelectSystem()
    {
        // 선택을 마쳤을 때, select flag가 켜져있는 사과는 selectList에 추가
        if (Input.GetMouseButtonUp(0))
        {
            foreach (AppleMeta everyApple in applesList)
            {
                if (everyApple.isSelected)
                {
                    selectList.Add(everyApple);
                }
            }
        }

        // 선택을 마친게 아니면, select flag 초기화
        else
        {
            foreach (AppleMeta everyApple in applesList)
            {
                everyApple.isSelected = false;
            }
        }

        // 선택박스가 켜져있는 동안, 박스 내의 사과의 select flag를 켜준다.
        if (selectBox.gameObject.activeSelf)
        {
            // 모든 사과의 선택을 초기화
            foreach (AppleMeta everyApple in applesList)
            {
                everyApple.isSelected = false;
            }

            // 콜라이더로 선택을 설정
            Collider2D[] hit = Physics2D.OverlapBoxAll(collideBox.anchoredPosition, collideBox.sizeDelta, 0f);
            foreach (Collider2D i in hit)
            {
                if (!i.CompareTag("apple"))
                {
                    continue;
                }

                AppleMeta hitApple = i.gameObject.GetComponent <AppleMeta>();

                // collide한 사과가 이미 새로 영역에 들어온 사과면,
                if (!hitApple.isSelected)
                {
                    hitApple.isSelected = true;
                }
            }
        }
    }
Exemplo n.º 2
0
    private void Awake()
    {
        zeroPos    = apple.transform.position;
        applesList = new List <AppleMeta>();
        selectList = new List <AppleMeta>();
        mapApple   = new int[verticalLength, horizontalLength];
        hints      = new List <Vector4>();

        for (int i = 0; i < verticalLength; i++)
        {
            for (int j = 0; j < horizontalLength; j++)
            {
                Vector3    newPos   = new Vector3(zeroPos.x + j, zeroPos.y + i, zeroPos.z);
                GameObject newApple = Instantiate(apple, newPos, Quaternion.identity);
                AppleMeta  _am      = newApple.GetComponent <AppleMeta>();
                newApple.name = string.Format("Apple ({0}, {1})", i, j);
                int _number = Random.Range(1, 10);
                _am.number     = _number;
                _am.coor       = new Vector2Int(i, j);
                mapApple[i, j] = _number;
                applesList.Add(_am);
            }
        }
    }