Esempio n. 1
0
    public void PlayerRightClickInteraction(PlayerToBlockMessage message)
    {
        // get player data
        GameObject player      = message.player;
        GameObject blockPrefab =
            player.GetComponent <PlayerInventoryScript>().currentSelected;

        AddNewBlockAsNeighbor(blockPrefab);
    }
Esempio n. 2
0
    // 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();
        }
    }
Esempio n. 4
0
 public override void PlayerFKeyInteraction(PlayerToBlockMessage message)
 {
     base.PlayerFKeyInteraction(message);
 }
Esempio n. 5
0
 public virtual void PlayerFKeyInteraction(PlayerToBlockMessage message)
 {
     print("block coordinates: " + blockState.position.ToString());
 }
Esempio n. 6
0
 public void PlayerLeftClickInteraction(PlayerToBlockMessage message)
 {
     DestroyBlock();
 }