1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using UnityEngine;
- namespace Photon.Pun.Demo.Procedural
- {
- /// <summary>
- /// Simple Input Handler to control the camera.
- /// </summary>
- public class ProceduralController : MonoBehaviour
- {
- private Camera cam;
- #region UNITY
- public void Awake()
- {
- cam = Camera.main;
- }
- /// <summary>
- /// Use horizontal and vertical axes (by default WASD or the arrow keys) for moving for-, back- or sidewards.
- /// Use E or Q for 'zooming' in or out.
- /// Use the left mouse button to decrease a Block's height
- /// or the right mouse button to increase a Block's height.
- /// </summary>
- public void Update()
- {
- float h = Input.GetAxisRaw("Horizontal");
- float v = Input.GetAxisRaw("Vertical");
- if (h >= 0.1f)
- {
- cam.transform.position += Vector3.right * 10.0f * Time.deltaTime;
- }
- else if (h <= -0.1f)
- {
- cam.transform.position += Vector3.left * 10.0f * Time.deltaTime;
- }
- if (v >= 0.1f)
- {
- cam.transform.position += Vector3.forward * 10.0f * Time.deltaTime;
- }
- else if (v <= -0.1f)
- {
- cam.transform.position += Vector3.back * 10.0f * Time.deltaTime;
- }
- if (Input.GetKey(KeyCode.Q))
- {
- cam.transform.position += Vector3.up * 10.0f * Time.deltaTime;
- }
- else if (Input.GetKey(KeyCode.E))
- {
- cam.transform.position += Vector3.down * 10.0f * Time.deltaTime;
- }
- if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1))
- {
- Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- RaycastHit hit;
- if (Physics.Raycast(ray, out hit, 100.0f))
- {
- Block b = hit.transform.GetComponent<Block>();
- if (b != null)
- {
- if (Input.GetMouseButtonDown(0))
- {
- WorldGenerator.Instance.DecreaseBlockHeight(b.ClusterId, b.BlockId);
- }
- else if (Input.GetMouseButtonDown(1))
- {
- WorldGenerator.Instance.IncreaseBlockHeight(b.ClusterId, b.BlockId);
- }
- }
- }
- }
- }
- #endregion
- }
- }
|