public MoveStatus Move() { MoveStatus flag = MoveStatus.OTHER; curPos = (status == DroneStatus.PARKED) ? curPos : curPos + direction * SPEED; // if drone is moving(drone not parked) // and drone reached the current destination if (status != DroneStatus.PARKED && Utility.IsLessThan(curPos - dstPos, epsilon)) { if (Utility.IsLessThan(dstPos - hoverPos, epsilon)) // drone has finished takeoff { if (status == DroneStatus.TAKEOFF) // end of takeoff { status = DroneStatus.TO_SHELF; dstPos = eventPos; } } else if (Utility.IsLessThan(dstPos - eventPos, epsilon)) // Drone reached the event //else { status = DroneStatus.PARKED; curPos = parkingPos; flag = MoveStatus.END_TO_SHELF; } } gameObjectPointer.transform.position = curPos; return(flag); }
void Start() { droneCount++; status = DroneStatus.going; target = GameObject.FindGameObjectWithTag("Player"); }
public Drone(int droneId, Vector3 initPos) { this.droneId = droneId; this.isPaused = false; this.safetyStatus = SafetyStatus.NOT_SAFE; this.parkingPos = this.curPos = initPos; this.hoverPos = this.parkingPos + hoverShift; this.status = DroneStatus.PARKED; this.isWarning = false; this.isCollided = false; // create game object // Debug.Log("Created new drone with id: " + droneId); GameObject baseObject = TrafficControl.worldobject.GetComponent <TrafficControl>().droneBaseObject; gameObjectPointer = Object.Instantiate(baseObject, initPos, Quaternion.identity); gameObjectPointer.GetComponent <DroneProperties>().classPointer = this; gameObjectPointer.name = string.Concat("Drone", droneId.ToString()); gameObjectPointer.layer = 2; // gameObjectPointer.gameObject.tag = string.Concat("Drone", droneId.ToString()); gameObjectPointer.transform.parent = TrafficControl.worldobject.transform; GameObject arrow1 = gameObjectPointer.GetComponent <DroneProperties>().Arrows; arrows1 = Object.Instantiate(arrow1, initPos, Quaternion.Euler(0f, -90f, 0f)); arrows1.transform.parent = TrafficControl.worldobject.transform; GameObject arrow2 = gameObjectPointer.GetComponent <DroneProperties>().Arrows; arrows2 = Object.Instantiate(arrow2, initPos, Quaternion.Euler(0f, -270f, 0f)); arrows2.transform.parent = TrafficControl.worldobject.transform; arrows1.SetActive(false); arrows2.SetActive(false); ring_2 = gameObjectPointer.transform.Find("warningSphere").gameObject; }
public MainWindow() { InitializeComponent(); leftJoystick = new Joystick(img_left_joystick, left_joystick_panel); rightJoystick = new Joystick(img_right_joystick, right_joystick_panel); joystickAdjuster = new DispatcherTimer(); joystickAdjuster.Interval = new TimeSpan(15000); joystickAdjuster.Tick += joystickAdjuster_Tick; joystickAdjuster.Start(); red = new SolidColorBrush((Color)App.Current.TryFindResource("color_red")); green = new SolidColorBrush((Color)App.Current.TryFindResource("color_green")); defaultIps = new List <string>() { "127.0.0.1", "192.168.1.166", "192.168.10.1" }; list_ips.ItemsSource = defaultIps; txt_drone_ip.Text = defaultIps[0]; status = new DroneStatus(); videoReceiverStarted = false; joystickDataSender = new DispatcherTimer(); joystickDataSender.Tick += JoystickControl; joystickDataSender.Interval = new TimeSpan(0, 0, 0, 0, 500); SetJoystickMode(); }
internal void UpdateFromStatus(DroneStatus droneStatus) { X = droneStatus.X; Y = droneStatus.Y; Z = droneStatus.Z; BatteryPercentage = droneStatus.BatteryPercentage; }
private void UpdateDroneAppearance(EntityUid uid, DroneStatus status) { if (TryComp <AppearanceComponent>(uid, out var appearance)) { appearance.SetData(DroneVisuals.Status, status); } }
public void AddEvent(Event e) { status = DroneStatus.TAKEOFF; dstPos = hoverPos; eventPos = e.pos; direction = Vector3.Normalize(dstPos - parkingPos); eventId = e.shelfId; }
private Drone(double capacidade, double velocidade, double autonomia, double carga, DroneStatus status) { Capacidade = capacidade; Velocidade = velocidade; Autonomia = autonomia; Carga = carga; Status = status; }
public void SetStatus(DroneStatus _status) { if (status == DroneStatus.Landing || status == DroneStatus.Rest) { return; } status = _status; }
public override void Awake() { base.Awake(); //I would suggest you to put code below this line or in a Start() method Debug.Assert(DFC != null); Debug.Assert(DP != null); status = DroneStatus.Trouble; }
public void AddEvent(Event e) { //Debug.Log("Drone " + droneId + " Event " + e.shelfId + " at " + e.pos); status = DroneStatus.TAKEOFF; dstPos = hoverPos; eventPos = e.pos; direction = Vector3.Normalize(dstPos - parkingPos); eventId = e.shelfId; }
bool CheckForTarget() { if (Vector3.Distance(this.transform.position, target.transform.position) <= alertDistance) { status = DroneStatus.hunting; return(true); } return(false); }
public Drone(Guid id, double capacidade, double velocidade, double autonomia, double carga, DroneStatus status) { Id = id; Capacidade = capacidade; Velocidade = velocidade; Autonomia = autonomia; Carga = carga; Status = status; }
public Poll(int id, int batteryBalance, string failureCode, string location, DateTime pollTime, DroneStatus status, int drone_Id) { Id = id; BatteryBalance = batteryBalance; FailureCode = failureCode; Location = location; PollTime = pollTime; Status = status; Drone_Id = drone_Id; }
public async Task <List <DroneEntity> > GetByStatus(DroneStatus status) { using var conn = await DbFactory.OpenAsync(); await conn.CheckBase(); var list = await conn.SelectAsync <Drone>(d => d.Status == status); return(list.ConvertTo <List <DroneEntity> >()); }
public async Task <IActionResult> Post(CreateDroneRequest request) { if (OrganisationId == Guid.Empty) { return(Forbid()); } var droneDto = _mapper.Map <DroneDto>(request); droneDto.Status = DroneStatus.GetDefaultStatus(); droneDto.OrganisationId = OrganisationId; await _droneService.CreateAsync(droneDto); return(Ok()); }
private DroneStatus RetornaStatus(string descricaoStatus) { DroneStatus status = DroneStatus.Carregando; if (descricaoStatus == DroneStatus.Carregando.ToString()) { status = DroneStatus.Carregando; } if (descricaoStatus == DroneStatus.EmTransito.ToString()) { status = DroneStatus.EmTransito; } if (descricaoStatus == DroneStatus.Pronto.ToString()) { status = DroneStatus.Pronto; } return(status); }
public Drone(int droneId, Vector3 initPos) { this.droneId = droneId; this.parkingPos = this.curPos = initPos; this.hoverPos = this.parkingPos + hoverShift; this.status = DroneStatus.PARKED; this.isCollided = false; // create game object GameObject baseObject = TrafficControl.worldobject.GetComponent <TrafficControl>().droneBaseObject; gameObjectPointer = Object.Instantiate(baseObject, initPos, Quaternion.identity); gameObjectPointer.GetComponent <DroneProperties>().classPointer = this; gameObjectPointer.name = string.Concat("Drone", droneId.ToString()); gameObjectPointer.layer = 2; gameObjectPointer.transform.parent = TrafficControl.worldobject.transform; }
// Update is called once per frame void FixedUpdate() { if (status == DroneStatus.going) { if (!CheckForTarget()) { MoveTwd(point1, patrolSpeed); if (CheckDistance(point1, closeEnough)) { status = DroneStatus.returning; } } } else if (status == DroneStatus.returning) { if (!CheckForTarget()) { MoveTwd(point2, patrolSpeed); if (CheckDistance(point2, closeEnough)) { status = DroneStatus.going; } } } //separate if in case player is picked up this frame if (status == DroneStatus.hunting) { if (!CheckDistance(target, minDistance)) { MoveTwd(target, huntSpeed); } else { this.transform.LookAt(target.transform); if (transform.position.y > target.transform.position.y) { transform.position += new Vector3(0, -1 * Time.deltaTime, 0); } } } }
public static Drone Criar(double capacidade, double velocidade, double autonomia, double carga, DroneStatus status) { return(new Drone(capacidade, velocidade, autonomia, carga, status)); }
public void AtualizarStatus(DroneStatus status) { Status = status; }
void FixedUpdate() { GetVelocity(); ClampingSpeedValues(); SettingControllerToInputSettings(); //sensitivity settings for joystick,keyboard,mobile (depending on which is turned on) if (FlightRecorderOverride == false) { // 메뉴 UI 작동중에는 조작 불가능 if (IngameCanvasManager.instance.isCanvasOn) { BasicDroneHoverAndRotation(); return; } // '컨트롤' 상태일 때에만 조작. // 아닐 경우에는 호버링 switch (status) { case DroneStatus.Control: #region tutorial movement if (PlayerPrefsData.instance.isTutorialFinish == 0) { int tutorialProcess = QuestManager.instance.GetCurTutorialProcess(); // 조작 제한 튜토리얼 if (tutorialProcess == 0) { } else if (tutorialProcess <= 2) { MovementForward(); } else if (tutorialProcess <= 4) { MovementForward(true); MovementLeftRight(); } else if (tutorialProcess <= 7) { MovementUpDown(); } else if (tutorialProcess <= 9) { MovementUpDown(true); Rotation(); } // 자유 이동 튜토리얼 else { MovementUpDown(); MovementLeftRight(); Rotation(); MovementForward(); } } #endregion else { MovementUpDown(); MovementLeftRight(); Rotation(); MovementForward(); } // 바람 영향. // 조종 중에만 영향을 받음. AddWindyForce(); if (LandingCheck()) { BeginLanding(); status = DroneStatus.Landing; } break; case DroneStatus.Recall: ResetDroneVelocity(); break; case DroneStatus.Talk: MovementUpDown(true); ResetDroneVelocity(); break; case DroneStatus.Trouble: MovementUpDown(true); DirectDroneRecoverMoment(transform.eulerAngles.y); if (PlayerPrefsData.instance.isTutorialFinish == 1) { RecoverTrouble(); } break; case DroneStatus.Landing: if (PlayerController.instance.GetStatus() != PlayerStatus.Stay) { return; } MovementLeftRight(true); MovementForward(true); MovementUpDown(); if (TurnOffCheck()) { DP.TurnOffTrigger(); ourDrone.velocity = Vector3.zero; ourDrone.angularVelocity = Vector3.zero; status = DroneStatus.Rest; } else if (DepartureCheck()) { EndLanding(); status = DroneStatus.Control; } break; case DroneStatus.Rest: if (PlayerController.instance.GetStatus() != PlayerStatus.Stay) { return; } if (TurnOnCheck()) { DP.TurnOnTrigger(); } break; } // Hovering BasicDroneHoverAndRotation(); //this method applies all the forces and rotations to the drone. } }
public ARDrone(string IP) { status = DroneStatus.Invalid; if (System.Net.IPAddress.TryParse(IP, out ip)) { ping = new Pinger(this); this.Status = DroneStatus.NotConnected; navData = new NavData(this); configurator = new Configurator(this); commander = new Commander(this); positioner = new Positioner(this); targeter = new Target(this); flyCommand = new FlyCommand(this); } }
public DroneStatusChangedEventArgs(DroneStatus CurrentStatus, DroneStatus FormerStatus) { this.Status = CurrentStatus; this.FormerStatus = FormerStatus; }
public void UpdateStatus(DroneStatus status) { Status = status; }
/// <summary> /// Update the status of drone and Move /// </summary> /// <returns> /// drone paused: 0; /// end of to_shelf trip: 1; /// end of whole trip: 2; /// otherwise: -1 /// </returns> public MoveStatus Move() { MoveStatus flag = MoveStatus.OTHER; if (isPaused) { // if (pauseCounter-- == 0) // { // isPaused = false; // } return(flag); } // curPos = status == 0 ? gameObjectPointer.transform.position : gameObjectPointer.transform.position + direction * SPEED; // direction = Utility.shelves[eventId] - curPos; // direction = GameObject.Find("Event" + eventId.ToString()).transform.position - curPos; curPos = status == DroneStatus.PARKED ? curPos : curPos + direction * SPEED; // Debug.Log("Move drone " + droneId + " with dir: " + direction + " to pos: " + curPos); // New Code if (safetyStatus == SafetyStatus.TO_SAFE_ZONE) { if (curPos.y >= 30.0f) { safetyStatus = SafetyStatus.SAFE; safetyFlightStartTime = Time.time; } else { //Directionally Upward: curPos = curPos + new Vector3(0, SPEED * safetySpeedMultiplier, 0); // Straight Upward: //Vector3 orgPos = curPos - direction * SPEED; //curPos = orgPos + new Vector3(0, SPEED*safetySpeedMultiplier, 0); } } else if (safetyStatus == SafetyStatus.SAFE) { //Debug.Log("Safe zone"); if (Time.time - safetyFlightStartTime > safetyTime) { safetyStatus = SafetyStatus.TO_NONSAFE_ZONE; safetyFlightStartTime = 0; } else { Vector3 orgPos = curPos - direction * SPEED; curPos = orgPos + new Vector3(direction.x * SPEED, 0, direction.z * SPEED); } } else if (safetyStatus == SafetyStatus.TO_NONSAFE_ZONE) { //Debug.Log("Non-safe zone"); if (curPos.y < 30.0f) { safetyStatus = SafetyStatus.NOT_SAFE; } } // End of New code flag = MoveStatus.OTHER; if (status != DroneStatus.PARKED && Utility.IsLessThan(curPos - dstPos, epsilon)) { // Debug.Log(status + " " + curPos + " " + dstPos + " " + hoverPos + " " + parkingPos + " " + eventPos); if (Utility.IsLessThan(dstPos - hoverPos, epsilon)) { if (status == DroneStatus.TAKEOFF) // end of takeoff { Utility.DeleteChild(this.gameObjectPointer, "Line"); status = DroneStatus.TO_SHELF; dstPos = eventPos; // Debug.Log(droneId + "end of takeoff, now to event: " + eventPos + "cur: " + curPos); } } else if (Utility.IsLessThan(dstPos - eventPos, epsilon)) // Drone Reached the event { // cur_s = 2 --> 3 // end of to_shelf trip status = DroneStatus.PARKED; curPos = parkingPos; flag = MoveStatus.END_TO_SHELF; } } gameObjectPointer.transform.position = curPos; // gameObjectPointer.transform.rotation = Quaternion.identity; // gameObjectPointer.transform.rotation = TrafficControl.worldobject.transform.rotation; if (EnableArrows) { DisplayArrow(); } return(flag); }