private void Update() { if (Input.GetButtonDown("Use")) { RaycastHit hit; Ray ray = Camera.mainCamera.ScreenPointToRay(new Vector2(_targetRect.x, _targetRect.y)); if (Physics.Raycast(ray, out hit, 8)) { // Did we targeted door? RRDoor door = hit.transform.gameObject.GetComponent <RRDoor>(); if (door) { if (door.Cube) { door.Cube.OpenDoor(door); } } else if (hit.collider.name == "Decal") { // Hit Decal - edit? } else { // Place decal GameObject decal = RRDecal.PlaceDecal((Texture)Resources.Load("Textures/IWasHere"), hit); decal.AddComponent(typeof(BoxCollider)); // Disable cube destroying hit.collider.FindParentWithTag("Cube").GetComponent <RRCube>().WorldBound = true; } } } }
public bool OpenDoor(RRDoor door) { if( RRGame.SharedInstance.HasOpenDoors ) { door.gameObject.audio.PlayOneShot( door.lockedSounds ); // You can't open more than one door at a time return false; } return door.Open(); }
public bool OpenDoor(RRDoor door) { if (RRGame.SharedInstance.HasOpenDoors) { door.gameObject.audio.PlayOneShot(door.lockedSounds); // You can't open more than one door at a time return(false); } return(door.Open()); }
private void DoorStateChanged(RRDoor door) { _hasOpenDoors = door.isOpen; if (door.isOpen) { this.SpawnCubeInDirection(door.Direction, door.Cube); } if (_hasOpenDoors == false) { Vector3 previousPlayerPosition = _player.Cube.WorldPosition; this.CalculatePlayerCube(); if (Random.Range(0, 2) == 1 && previousPlayerPosition != _player.Cube.WorldPosition) { this.ShuffleAtPoint(previousPlayerPosition); } } }
private void DoorStateChanged(RRDoor door) { _hasOpenDoors = door.isOpen; if( door.isOpen ){ this.SpawnCubeInDirection( door.Direction, door.Cube ); } if( _hasOpenDoors == false ){ Vector3 previousPlayerPosition = _player.Cube.WorldPosition; this.CalculatePlayerCube(); if( Random.Range(0, 2) == 1 && previousPlayerPosition != _player.Cube.WorldPosition ){ this.ShuffleAtPoint( previousPlayerPosition ); } } }