private void Awake() { _inputSystem = FindObjectOfType <MixedRealityToolkit>().GetService <MixedRealityInputSystem>(); _virtualCity = FindObjectOfType <VirtualCity>(); var ooi = GetComponent <OOI>(); if (ooi) { Destroy(ooi); } Destroy(GetComponent <AugmentixTransformView>()); Destroy(GetComponent <PhotonView>()); _manipulator = gameObject.AddComponent <ObjectManipulator>(); _manipulator.ReleaseBehavior = 0; gameObject.AddComponent <NearInteractionGrabbable>(); gameObject.AddComponent <MinMaxScaleConstraint>(); _manipulator.OnManipulationStarted.AddListener(OnManipulation); _manipulator.OnManipulationEnded.AddListener(data => { GetComponent <Rigidbody>().velocity = Vector3.zero; GetComponent <Rigidbody>().angularVelocity = Vector3.zero; }); }
static void Main() { var fullscreen = false; read_input: switch (Microsoft.VisualBasic.Interaction.InputBox("Which assignment shall run next? (1, 2, 3, 4, or q for quit)", "Choose assignment", VirtualCity.GetInitialValue())) { case "1": using (var game = VirtualCity.RunAssignment1(SortSpecialBuildingsByDistance, fullscreen)) game.Run(); break; case "2": using (var game = VirtualCity.RunAssignment2(FindSpecialBuildingsWithinDistanceFromHouse, fullscreen)) game.Run(); break; case "3": using (var game = VirtualCity.RunAssignment3(FindRoute, fullscreen)) game.Run(); break; case "4": using (var game = VirtualCity.RunAssignment4(FindRoutesToAll, fullscreen)) game.Run(); break; case "q": return; } goto read_input; }
// Start is called before the first frame update void Start() { _deskzone = FindObjectOfType <Deskzone>(); _warpzoneManager = FindObjectOfType <WarpzoneManager>(); _virtualCity = FindObjectOfType <VirtualCity>(); _mainCamera = Camera.main; }
static void Main() { var fullscreen = false; Console.WriteLine("Which assignment shall run next? (1, 2, 3, 4, or q for quit)"); var level = Console.ReadLine(); if (level == "1") { var game = VirtualCity.RunAssignment1(SortSpecialBuildingsByDistance, fullscreen); game.Run(); } else if (level == "2") { var game = VirtualCity.RunAssignment2(FindSpecialBuildingsWithinDistanceFromHouse, fullscreen); game.Run(); } else if (level == "3") { var game = VirtualCity.RunAssignment3(FindRoute, fullscreen); game.Run(); } else if (level == "4") { var game = VirtualCity.RunAssignment4(FindRoutesToAll, fullscreen); game.Run(); } }
private void Start() { Collider = GetComponent <Collider>(); _interactionManager = FindObjectOfType <InteractionManager>(); _virtualCity = FindObjectOfType <VirtualCity>(); #if UNITY_WSA var prefab = FindObjectOfType <InteractionManager>().InteractionOrbPrefab; InteractionOrb = Instantiate(prefab, transform.position + new Vector3(0, Collider.bounds.size.y, 0), transform.rotation).GetComponent <InteractionOrb>(); InteractionOrb.Target = this; InteractionOrb.GetComponent <ObjectManipulator>().OnManipulationStarted.AddListener(eventData => { GetComponent <PhotonView>().RequestOwnership(); }); #endif if (Flags.HasFlag(InteractionFlag.Manipulate)) { var rigidbody = GetComponent <Rigidbody>(); if (!rigidbody) { rigidbody = gameObject.AddComponent <Rigidbody>(); } rigidbody.useGravity = false; #if UNITY_WSA var manipulator = gameObject.AddComponent <ObjectManipulator>(); manipulator.ReleaseBehavior = 0; gameObject.AddComponent <NearInteractionGrabbable>(); gameObject.AddComponent <MinMaxScaleConstraint>().ScaleMaximum *= 2; manipulator.OnManipulationStarted.AddListener(data => { GetComponent <PhotonView>().RequestOwnership(); }); manipulator.OnManipulationEnded.AddListener(data => { IsBeingManipulated = false; StartCoroutine(StopMovement()); IEnumerator StopMovement() { yield return(null); GetComponent <Rigidbody>().velocity = Vector3.zero; GetComponent <Rigidbody>().angularVelocity = Vector3.zero; } }); #elif UNITY_ANDROID gameObject.AddComponent <CustomGrabbable>(); #endif } }
static void Main() { var fullscreen = false; Console.WriteLine("Enter number of simulation to run - [1 - 4, q]"); while (true) { switch (Console.ReadLine()) { case "1": using (var game = VirtualCity.RunAssignment1(SortSpecialBuildingsByDistance, fullscreen)) game.Run(); break; case "2": using (var game = VirtualCity.RunAssignment2(FindSpecialBuildingsWithinDistanceFromHouse, fullscreen)) game.Run(); break; case "3": using (var game = VirtualCity.RunAssignment3(FindRoute, fullscreen)) game.Run(); break; case "4": using (var game = VirtualCity.RunAssignment4(FindRoutesToAll, fullscreen)) game.Run(); break; case "q": return; default: Console.WriteLine("Invalid input! Try again! - [1 - 4, q]"); break; } } }
private void Start() { _view = GetComponent <PhotonView>(); _virtualCity = FindObjectOfType <VirtualCity>(); if (_view.IsMine) { Mine = this; } if (TargetManager.Instance.Type == TargetManager.PlayerType.Primary) { _deskzone = FindObjectOfType <Deskzone>(); } if ((string)GetComponent <PhotonView>().Owner.CustomProperties["Class"] == TargetManager.PlayerType.Primary.ToString()) { Type = TargetManager.PlayerType.Primary; if (TargetManager.Instance.Type == TargetManager.PlayerType.Primary) { _deskzone.Inside += () => { ToggleVisibility(false); }; _deskzone.Outside += () => { ToggleVisibility(true); }; } } else { Type = TargetManager.PlayerType.Secondary; SecondaryAvatars.Add(this); if (TargetManager.Instance.Type == TargetManager.PlayerType.Primary) { var conePrefab = FindObjectOfType <WarpzoneManager>().ViewConePrefab; var cone = Instantiate(conePrefab); cone.transform.parent = transform; cone.transform.localPosition = conePrefab.transform.localPosition; cone.transform.localRotation = conePrefab.transform.localRotation; cone.transform.localScale = conePrefab.transform.localScale; cone.GetComponent <Renderer>().enabled = false; } } AvatarCreated?.Invoke(this); }
private void Start() { _targetManager = FindObjectOfType <ARTargetManager>(); _virtualCity = FindObjectOfType <VirtualCity>(); Scaler = new GameObject("Scaler"); Scaler.transform.parent = transform; Scaler.transform.localPosition = MapOffset; Scaler.transform.localScale = new Vector3(Scale, Scale, Scale); PlayerAvatar.AvatarCreated += (avatar) => { if (avatar.GetComponent <PhotonView>().IsMine) { return; } var dummy = Instantiate(_targetManager.AvatarPrefab, Scaler.transform); Destroy(dummy.GetComponent <AugmentixTransformView>()); Destroy(dummy.GetComponent <PlayerAvatar>()); Destroy(dummy.GetComponent <PhotonView>()); var dummyComp = dummy.gameObject.AddComponent <MapTargetDummy>(); dummyComp.Target = avatar; Dummies.Add(dummyComp); dummy.transform.localPosition = _virtualCity.transform.InverseTransformPoint(avatar.transform.position); dummy.transform.localRotation = Quaternion.Inverse(_virtualCity.transform.rotation) * avatar.transform.rotation; dummy.transform.localScale *= PlayerScale; }; PlayerAvatar.AvatarLost += (avatar) => { for (var i = 0; i < Dummies.Count; i++) { var dummy = Dummies[i]; if (dummy.Target == avatar) { Dummies.Remove(dummy); Destroy(dummy); return; } } }; StartCoroutine(OnLateStart()); IEnumerator OnLateStart() { yield return(new WaitForEndOfFrame()); foreach (var warpzone in FindObjectsOfType <Warpzone>()) { var dummy = Instantiate(_targetManager.WarpzoneDummyPrefab, Scaler.transform); var dummyComp = dummy.gameObject.AddComponent <MapTargetDummy>(); dummyComp.Target = warpzone; Dummies.Add(dummyComp); dummy.transform.localPosition = warpzone.LocalPosition; dummy.transform.localRotation = Quaternion.identity; dummy.transform.localScale *= 1f / warpzone.Scale; } } }
public void Awake() { _button = GetComponent <Button>(); _player = FindObjectOfType <OVRPlayerController>(); _virtualCity = FindObjectOfType <VirtualCity>(); OnRelease += pos => { if (!TeleportTarget.Equals(Vector3.zero)) { StartCoroutine(Teleport()); IEnumerator Teleport() { _player.enabled = false; yield return(null); var target = _virtualCity.transform.TransformPoint(TeleportTarget); target.y = _player.transform.position.y; _player.transform.position = target; yield return(null); _player.enabled = true; } } }; if (_button != null) { OnRelease += pos => { var colors = _button.colors; var normal = colors.normalColor; colors.normalColor = colors.selectedColor; colors.selectedColor = normal; _button.colors = colors; }; OnPress += pos => { var colors = _button.colors; var normal = colors.normalColor; colors.normalColor = colors.selectedColor; colors.selectedColor = normal; _button.colors = colors; }; OnHoverStart += () => { var colors = _button.colors; var normal = colors.normalColor; colors.normalColor = colors.highlightedColor; colors.highlightedColor = normal; _button.colors = colors; }; OnHoverEnd += () => { var colors = _button.colors; var normal = colors.normalColor; colors.normalColor = colors.highlightedColor; colors.highlightedColor = normal; _button.colors = colors; }; } }