public Task <MediaResult> TakePhotoAsync(CameraOption option) { if (!IsThereAnAppToTakePictures()) { return(Task.FromResult(new MediaResult(false) { Message = "Camera not supported." })); } if (string.IsNullOrWhiteSpace(option.FilePath)) { option.FilePath = string.Format("{0}/{1}", GetPublicDirectoryPath(), GenerateUniqueFileName("jpg")); } _tcs = new TaskCompletionSource <MediaResult>(); _file = new File(option.FilePath); Intent intent = new Intent(_context, typeof(MediaActivity)); intent.PutExtra("ActivityType", ActivityType.TakePhoto); intent.PutExtra("FilePath", _file.Path); intent.PutExtra("MaxWidth", option.MaxWidth); intent.PutExtra("MaxHeight", option.MaxHeight); _context.StartActivity(intent); return(_tcs.Task); }
public void ChangeCamera(CameraOption option) { Debug.Log("Changing to " + option); currentCamera = option; switch (option) { case CameraOption.GodView: if (ActualCamera.GetComponent <SteamVR_Camera>().enabled) { ActualCamera.GetComponent <SteamVR_Camera>().enabled = false; ActualCamera.GetComponent <SteamVR_Camera>().Collapse(); } ChangeParent(GodViewCamera); break; case CameraOption.FirstPerson: if (ActualCamera.GetComponent <SteamVR_Camera>().enabled) { ActualCamera.GetComponent <SteamVR_Camera>().enabled = false; ActualCamera.GetComponent <SteamVR_Camera>().Collapse(); } ChangeParent(FirstPersonCamera); break; case CameraOption.VR: ChangeParent(GodViewVRCamera); ActualCamera.GetComponent <SteamVR_Camera>().enabled = true; break; default: break; } }
/// <summary> /// Initializes cameras in the scene. /// </summary> /// <param name="player">The player in the scene.</param> public void InitializeCameras(Player player) { cameras = new Camera[cameraPrefabs.Length]; for (int i = 0; i < cameras.Length; i++) { GameObject cameraObject = GameObject.Instantiate(cameraPrefabs[i]); CameraOption option = cameraObject.GetComponent <CameraOption>(); if (option != null) { option.SetPlayer(player); } cameras[i] = cameraObject.GetComponentInChildren <Camera>(); cameras[i].gameObject.SetActive(i == cameraIndex); } }
public bool HandleKeyPress(KeyInput e) { if (e.Event == KeyInputEvent.Down) { var h = Hotkey.FromKeyInput(e); if (h == Game.Settings.Keys.ObserverCombinedView && !limitViews) { selected = combined; selected.OnClick(); return(true); } if (h == Game.Settings.Keys.ObserverWorldView && !limitViews) { selected = disableShroud; selected.OnClick(); return(true); } if (e.Key >= Keycode.NUMBER_0 && e.Key <= Keycode.NUMBER_9) { var key = (int)e.Key - (int)Keycode.NUMBER_0; var team = teams.Where(t => t.Key == key).SelectMany(s => s); if (!team.Any()) { return(false); } if (e.Modifiers == Modifiers.Shift) { team = team.Reverse(); } selected = team.SkipWhile(t => t.Player != selected.Player).Skip(1).FirstOrDefault() ?? team.FirstOrDefault(); selected.OnClick(); return(true); } } return(false); }
public bool HandleKeyPress(KeyInput e) { if (e.Event == KeyInputEvent.Down && !e.IsRepeat) { if (combinedViewKey.IsActivatedBy(e) && !limitViews) { selected = combined; selected.OnClick(); return(true); } if (worldViewKey.IsActivatedBy(e) && !limitViews) { selected = disableShroud; selected.OnClick(); return(true); } if (e.Key >= Keycode.NUMBER_0 && e.Key <= Keycode.NUMBER_9) { var key = (int)e.Key - (int)Keycode.NUMBER_0; var team = teams.Where(t => t.Key == key).SelectMany(s => s); if (!team.Any()) { return(false); } if (e.Modifiers == Modifiers.Shift) { team = team.Reverse(); } selected = team.SkipWhile(t => t.Player != selected.Player).Skip(1).FirstOrDefault() ?? team.FirstOrDefault(); selected.OnClick(); return(true); } } return(false); }
private void SetCameraView(CameraViewOptions view) { State.currentView = view; bool isFP = view == CameraViewOptions.FirstPerson; FPCam.Cam.gameObject.SetActive(isFP); TPCam.Cam.gameObject.SetActive(!isFP); if (isFP) { _currentCam = FPCam; _currentCamOption = FPCamOption; } else { _currentCam = TPCam; _currentCamOption = TPCamOption; } }
private void SetCameraOptions() { CameraOptions = new CameraOption[CAMERA_OPTIONS_NUMBER]; int i = 0; CameraOptions[i++] = new CameraOption ("Back View", false, false, 62, new Vector3(0f, 7.3f, -11.3f), Quaternion.Euler(18.5f, 0, 0)); CameraOptions[i++] = new CameraOption ("Back Top View", false, false, 62, new Vector3(0.0f, 10f, -19f), Quaternion.Euler(16, 0, 0)); CameraOptions[i++] = new CameraOption ("Side View", false, false, 62, new Vector3(-6.55f, 8.68f, -15.8f), Quaternion.Euler(13.4f, 18.5f, 0)); CameraOptions[i++] = new CameraOption ("Front View", false, false, 62, new Vector3(0.0f, 6.5f, 29.8f), Quaternion.Euler(17.5f, 180, 0), true); }
public void ChangeCamera(CameraOption option) { Debug.Log("Changing to " + option); currentCamera = option; switch (option) { case CameraOption.GodView: #if SteamVR if(ActualCamera.GetComponent<SteamVR_Camera>().enabled) { ActualCamera.GetComponent<SteamVR_Camera>().enabled = false; ActualCamera.GetComponent<SteamVR_Camera>().Collapse(); } #endif ChangeParent(GodViewCamera); break; case CameraOption.FirstPerson: #if SteamVR if (ActualCamera.GetComponent<SteamVR_Camera>().enabled) { ActualCamera.GetComponent<SteamVR_Camera>().enabled = false; ActualCamera.GetComponent<SteamVR_Camera>().Collapse(); } #endif ChangeParent(FirstPersonCamera); break; #if SteamVR case CameraOption.VR: ChangeParent(GodViewVRCamera); ActualCamera.GetComponent<SteamVR_Camera>().enabled = true; break; #endif default: break; } }
public Task <MediaResult> TakePhotoAsync(CameraOption option) { if (string.IsNullOrWhiteSpace(option.FilePath)) { option.FilePath = System.IO.Path.Combine(GetPublicDirectoryPath(), GenerateUniqueFileName("jpeg")); } var task = new TaskCompletionSource <MediaResult>(); try { var picker = new ImagePickerController(); picker.TakePhotoAsync(GetController(), (nsDict) => { if (nsDict == null) { task.SetResult(new MediaResult(false) { Message = "Cancelled." }); return; } var photo = nsDict.ValueForKey(new NSString("UIImagePickerControllerOriginalImage")) as UIImage; if (option.MaxHeight > 0 && option.MaxWidth > 0) { photo.Scale(new CoreGraphics.CGSize(option.MaxWidth, option.MaxHeight)); } try { NSData imgData = photo.AsJPEG(); NSError err = null; if (imgData.Save(option.FilePath, false, out err)) { task.SetResult(new MediaResult(true) { FilePath = option.FilePath }); } else { task.SetResult(null); } } catch (Exception ex) { task.SetResult(new MediaResult(false) { Message = ex.Message }); } }); } catch (Exception ex) { task.SetResult(new MediaResult(false) { Message = ex.Message }); } return(task.Task); }
public ObserverShroudSelectorLogic(Widget widget, World world) { var groups = new Dictionary<string, IEnumerable<CameraOption>>(); teams = world.Players.Where(p => !p.NonCombatant) .Select(p => new CameraOption(this, p)) .GroupBy(p => (world.LobbyInfo.ClientWithIndex(p.Player.ClientIndex) ?? new Session.Client()).Team) .OrderBy(g => g.Key); var noTeams = teams.Count() == 1; foreach (var t in teams) { var label = noTeams ? "Players" : t.Key == 0 ? "No Team" : "Team {0}".F(t.Key); groups.Add(label, t); } combined = new CameraOption(this, world, "All Players", world.Players.First(p => p.InternalName == "Everyone")); disableShroud = new CameraOption(this, world, "Disable Shroud", null); groups.Add("Other", new List<CameraOption>() { combined, disableShroud }); var shroudSelector = widget.Get<DropDownButtonWidget>("SHROUD_SELECTOR"); shroudSelector.OnMouseDown = _ => { Func<CameraOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); var showFlag = option.Race != null; var label = item.Get<LabelWidget>("LABEL"); label.IsVisible = () => showFlag; label.GetText = () => option.Label; label.GetColor = () => option.Color; var flag = item.Get<ImageWidget>("FLAG"); flag.IsVisible = () => showFlag; flag.GetImageCollection = () => "flags"; flag.GetImageName = () => option.Race; var labelAlt = item.Get<LabelWidget>("NOFLAG_LABEL"); labelAlt.IsVisible = () => !showFlag; labelAlt.GetText = () => option.Label; labelAlt.GetColor = () => option.Color; return item; }; shroudSelector.ShowDropDown("SPECTATOR_DROPDOWN_TEMPLATE", 400, groups, setupItem); }; var shroudLabel = shroudSelector.Get<LabelWidget>("LABEL"); shroudLabel.IsVisible = () => selected.Race != null; shroudLabel.GetText = () => selected.Label; shroudLabel.GetColor = () => selected.Color; var shroudFlag = shroudSelector.Get<ImageWidget>("FLAG"); shroudFlag.IsVisible = () => selected.Race != null; shroudFlag.GetImageCollection = () => "flags"; shroudFlag.GetImageName = () => selected.Race; var shroudLabelAlt = shroudSelector.Get<LabelWidget>("NOFLAG_LABEL"); shroudLabelAlt.IsVisible = () => selected.Race == null; shroudLabelAlt.GetText = () => selected.Label; shroudLabelAlt.GetColor = () => selected.Color; var keyhandler = shroudSelector.Get<LogicKeyListenerWidget>("SHROUD_KEYHANDLER"); keyhandler.OnKeyPress = HandleKeyPress; selected = disableShroud; }
public bool HandleKeyPress(KeyInput e) { if (e.Event == KeyInputEvent.Down) { var h = Hotkey.FromKeyInput(e); if (h == Game.Settings.Keys.ObserverCombinedView) { selected = combined; selected.OnClick(); return true; } if (h == Game.Settings.Keys.ObserverWorldView) { selected = disableShroud; selected.OnClick(); return true; } if (e.Key >= Keycode.NUMBER_0 && e.Key <= Keycode.NUMBER_9) { var key = (int)e.Key - (int)Keycode.NUMBER_0; var team = teams.Where(t => t.Key == key).SelectMany(s => s); if (!team.Any()) return false; if (e.Modifiers == Modifiers.Shift) team = team.Reverse(); selected = team.SkipWhile(t => t.Player != selected.Player).Skip(1).FirstOrDefault() ?? team.FirstOrDefault(); selected.OnClick(); return true; } } return false; }
public ObserverShroudSelectorLogic(Widget widget, World world) { limitViews = world.Map.Visibility.HasFlag(MapVisibility.MissionSelector); var groups = new Dictionary <string, IEnumerable <CameraOption> >(); combined = new CameraOption(this, world, "All Players", world.Players.First(p => p.InternalName == "Everyone")); disableShroud = new CameraOption(this, world, "Disable Shroud", null); if (!limitViews) { groups.Add("Other", new List <CameraOption>() { combined, disableShroud }); } teams = world.Players.Where(p => !p.NonCombatant && p.Playable) .Select(p => new CameraOption(this, p)) .GroupBy(p => (world.LobbyInfo.ClientWithIndex(p.Player.ClientIndex) ?? new Session.Client()).Team) .OrderBy(g => g.Key); var noTeams = teams.Count() == 1; foreach (var t in teams) { var label = noTeams ? "Players" : t.Key == 0 ? "No Team" : "Team {0}".F(t.Key); groups.Add(label, t); } var shroudSelector = widget.Get <DropDownButtonWidget>("SHROUD_SELECTOR"); shroudSelector.OnMouseDown = _ => { Func <CameraOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); var showFlag = option.Faction != null; var label = item.Get <LabelWidget>("LABEL"); label.IsVisible = () => showFlag; label.GetText = () => option.Label; label.GetColor = () => option.Color; var flag = item.Get <ImageWidget>("FLAG"); flag.IsVisible = () => showFlag; flag.GetImageCollection = () => "flags"; flag.GetImageName = () => option.Faction; var labelAlt = item.Get <LabelWidget>("NOFLAG_LABEL"); labelAlt.IsVisible = () => !showFlag; labelAlt.GetText = () => option.Label; labelAlt.GetColor = () => option.Color; return(item); }; shroudSelector.ShowDropDown("SPECTATOR_DROPDOWN_TEMPLATE", 400, groups, setupItem); }; var shroudLabel = shroudSelector.Get <LabelWidget>("LABEL"); shroudLabel.IsVisible = () => selected.Faction != null; shroudLabel.GetText = () => selected.Label; shroudLabel.GetColor = () => selected.Color; var shroudFlag = shroudSelector.Get <ImageWidget>("FLAG"); shroudFlag.IsVisible = () => selected.Faction != null; shroudFlag.GetImageCollection = () => "flags"; shroudFlag.GetImageName = () => selected.Faction; var shroudLabelAlt = shroudSelector.Get <LabelWidget>("NOFLAG_LABEL"); shroudLabelAlt.IsVisible = () => selected.Faction == null; shroudLabelAlt.GetText = () => selected.Label; shroudLabelAlt.GetColor = () => selected.Color; var keyhandler = shroudSelector.Get <LogicKeyListenerWidget>("SHROUD_KEYHANDLER"); keyhandler.OnKeyPress = HandleKeyPress; selected = limitViews ? groups.First().Value.First() : disableShroud; selected.OnClick(); }
public ObserverShroudSelectorLogic(Widget widget, ModData modData, World world, WorldRenderer worldRenderer, Dictionary <string, MiniYaml> logicArgs) { this.world = world; MiniYaml yaml; if (logicArgs.TryGetValue("CombinedViewKey", out yaml)) { combinedViewKey = modData.Hotkeys[yaml.Value]; } if (logicArgs.TryGetValue("WorldViewKey", out yaml)) { worldViewKey = modData.Hotkeys[yaml.Value]; } limitViews = world.Map.Visibility.HasFlag(MapVisibility.MissionSelector); var groups = new Dictionary <string, IEnumerable <CameraOption> >(); combined = new CameraOption(this, world, "All Players", world.Players.First(p => p.InternalName == "Everyone")); disableShroud = new CameraOption(this, world, "Disable Shroud", null); if (!limitViews) { groups.Add("Other", new List <CameraOption>() { combined, disableShroud }); } teams = world.Players.Where(p => !p.NonCombatant && p.Playable) .Select(p => new CameraOption(this, p)) .GroupBy(p => (world.LobbyInfo.ClientWithIndex(p.Player.ClientIndex) ?? new Session.Client()).Team) .OrderBy(g => g.Key); var noTeams = teams.Count() == 1; foreach (var t in teams) { var label = noTeams ? "Players" : t.Key == 0 ? "No Team" : "Team {0}".F(t.Key); groups.Add(label, t); } var shroudSelector = widget.Get <DropDownButtonWidget>("SHROUD_SELECTOR"); shroudSelector.OnMouseDown = _ => { Func <CameraOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); var showFlag = option.Faction != null; var label = item.Get <LabelWidget>("LABEL"); label.IsVisible = () => showFlag; label.GetColor = () => option.Color; if (showFlag) { WidgetUtils.BindPlayerNameAndStatus(label, option.Player); } else { label.GetText = () => option.Label; } var flag = item.Get <ImageWidget>("FLAG"); flag.IsVisible = () => showFlag; flag.GetImageCollection = () => "flags"; flag.GetImageName = () => option.Faction; var labelAlt = item.Get <LabelWidget>("NOFLAG_LABEL"); labelAlt.IsVisible = () => !showFlag; labelAlt.GetText = () => option.Label; labelAlt.GetColor = () => option.Color; return(item); }; shroudSelector.ShowDropDown("SPECTATOR_DROPDOWN_TEMPLATE", 400, groups, setupItem); }; shroudLabel = shroudSelector.Get <LabelWidget>("LABEL"); shroudLabel.IsVisible = () => selected.Faction != null; shroudLabel.GetText = () => selected.Label; shroudLabel.GetColor = () => selected.Color; var shroudFlag = shroudSelector.Get <ImageWidget>("FLAG"); shroudFlag.IsVisible = () => selected.Faction != null; shroudFlag.GetImageCollection = () => "flags"; shroudFlag.GetImageName = () => selected.Faction; var shroudLabelAlt = shroudSelector.Get <LabelWidget>("NOFLAG_LABEL"); shroudLabelAlt.IsVisible = () => selected.Faction == null; shroudLabelAlt.GetText = () => selected.Label; shroudLabelAlt.GetColor = () => selected.Color; var keyhandler = shroudSelector.Get <LogicKeyListenerWidget>("SHROUD_KEYHANDLER"); keyhandler.AddHandler(HandleKeyPress); selected = limitViews ? groups.First().Value.First() : world.WorldActor.Owner.Shroud.ExploreMapEnabled ? combined : disableShroud; selected.OnClick(); // Enable zooming out to fractional zoom levels worldRenderer.Viewport.UnlockMinimumZoom(0.5f); }
public DragForm(CameraOption _cameraOption, Point point) { // TODO: Complete member initialization this._cameraOption = _cameraOption; this.point = point; }
private void Initialise() { cameraOption = Settings.Instance.ChosenCameraOption; Camera.main.fieldOfView = cameraOption.FieldOfView; }
private CameraOption readCameraOption() { CameraOption returnTarget = new CameraOption(); return returnTarget; }