public override void PlayerEffect(LPlayer player) { int adjusment; if (player.tilePlacedOnSelf) { adjusment = 0; } else { adjusment = 1; } player.Eject(propulsionAmount + adjusment + propulsionBoost, -player.direction); }
public override void PlayerEffect(LPlayer player) { Vector2 gridPosition = Grid.GetTilePosition(transform.position, Vector2.zero); Vector2 iPosition = direction; Vector2 emptyPos = Vector2.zero; int nbrOfTiles = 0; bool hit = true; int adjusment; if (player.tilePlacedOnSelf) { adjusment = 0; } else { adjusment = 1; } while (hit == true) { RaycastHit2D hitTile = Physics2D.Raycast(gridPosition + iPosition, direction, 0.45f, layerMask); nbrOfTiles++; Debug.Log("Nbr of pass (" + nbrOfTiles + ")"); if (hitTile.collider != null) { iPosition += direction; } else { emptyPos = gridPosition + iPosition; hit = false; break; } } player.Eject(nbrOfTiles + adjusment, direction, true); }
public override void PlayerEffect(LPlayer player) { int adjusment; if (player.tilePlacedOnSelf) { adjusment = 0; } else { adjusment = 1; } RaycastHit2D hit = Physics2D.Raycast(transform.position, direction, 2, layerMask); if (hit) { Debug.Log("Correct"); propulsionAmount = 1; adjusment--; } player.Eject(propulsionAmount + adjusment + propulsionBoost, direction); }
// Update is called once per frame void Update() { // Used to check the Gamepad state and previous State prevState = state; state = GamePad.GetState(playerIndex); // Stores Sticks/Triggers/DPad DPad.x = state.DPad.Left == ButtonState.Pressed ? -1 : state.DPad.Right == ButtonState.Pressed ? 1 : 0; DPad.y = state.DPad.Down == ButtonState.Pressed ? -1 : state.DPad.Up == ButtonState.Pressed ? 1 : 0; leftStick = new Vector2(state.ThumbSticks.Left.X, state.ThumbSticks.Left.Y); rightStick = new Vector2(state.ThumbSticks.Right.X, state.ThumbSticks.Right.Y); leftTrigger = state.Triggers.Left; rightTrigger = state.Triggers.Right; // Actions moveInput = DPad != Vector2.zero ? DPad : leftStick; // Call functions inside the if statement to set what should be executed when pressed // A Button if (prevState.Buttons.A == ButtonState.Released && state.Buttons.A == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button A Pressed"); } // X Button if (prevState.Buttons.X == ButtonState.Released && state.Buttons.X == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button X Pressed"); player.SwitchTile(0); } // Y Button if (prevState.Buttons.Y == ButtonState.Released && state.Buttons.Y == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button Y Pressed"); player.SwitchTile(1); } // B Button if (prevState.Buttons.B == ButtonState.Released && state.Buttons.B == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button B Pressed"); player.SwitchTile(2); } // LB Button if (prevState.Buttons.LeftShoulder == ButtonState.Released && state.Buttons.LeftShoulder == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button LB Pressed"); } // RB Button if (prevState.Buttons.RightShoulder == ButtonState.Released && state.Buttons.RightShoulder == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button RB Pressed"); player.PlaceTile(false); player.firstTilePlaced = true; } if (rightTrigger == 1) { if (rightTriggerOnce == false) { Debug.Log("Right Trigger Pressed"); if (!player.firstTilePlaced && player.aimDirection == Vector2.zero) { for (int i = 0; i < BombParameter.directions.Length; i++) { Vector2 possiblePlacement = Grid.GetTilePosition((Vector2)player.transform.position + BombParameter.directions[i], Vector2.zero); if (possiblePlacement != Vector2.zero) { player.aimDirection = possiblePlacement - Grid.GetTilePosition(player.transform.position, Vector2.zero); break; } } } player.firstTilePlaced = true; player.PlaceTile(true); rightTriggerOnce = true; } } else { rightTriggerOnce = false; } // Start Button if (prevState.Buttons.Start == ButtonState.Released && state.Buttons.Start == ButtonState.Pressed) { Debug.Log("Xbox Controller : Button Start Pressed"); player.Eject(3, player.aimDirection); } }