void HandleGoToWaitZone() { DropPointLogic dropperForWaitZone = _door.GetComponent <DoorRobotInteraction>().dropper; _rm.Move(dropperForWaitZone.GetPoint(PointsDrop.WAITSTATION)); _op.SetTarget(_currentBoxPicked.box); _op.Stay(); if (_rm.IsHeNearInstance(dropperForWaitZone.GetPoint(PointsDrop.WAITSTATION))) { _currentState = RobotState.INWAITZONE; _rm.SetInstantSpeed(0); } }
void HandleInWaitZone() { DropPointLogic dropper_ = _door.GetComponent <DoorRobotInteraction>().dropper; PointsDrop can = dropper_.WhatDrop(gameObject.GetInstanceID()); _op.SetTarget(_currentBoxPicked.box); _op.Stay(); dropper_.waitZone = this; if (can != PointsDrop.NOTHING) { _rm.Move(dropper_.GetPoint(can)); if (_rm.IsHeNearInstance(dropper_.GetPoint(can))) { dropper_.SetIDLE(); dropper_.SetBotInDropZone(this, can); // Debug.Log("WE ARE GODS"); _currentState = RobotState.GONNADROP; dropper_.waitZone = null; } } }
/// <summary> /// Handles the exit dropper. /// </summary> /// <param name="isRight">If set to <c>true</c> is right.</param> void HandleExitDropper(bool isRight) { DropPointLogic dropper = _door.GetComponent <DoorRobotInteraction>().dropper; PointsDrop use = PointsDrop.EXITCORRECT; if (isRight) { use = PointsDrop.EXITCORRECT; _rm.Move(dropper.GetPoint(use)); } else { use = PointsDrop.EXITINCORRECT; _rm.Move(dropper.GetPoint(use)); } if (_rm.IsHeNearInstance(dropper.GetPoint(use))) { _door = null; _currentState = RobotState.SEARCH; } }
/// <summary> /// Handles the gonna drop. /// </summary> /// <returns><c>true</c>, if gonna drop was handled, <c>false</c> otherwise.</returns> bool HandleGonnaDrop() { DropPointLogic dropper = _door.GetComponent <DoorRobotInteraction>().dropper; PointsDrop can_ = dropper.WhatDrop(gameObject.GetInstanceID()); Vector3 pt = dropper.GetPoint(can_ == PointsDrop.DROPRIGHT ? PointsDrop.VENTCORRECT : PointsDrop.VENTINCORRECT); transform.LookAt(pt); droppedInRight = dropper.WhereIsHe(); if (_rm.IsHeLookingAt(pt)) { _currentState = RobotState.LEAVEBOX; return(dropper.WhereIsHe()); } return(dropper.WhereIsHe()); }
bool HandleGonnaDrop() { DropPointLogic dropper = _door.GetComponent <DoorRobotInteraction>().dropper; PointsDrop can_ = dropper.WhatDrop(gameObject.GetInstanceID()); Vector3 pt = dropper.GetPoint(can_ == PointsDrop.DROPRIGHT ? PointsDrop.VENTCORRECT : PointsDrop.VENTINCORRECT); transform.LookAt(pt); //if (dropper.WhereIsHe()) //{ // what = true; //if he's going to the correct path, go true //} //else what = false; //if not, go false. droppedInRight = dropper.WhereIsHe(); if (_rm.IsHeLookingAt(pt)) { _currentState = RobotState.LEAVEBOX; // Debug.Log("Yo i'm lookin at the droppah"); return(dropper.WhereIsHe()); } return(dropper.WhereIsHe()); }