void Start() { //Set up keyboard grid KeyboardGrid = new Grid <KeyObject>(10, 3, cellSize, origin, highlightObject, (Grid <KeyObject> grid, int x, int y, KeyCode key, GameObject highlightObject) => new KeyObject(grid, x, y, key, highlightObject), cellSize / 2); KeyObject[,] keys = KeyboardGrid.GetGridObjects(); foreach (KeyObject keyObject in keys) { keyObject.SetActive(true); UpdateKey(keyObject, KeyObject.KeyAssignment.Universal, universalColor); } foreach (Vector2 position in unusedCells) { UpdateKey(keys[(int)position.x, (int)position.y], KeyObject.KeyAssignment.Unassigned, unassignedColor); keys[(int)position.x, (int)position.y].SetActive(false); } //Assign keycodes to keys and add to universal keys list for (int j = 0; j < keys.GetLength(1); j++) { for (int i = 0; i < keys.GetLength(0); i++) { keys[i, j].SetKey(keyboardKeys[i, j]); if (keys[i, j].GetKey() != KeyCode.None) { UniversalKeys.Add(keys[i, j].GetKey()); } } } //Set up assignment info for when keys are clicked, universal is the default starting assignee assignee = KeyObject.KeyAssignment.Universal; assignmentInfoDictionary.Add(KeyObject.KeyAssignment.Universal, new KeyAssignmentInfo(UniversalKeys, universalColor)); assignmentInfoDictionary.Add(KeyObject.KeyAssignment.Player1, new KeyAssignmentInfo(Player1Keys, player1Color)); assignmentInfoDictionary.Add(KeyObject.KeyAssignment.Player2, new KeyAssignmentInfo(Player2Keys, player2Color)); //Get reference to dropdown assigneeDropdown = FindObjectOfType <Dropdown>(); List <Dropdown.OptionData> dropdownOptions = new List <Dropdown.OptionData>(); dropdownOptions.Add(new Dropdown.OptionData("Universal")); dropdownOptions.Add(new Dropdown.OptionData("Player 1")); dropdownOptions.Add(new Dropdown.OptionData("Player 2")); assigneeDropdown.ClearOptions(); assigneeDropdown.AddOptions(dropdownOptions); assigneeDropdown.onValueChanged.AddListener(delegate { ChangeAssignee(); }); //Set marker colours universalColourMarker.transform.Find("Colour Object").GetComponent <RawImage>().color = universalColor; player1ColourMarker.transform.Find("Colour Object").GetComponent <RawImage>().color = player1Color; player2ColourMarker.transform.Find("Colour Object").GetComponent <RawImage>().color = player2Color; unassignedColourMarker.transform.Find("Colour Object").GetComponent <RawImage>().color = Color.black; //Hide unused character colours ChangeNumberOfPlayers(Manager <InputManager> .Instance.numberOfPlayers); }
public void ChangeAssignee() { int optionSelected = assigneeDropdown.value; assignee = (KeyObject.KeyAssignment)optionSelected; }
public void UpdateKey(KeyObject keyObject, KeyObject.KeyAssignment keyAssignment, Color color) { keyObject.SetSpriteColor(color); keyObject.keyAssignment = keyAssignment; }