示例#1
0
        private void Update()
        {
            Rigidbody shipRb = ShipChanger.shipGo.GetComponent <Rigidbody>();

            if (shipRb != null)
            {
                asc = shipRb.GetComponent <DWP2.ShipController.AdvancedShipController>();

                float speed = shipRb.velocity.magnitude * 1.95f;
                speedText.text = "SPEED: " + string.Format("{0:0.0}", speed) + "kts";

                if (asc.rudders.Count > 0)
                {
                    float rudderAngle = asc.rudders[0].Angle;
                    rudderText.text = "RUDDER: " + string.Format("{0:0.0}", rudderAngle) + "°";
                }

                if (asc.Anchor != null)
                {
                    if (asc.Anchor.Dropped)
                    {
                        anchorImage.gameObject.SetActive(true);
                    }
                    else
                    {
                        anchorImage.gameObject.SetActive(false);
                    }
                }
            }
        }
示例#2
0
 private void SetRudderAnglesFromState(AdvancedShipController controller, ShipInternState state)
 {
     var rudders = controller.rudders;
     for (int i = 0; i < rudders.Count; ++i)
     {
         rudders[i].Angle = state.RudderStates[i].Angle;
     }
 }
示例#3
0
 private void SetRudderAnglesFromCmd(AdvancedShipController controller, VehicleCmd cmd)
 {
     var rudders = controller.rudders;
     for (int i = 0; i < rudders.Count; ++i)
     {
         rudders[i].Angle = cmd.Steerables[i].Ship.Angle;
     }
 }
示例#4
0
 private void SetShipInput(AdvancedShipController controller, ShipInternState state)
 {
     controller.ThrottleInput = state.ThrottleInput;
     controller.RudderInput   = state.SteerInput;
     controller.IsAccelerated = state.IsAccelerated;
 }
示例#5
0
 void Start()
 {
     shipController  = target.GetComponent <AdvancedShipController>();
     initialPosition = shipController.transform.InverseTransformPoint(transform.position);
 }