public void SetWorld(World world) { if (world is CameraWorld) { this.world = (CameraWorld)world; } }
protected void Start() { if (world == null) { world = WorldConsumerUtility.FindWorld <CameraWorld>(this); } }
GameObject TryGetClickObjByLayers(string[] layers, int rayLength = 10000) { RaycastHit hit; Ray ray = CameraWorld.ScreenPointToRay(Input.mousePosition); for (int i = 0, length = layers.Length; i < length; ++i) { if (Physics.Raycast(ray, out hit, rayLength, 1 << LayerMask.NameToLayer(layers[i]))) { return(hit.collider.gameObject); } } return(null); }