/* * RBF Training point * A draggable RBF training point for the sphere RBF ccontroller */ public static RBFTrainingAttachment CreateRBFSphereTraining() { GameObject training = Instantiate(Instance.rbfSphereTrainingPrefab) as GameObject; RBFTrainingAttachment attach = training.GetComponent <RBFTrainingAttachment>(); return(attach); }
/* * Creates a training point at a position or transform location */ //public RBFTrainingAttachment CreateTrainingPoint(){ // RBFTrainingAttachment training = UI.UIFactory.CreateRBFSphereTraining(); // training.owner = this; // training.transform.position = transform.position; // training.transform.localScale = transform.localScale; // training.transform.parent = transform; // foreach(RBFPlugAttachment plug in m_plugs) // training.StorePlugValue(plug); // m_trainingPoints.Add(training); // ResetRBF(); // return training; //} public override bool AddDockableAttachment(BaseAttachment attach) { if (base.AddDockableAttachment(attach)) { attach.rigidbody.isKinematic = true; RBFTrainingAttachment rbfAttach = attach as RBFTrainingAttachment; rbfAttach.owner = this; rbfAttach.SetToolmodeResponse(new BaseTool.ToolMode[] { BaseTool.ToolMode.PRIMARY, BaseTool.ToolMode.GRABBING }); rbfAttach.SetCloneable(false); rbfAttach.SetIsDraggable(true); rbfAttach.SetIsDockable(true); foreach (RBFPlugAttachment plug in m_plugs) { rbfAttach.StorePlugValue(plug); } SetSelectedtraining(rbfAttach); return(true); } return(false); }
public void SetSelectedtraining(RBFTrainingAttachment training) { if (m_selectedTraining != null) { m_selectedTraining.SetSelected(false); } m_selectedTraining = training; m_selectedTraining.SetSelected(true); foreach (RBFPlugAttachment plug in m_plugs) { plug.SetVal((float)training.plugValues[plug], true); } }
public override void RemoveDockableAttachment(BaseAttachment attach) { base.RemoveDockableAttachment(attach); RBFTrainingAttachment rbfAttach = attach as RBFTrainingAttachment; rbfAttach.SetToolmodeResponse(new BaseTool.ToolMode[] { BaseTool.ToolMode.GRABBING }); foreach (RBFPlugAttachment plug in m_plugs) { rbfAttach.RemovePlugValue(plug); } attach.rigidbody.isKinematic = false; }