public void TryPlaceButton(ButtonVisualAspect button) {
		bool donePosition = false;
		int posX, posY;
		while (donePosition == false) {
			// Random a position
            posX = Random.Range(0, widthGrid - 1);
            posY = Random.Range(0, heightGrid - 1);
			switch (button.typeButton) {
			case TypeButtonVisualAspect.Size1x1:
				// Place 1 by 1 button
				if (validListPositions [posX, posY] == 1) {
					validListPositions [posX, posY] = 0;
                    button.transform.position = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
					donePosition = true;
				}
				break;
			case TypeButtonVisualAspect.Size1x2:
				// Place 1 by 2 button
				// Check if the size of the button fits on the grid and if there is a valid position for it.
				if ((posY + 1) < widthGrid && validListPositions [posX, posY] == 1
					&& validListPositions [posX, posY+1] == 1) {
					validListPositions [posX, posY] = 0;
					validListPositions [posX, posY+1] = 0;
                    button.transform.position = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
					donePosition = true;
				}
				break;
			case TypeButtonVisualAspect.Size2x1:
				// Check if the size of the button fits on the grid and if there is a valid position for it.
				if ((posX + 1) < heightGrid && validListPositions [posX, posY] == 1 
					&& validListPositions [posX+1, posY] == 1) {
					validListPositions [posX, posY] = 0;
					validListPositions [posX+1, posY] = 0;
                    button.transform.position = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
					donePosition = true;
				}
				break;
			case TypeButtonVisualAspect.Size2x2:
				// Check if the size of the button fits on the grid and if there is a valid position for it.
				if ((posX + 1) < widthGrid && (posY + 1) < heightGrid 
					&& validListPositions [posX, posY] == 1 
					&& validListPositions [posX+1, posY] == 1 
					&& validListPositions [posX, posY+1] == 1 
					&& validListPositions [posX+1, posY+1] == 1) {
					validListPositions [posX, posY] = 0;
					validListPositions [posX+1, posY] = 0;
					validListPositions [posX, posY+1] = 0;
					validListPositions [posX+1, posY+1] = 0;
                    button.transform.position = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
					donePosition = true;
				}
				break;
			}
		}
	}
示例#2
0
    public void RandomizePanel()
    {
        // Place the controls 'randomly'.
        pvgPub.DoPlaceButton();

        for (int btnIdx = 0; btnIdx < pvgPub.listOfButtons.Length; btnIdx++)
        {
            ButtonVisualAspect curButton = pvgPub.listOfButtons[btnIdx];
            posList.Add(curButton.transform.localPosition.x);
            posList.Add(curButton.transform.localPosition.y);
            posList.Add(curButton.GetComponent <Control>().subType);
            curButton.GetComponent <Control>().offSprite = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].offSprite;
            curButton.GetComponent <Control>().onSprite  = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].onSprite;
        }
    }
示例#3
0
    public void TutorializePanel()
    {
        ButtonVisualAspect curButton = pvgPub.listOfButtons[0];

        posList.Add(-100.0f);
        posList.Add(0.0f);
        posList.Add(curButton.GetComponent <Control>().subType);
        curButton.GetComponent <Control>().offSprite = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].offSprite;
        curButton.GetComponent <Control>().onSprite  = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].onSprite;

        curButton = pvgPub.listOfButtons[1];
        posList.Add(0.0f);
        posList.Add(0.0f);
        posList.Add(curButton.GetComponent <Control>().subType);
        curButton.GetComponent <Control>().offSprite = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].offSprite;
        curButton.GetComponent <Control>().onSprite  = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].onSprite;

        curButton = pvgPub.listOfButtons[2];
        posList.Add(100.0f);
        posList.Add(0.0f);
        posList.Add(curButton.GetComponent <Control>().subType);
        curButton.GetComponent <Control>().offSprite = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].offSprite;
        curButton.GetComponent <Control>().onSprite  = curButton.GetComponent <Control>().controlSprites[curButton.GetComponent <Control>().subType].onSprite;
    }
示例#4
0
    void Init()
    {
        if (Player.GetLocalPlayer().isTutorial)
        {
            completeSequence = completeSequenceTutorial;
        }
        //buttonCount = FindObjectOfType<NetMgr>().controlCount;
        TypeButtonVisualAspect[] buttonArr;

        MatchMgr matchMgr = FindObjectOfType <MatchMgr>();

        if (!matchMgr.isTutorialMatch)
        {
            buttonArr = new TypeButtonVisualAspect[buttonCount];
            switch (buttonCount)
            {
            case 2:
                buttonArr[0] = TypeButtonVisualAspect.Size2x2;
                buttonArr[1] = TypeButtonVisualAspect.Size2x2;
                break;

            case 3:
                buttonArr[0] = TypeButtonVisualAspect.Size2x2;
                buttonArr[1] = TypeButtonVisualAspect.Size1x1;
                buttonArr[2] = TypeButtonVisualAspect.Size2x2;
                break;

            case 4:
                buttonArr[0] = TypeButtonVisualAspect.Size1x2;
                buttonArr[1] = TypeButtonVisualAspect.Size2x2;
                buttonArr[2] = TypeButtonVisualAspect.Size1x1;
                buttonArr[3] = TypeButtonVisualAspect.Size2x2;
                break;

            case 5:
                buttonArr[0] = TypeButtonVisualAspect.Size2x2;
                buttonArr[1] = TypeButtonVisualAspect.Size1x2;
                buttonArr[2] = TypeButtonVisualAspect.Size2x1;
                buttonArr[3] = TypeButtonVisualAspect.Size1x1;
                buttonArr[4] = TypeButtonVisualAspect.Size2x2;
                break;

            case 6:
                buttonArr[0] = TypeButtonVisualAspect.Size2x2;
                buttonArr[1] = TypeButtonVisualAspect.Size1x1;
                buttonArr[2] = TypeButtonVisualAspect.Size2x1;
                buttonArr[3] = TypeButtonVisualAspect.Size1x2;
                buttonArr[4] = TypeButtonVisualAspect.Size2x1;
                buttonArr[5] = TypeButtonVisualAspect.Size1x2;
                break;

            case 7:
                buttonArr[0] = TypeButtonVisualAspect.Size2x2;
                buttonArr[1] = TypeButtonVisualAspect.Size1x1;
                buttonArr[2] = TypeButtonVisualAspect.Size2x1;
                buttonArr[3] = TypeButtonVisualAspect.Size1x2;
                buttonArr[4] = TypeButtonVisualAspect.Size2x2;
                buttonArr[5] = TypeButtonVisualAspect.Size1x1;
                buttonArr[6] = TypeButtonVisualAspect.Size2x1;
                break;
            }
        }
        else
        {
            buttonCount         = 3;
            buttonArr           = new TypeButtonVisualAspect[buttonCount];
            buttonArr[0]        = TypeButtonVisualAspect.Size2x2;
            buttonArr[1]        = TypeButtonVisualAspect.Size2x2;
            buttonArr[2]        = TypeButtonVisualAspect.Size2x2;
            tutorialSource.clip = tutorialClips[id - 1];
        }

        GenButtons(buttonArr);

        if (isServer)
        {
            SetUpPanel();
            if (matchMgr.isTutorialMatch)
            {
                for (int btnIdx = 0; btnIdx < pvgPub.listOfButtons.Length; btnIdx++)
                {
                    ButtonVisualAspect curButton = pvgPub.listOfButtons[btnIdx];
                    curButton.transform.localPosition            = new Vector3(posList[btnIdx * 3], posList[btnIdx * 3 + 1], -1.0f);
                    curButton.GetComponent <Control>().offSprite = curButton.GetComponent <Control>().controlSprites[(int)posList[btnIdx * 3 + 2]].offSprite;
                    curButton.GetComponent <Control>().onSprite  = curButton.GetComponent <Control>().controlSprites[(int)posList[btnIdx * 3 + 2]].onSprite;
                }
            }
        }
        else
        {
            for (int btnIdx = 0; btnIdx < pvgPub.listOfButtons.Length; btnIdx++)
            {
                ButtonVisualAspect curButton = pvgPub.listOfButtons[btnIdx];
                curButton.transform.localPosition            = new Vector3(posList[btnIdx * 3], posList[btnIdx * 3 + 1], -1.0f);
                curButton.GetComponent <Control>().offSprite = curButton.GetComponent <Control>().controlSprites[(int)posList[btnIdx * 3 + 2]].offSprite;
                curButton.GetComponent <Control>().onSprite  = curButton.GetComponent <Control>().controlSprites[(int)posList[btnIdx * 3 + 2]].onSprite;
            }
        }

        /*
         * PanelVisualGenerator pvgen1 = GetComponent<PanelVisualGenerator>();
         * for(int btnIdx = 0; btnIdx < pvgen1.listOfButtons.Length; btnIdx++)
         * {
         *  ButtonVisualAspect curButton = pvgen1.listOfButtons[btnIdx];
         *  curButton.GetComponent<Control>().offSprite = curButton.GetComponent<Control>().controlSprites[(int)posList[btnIdx * 2 + 2]].offSprite;
         *  curButton.GetComponent<Control>().onSprite = curButton.GetComponent<Control>().controlSprites[(int)posList[btnIdx * 2 + 2]].onSprite;
         * }
         */

        GetComponent <SpriteRenderer>().sprite = panelSprites[id - 1];
        // Obtain reference to audio source.
        if (audioSource == null)
        {
            audioSource = GetComponent <AudioSource>();
        }
        // Decode correct sequence string.
        DecodeCorrectSequence();
    }
示例#5
0
    public void TryPlaceButton(ButtonVisualAspect button)
    {
        bool donePosition = false;
        int  posX, posY;

        while (donePosition == false)
        {
            // Random a position
            posX = Random.Range(0, widthGrid - 1);
            posY = Random.Range(0, heightGrid - 1);
            switch (button.typeButton)
            {
            case TypeButtonVisualAspect.Size1x1:
                // Place 1 by 1 button
                if (validListPositions [posX, posY] == 1)
                {
                    validListPositions [posX, posY] = 0;
                    button.transform.position       = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
                    donePosition = true;
                }
                break;

            case TypeButtonVisualAspect.Size1x2:
                // Place 1 by 2 button
                // Check if the size of the button fits on the grid and if there is a valid position for it.
                if ((posY + 1) < widthGrid && validListPositions [posX, posY] == 1 &&
                    validListPositions [posX, posY + 1] == 1)
                {
                    validListPositions [posX, posY]     = 0;
                    validListPositions [posX, posY + 1] = 0;
                    button.transform.position           = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
                    donePosition = true;
                }
                break;

            case TypeButtonVisualAspect.Size2x1:
                // Check if the size of the button fits on the grid and if there is a valid position for it.
                if ((posX + 1) < heightGrid && validListPositions [posX, posY] == 1 &&
                    validListPositions [posX + 1, posY] == 1)
                {
                    validListPositions [posX, posY]     = 0;
                    validListPositions [posX + 1, posY] = 0;
                    button.transform.position           = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
                    donePosition = true;
                }
                break;

            case TypeButtonVisualAspect.Size2x2:
                // Check if the size of the button fits on the grid and if there is a valid position for it.
                if ((posX + 1) < widthGrid && (posY + 1) < heightGrid &&
                    validListPositions [posX, posY] == 1 &&
                    validListPositions [posX + 1, posY] == 1 &&
                    validListPositions [posX, posY + 1] == 1 &&
                    validListPositions [posX + 1, posY + 1] == 1)
                {
                    validListPositions [posX, posY]         = 0;
                    validListPositions [posX + 1, posY]     = 0;
                    validListPositions [posX, posY + 1]     = 0;
                    validListPositions [posX + 1, posY + 1] = 0;
                    button.transform.position = new Vector3(origin.x + posX * widthCellGrid, origin.y + posY * heightCellGrid, button.transform.position.z);
                    donePosition = true;
                }
                break;
            }
        }
    }