public void PlayerRightClickInteraction(PlayerToBlockMessage message) { // get player data GameObject player = message.player; GameObject blockPrefab = player.GetComponent <PlayerInventoryScript>().currentSelected; AddNewBlockAsNeighbor(blockPrefab); }
// PLAYER INTERACTION METHODS public void PlayerRayHitInteraction(PlayerToBlockMessage message) { // get object hit data GameObject objectHit = message.objectHit; if (sensorTagToDirectionVector3.ContainsKey(objectHit.tag)) { // CODE EXAMPLE: get sensor direction vector offset by rotation Vector3 direction = transform.rotation * sensorTagToDirectionVector3[objectHit.tag]; SetGhostBlockAsNeighbor(direction); } }
private void CheckBlockInteraction() { RaycastHit hit; Ray ray = selfPlayer.lookScript.playerCameraComponent.ViewportPointToRay( new Vector3(0.5F, 0.5F, 0) ); if (Physics.Raycast(ray, out hit)) { GameObject objectHit = hit.transform.gameObject; PlayerToBlockMessage payload = new PlayerToBlockMessage(gameObject, objectHit); // send standard ray hit message objectHit.SendMessageUpwards( "PlayerRayHitInteraction", payload, SendMessageOptions.DontRequireReceiver ); if (Input.GetMouseButtonDown(0)) { objectHit.SendMessageUpwards( "PlayerLeftClickInteraction", payload, SendMessageOptions.DontRequireReceiver ); } else if (Input.GetMouseButtonDown(1)) { objectHit.SendMessageUpwards( "PlayerRightClickInteraction", payload, SendMessageOptions.DontRequireReceiver ); } else if (Input.GetKeyDown(KeyCode.F)) { objectHit.SendMessageUpwards( "PlayerFKeyInteraction", payload, SendMessageOptions.DontRequireReceiver ); } } else { selfPlayer.inventoryScript.DeactivateGhostBlock(); } }
public override void PlayerFKeyInteraction(PlayerToBlockMessage message) { base.PlayerFKeyInteraction(message); }
public virtual void PlayerFKeyInteraction(PlayerToBlockMessage message) { print("block coordinates: " + blockState.position.ToString()); }
public void PlayerLeftClickInteraction(PlayerToBlockMessage message) { DestroyBlock(); }