Exemplo n.º 1
0
 public void HingeMotorTargetChange(float newTarget, string jointName)
 {
     Godot.HingeJoint reqJoint = (Godot.HingeJoint)FindJoint(jointName);
     if (reqJoint == null)
     {
         GD.Print("ERROR: Could not find requested joint [" + jointName + "]");
         return;
     }
     HingeTargetVal     = newTarget;
     HingeTargetChanged = true;
     ReqHingeJoint      = reqJoint;
     GD.Print(jointName + ": New Target speed of " + newTarget);
 }
    public void Configure(Godot.HingeJoint joint)
    {
        hideBtn = (Button)GetNode("Button");
        content = (MarginContainer)GetNode("Content");
        spacer  = (Control)GetNode("Spacer");

        hideBtn.Text = joint.Name;
        float upperLimDeg = joint.GetParam(Godot.HingeJoint.Param.LimitUpper);
        float lowerLimDeg = joint.GetParam(Godot.HingeJoint.Param.LimitLower);

        ((Label)content.GetNode("VBoxContainer/AngLimits/UpperVal")).Text =
            upperLimDeg.ToString();
        ((Label)content.GetNode("VBoxContainer/AngLimits/LowerVal")).Text =
            lowerLimDeg.ToString();
        ((LineEdit)content.GetNode("VBoxContainer/Motor/TargVelInput")).Text =
            joint.GetParam(Godot.HingeJoint.Param.MotorTargetVelocity).ToString();
        ((Label)content.GetNode("VBoxContainer/Motor/MaxImpulseVal")).Text =
            joint.GetParam(Godot.HingeJoint.Param.MotorMaxImpulse).ToString();
    }
Exemplo n.º 3
0
 // Adds a HingeJointControllerDetail scene to the detail list,
 // replacing the current detail if there is one.
 private void AddJoint(Godot.HingeJoint joint)
 {
     if (jointList.GetChildCount() == 1)
     {
         RemoveJoint(0);
     }
     try
     {
         HingeJointControllerDetail jointDetail = (HingeJointControllerDetail)HingeDetailScene.Instance();
         jointDetail.Configure(joint);
         jointDetail.Name = joint.Name;
         jointList.AddChild(jointDetail);
         jointDetail.Connect("TargetVelChanged", this, "HingeJointVelChanged");
         ActiveJoint = joint;
     }
     catch (Exception e)
     {
         GD.Print("Error adding joint...\n" + e.Message);
     }
 }