void GetOn(Collision2D vehicle) { //Driver Spot Transform chariotTransform = vehicle.gameObject.GetComponent(typeof(Transform)) as Transform; string vehicleType = "Chariot"; string spotType1 = "Driver"; string spotType2 = "Archer"; string spotType3 = "Passenger1"; if (aiFight.CompareTag("Ally") & chariotTransform.CompareTag("Chariot") || transform.CompareTag("Ally") & chariotTransform.CompareTag("FriendlyChariot")) { if (chariotTransform.GetComponent <Vehicle>().category != 1 | chariotTransform.GetComponent <Vehicle>().moveSpeed < chariotTransform.GetComponent <Vehicle>().maxSpeed / 5) { for (int n = 0; n < chariotTransform.childCount; n++) { if (chariotTransform.GetChild(n).name == spotType2 | chariotTransform.GetChild(n).name == spotType1 | chariotTransform.GetChild(n).name == spotType3 && chariotTransform.GetChild(n).childCount == 0) { rb.GetComponent <Transform>().SetParent(chariotTransform.GetChild(n)); onSpot = true; spot = chariotTransform.GetChild(n); } } } } else if (aiFight.CompareTag("Enemy") & chariotTransform.CompareTag("Chariot") || transform.CompareTag("Enemy") & chariotTransform.CompareTag("EnemyChariot")) { if (chariotTransform.GetComponent <Vehicle>().category != 1 | chariotTransform.GetComponent <Vehicle>().moveSpeed < chariotTransform.GetComponent <Vehicle>().maxSpeed / 5) { for (int n = 0; n < chariotTransform.childCount; n++) { if (chariotTransform.GetChild(n).name == spotType2 | chariotTransform.GetChild(n).name == spotType1 | chariotTransform.GetChild(n).name == spotType3 && chariotTransform.GetChild(n).childCount == 0) { rb.GetComponent <Transform>().SetParent(chariotTransform.GetChild(n)); onSpot = true; spot = chariotTransform.GetChild(n); } } } } if (onSpot) { GetControl(chariotTransform); rb.GetComponent <Transform>().position = spot.position; rbOriginalLayer = rb.gameObject.layer; originalLayer = gameObject.layer; rb.isKinematic = true; gameObject.layer = LayerMask.NameToLayer("NoInteract"); if (rb.transform.CompareTag("Enemy")) { rb.gameObject.layer = LayerMask.NameToLayer("EnemyPassenger"); } else { rb.gameObject.layer = LayerMask.NameToLayer("Passenger"); } } }