//Function to detect a cursor entering in the trigger area of the Car icon selection void OnTriggerEnter2D(Collider2D trigger) { if (isActive) { WheelImage = trigger.GetComponentInChildren <Image>(); WheelImage.color = new Color(1f, 1f, 1f, .5f); return; } isActive = true; //If the cursor enters the icon space the icon becomes active TextColorCar = this.GetComponent <Text>(); //Get the instance of the car text and change it to yellow TextColorCar.color = Color.yellow; CPU = trigger.GetComponent <CPUController>(); m = trigger.GetComponentInParent <MoveSelector>(); //Make the object that entered the icon space (the trigger) your moveselector target (it will be one of the cursors) m.is_this_inside = true; // Change the bool variable telling if the cursor is inside the icon area t = trigger.gameObject; //Set the generic t object to the cursor/trigger old = t.transform.parent; //Save the current parent of the coin (the cursor) so it can be reassigned to the coin later ID = CPU.CoinID; AddTempCar(); if (!CPU.is_coin_cpu || CPU.CoinID == 1) { ParentPosition = t.transform.localPosition; } }
//Initialization. Player 1 is set active by default and controllable with Joystick 1 void Start() { num_players = 1; num_ready_players = 0; num_CPU_Players = 0; num_CPU_SelectedCar = 0; TextColorGo = GameObject.FindWithTag("Go").GetComponent <Text>(); player1move = player.GetComponent <MoveSelector>(); player2move = player2.GetComponent <MoveSelector>(); player3move = player3.GetComponent <MoveSelector>(); player4move = player4.GetComponent <MoveSelector>(); player.SetActive(true); player2.SetActive(false); player3.SetActive(false); player4.SetActive(false); is_p1_active = true; player1move.is_this_active = true; //player1move.ThisPlayerControl = MoveSelector.ControlTypesHere.Joy1; player1move.ThisPlayerControl = MoveSelector.ControlTypesHere.NotAssigned; //is_joy1_taken = true; }
/// <summary> /// Constructs the Tile Selector and its components /// </summary> public void ConstructTileSelector() { // If gameView is null, get it from GameManager if (gameView == null) { gameView = GameManager.instance.view; } // If moveSelector is null, get it from gameView if (moveSelector == null) { moveSelector = gameView.moveSelector; } gameViewModel = gameView.gameViewModel; foreach (var unitViewModel in gameViewModel.UnitViewModels) { if (unitViewModel.Unit.PlayerNumber != gameViewModel.ControllingPlayer.PlayerNumber) { unitViewModel.PropertyChanged += UnitViewModel_PropertyChanged; } } EnterState(); }
private void ExitState(GameObject movingPiece) { this.enabled = false; tileHighlight.SetActive(false); MoveSelector move = GetComponent <MoveSelector> (); move.EnterState(movingPiece); }
public void EnterState(GameObject selectedPiece) { this.enabled = true; tileHighlight.SetActive(true); MoveSelector move = GetComponent <MoveSelector>(); move.ExitState(); }
private MoveSelector CreateMoveSelect(Piece selectedPiece, Vector2Int pointPosition) { MoveSelector move = Instantiate(highlightBluePrefab, Geometry.PointFromGrid(pointPosition), Quaternion.identity, childForHighlightBlue).GetComponent <MoveSelector>(); move.Piece = selectedPiece; move.PointPosition = pointPosition; return(move); }
private void Awake() { gameManager = GameManager.Instance; Assert.IsNotNull(gameManager, "GameManager not found"); eventSystem = (eventSystem) ?? FindObjectOfType <EventSystem>(); Assert.IsNotNull(eventSystem, "EventSystem not found."); moveSelector = (moveSelector) ?? GetComponent <MoveSelector>(); graphicRaycaster = GetComponent <GraphicRaycaster>(); }
//passes in the piece that has been selected, to become one that can be moved private void ExitState(GameObject movingPiece) { //disable this state of tileselector this.enabled = false; //remove highlight on piece tileHighlight.SetActive(false); //below two lines are calling on the move selector .cs file, getting the component and telling it to enter the 'moving piece' state. MoveSelector move = GetComponent <MoveSelector>(); move.EnterState(movingPiece); }
void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { Vector3 point = hit.point; Vector2Int gridPoint = Geometry.GridFromPoint(point); tileHighlight.SetActive(true); tileHighlight.transform.position = Geometry.PointFromGrid(gridPoint); if (Input.GetMouseButtonDown(0)) { GameObject selectedPiece = GameManager.instance.PieceAtGrid(gridPoint); if (GameManager.instance.DoesPieceBelongToCurrentPlayer(selectedPiece)) { lastPieceSelected = selectedPiece; GameManager.instance.SelectPiece(selectedPiece); // Reference Point 1: add ExitState call here later ExitState(selectedPiece); } else if (lastPieceSelected != null) { MoveSelector move = GetComponent <MoveSelector>(); move.CancelMove(lastPieceSelected); lastPieceSelected = null; } } } else { tileHighlight.SetActive(false); } }
//Function to detect a cursor entering in the trigger area of the Car icon selection void OnTriggerEnter2D(Collider2D trigger) { if (isActive) { WheelImage = trigger.GetComponentInChildren<Image>(); WheelImage.color = new Color(1f, 1f, 1f, .5f); return; } isActive = true; //If the cursor enters the icon space the icon becomes active TextColorCar = this.GetComponent<Text>(); //Get the instance of the car text and change it to yellow TextColorCar.color = Color.yellow; CPU = trigger.GetComponent<CPUController>(); m = trigger.GetComponentInParent<MoveSelector>(); //Make the object that entered the icon space (the trigger) your moveselector target (it will be one of the cursors) m.is_this_inside = true; // Change the bool variable telling if the cursor is inside the icon area t = trigger.gameObject; //Set the generic t object to the cursor/trigger old = t.transform.parent; //Save the current parent of the coin (the cursor) so it can be reassigned to the coin later ID = CPU.CoinID; AddTempCar(); if (!CPU.is_coin_cpu || CPU.CoinID == 1) { ParentPosition = t.transform.localPosition; } }
//Initialization. Player 1 is set active by default and controllable with Joystick 1 void Start() { num_players = 1; num_ready_players = 0; num_CPU_Players = 0; num_CPU_SelectedCar = 0; TextColorGo = GameObject.FindWithTag("Go").GetComponent<Text>(); player1move = player.GetComponent<MoveSelector>(); player2move = player2.GetComponent<MoveSelector>(); player3move = player3.GetComponent<MoveSelector>(); player4move = player4.GetComponent<MoveSelector>(); player.SetActive(true); player2.SetActive(false); player3.SetActive(false); player4.SetActive(false); is_p1_active = true; player1move.is_this_active = true; //player1move.ThisPlayerControl = MoveSelector.ControlTypesHere.Joy1; player1move.ThisPlayerControl = MoveSelector.ControlTypesHere.NotAssigned; //is_joy1_taken = true; }
//Function that creates the player and assigns a control scheme to it as detected by the input or if the player is already active it just assigns the control scheme detected void Create_Player() { //If some Players are already active it assigns a control scheme to them (works progressively from player 1 to 4) if (is_p1_active == true && player1move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned /*&& !ps1.is_CPU*/) { newPlayer = player1move; ps = panel1.GetComponent<PlayerSelector>(); } else if (is_p2_active == true && player2move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned && !ps2.is_CPU) { newPlayer = player2move; ps = panel2.GetComponent<PlayerSelector>(); } else if (is_p3_active == true && player3move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned && !ps3.is_CPU) { newPlayer = player3move; ps = panel3.GetComponent<PlayerSelector>(); } else if (is_p4_active == true && player4move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned && !ps4.is_CPU) { newPlayer = player4move; ps = panel4.GetComponent<PlayerSelector>(); } //If there are no active players it creates a new player and assigns the control scheme detected else { if (num_players <= 4) { num_players++; } switch (num_players) { case 1: player.SetActive(true); newPlayer = player1move; is_p1_active = true; ps = panel1.GetComponent<PlayerSelector>(); break; case 2: player2.SetActive(true); newPlayer = player2move; is_p2_active = true; ps = panel2.GetComponent<PlayerSelector>(); break; case 3: player3.SetActive(true); newPlayer = player3move; is_p3_active = true; ps = panel3.GetComponent<PlayerSelector>(); break; case 4: player4.SetActive(true); newPlayer = player4move; is_p4_active = true; ps = panel4.GetComponent<PlayerSelector>(); break; default: num_players = 4; break; } newPlayer.Hand.SetAsLastSibling(); if (newPlayer.playerID == 1) { newPlayer.GetComponent<Collider2D>().enabled = false; } newPlayer.is_this_active = true; ps.CPU_Controls = 1; ps.switch_case = 1; ps.HandObject.SetActive(true); ps.Token.sprite = ps.Player_Token; ps.Hand.sprite = ps.hand_closed; ps.carImage.sprite = ps.default_Empty; } setControlScheme(); }
//Function that creates the player and assigns a control scheme to it as detected by the input or if the player is already active it just assigns the control scheme detected void Create_Player() { //If some Players are already active it assigns a control scheme to them (works progressively from player 1 to 4) if (is_p1_active == true && player1move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned /*&& !ps1.is_CPU*/) { newPlayer = player1move; ps = panel1.GetComponent <PlayerSelector>(); } else if (is_p2_active == true && player2move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned && !ps2.is_CPU) { newPlayer = player2move; ps = panel2.GetComponent <PlayerSelector>(); } else if (is_p3_active == true && player3move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned && !ps3.is_CPU) { newPlayer = player3move; ps = panel3.GetComponent <PlayerSelector>(); } else if (is_p4_active == true && player4move.ThisPlayerControl == MoveSelector.ControlTypesHere.NotAssigned && !ps4.is_CPU) { newPlayer = player4move; ps = panel4.GetComponent <PlayerSelector>(); } //If there are no active players it creates a new player and assigns the control scheme detected else { if (num_players <= 4) { num_players++; } switch (num_players) { case 1: player.SetActive(true); newPlayer = player1move; is_p1_active = true; ps = panel1.GetComponent <PlayerSelector>(); break; case 2: player2.SetActive(true); newPlayer = player2move; is_p2_active = true; ps = panel2.GetComponent <PlayerSelector>(); break; case 3: player3.SetActive(true); newPlayer = player3move; is_p3_active = true; ps = panel3.GetComponent <PlayerSelector>(); break; case 4: player4.SetActive(true); newPlayer = player4move; is_p4_active = true; ps = panel4.GetComponent <PlayerSelector>(); break; default: num_players = 4; break; } newPlayer.Hand.SetAsLastSibling(); if (newPlayer.playerID == 1) { newPlayer.GetComponent <Collider2D>().enabled = false; } newPlayer.is_this_active = true; ps.CPU_Controls = 1; ps.switch_case = 1; ps.HandObject.SetActive(true); ps.Token.sprite = ps.Player_Token; ps.Hand.sprite = ps.hand_closed; ps.carImage.sprite = ps.default_Empty; } setControlScheme(); }
private void Awake() { instance = this; tr = GetComponent <RectTransform>(); ani = GetComponent <Animator>(); }
MoveSelector moveselect; // same as above // Use this for initialization void Start() { anim = GetComponent <Animator> (); //used to set parameters in animation tree moveselect = attackSelectionMenu.GetComponent <MoveSelector>(); }
private void Awake() { instance = this; }