private void Awake() { _instance = this; _firstJoint2D = transform.GetChild(0).GetComponent <HingeJoint2D>(); _lastJoint = transform.GetChild(transform.childCount - 1).GetComponent <Rigidbody2D>(); gameObject.SetActive(false); }
private static void InitDragAction() { var undrag = new ActionBase("action.id.undrag", (GameObject obj) => { return(true); }, (GameObject obj) => { RopeDragController.Unbind(obj); PlayerQuirks.Drags = false; }); ActionRequirement openActionRequirement = (GameObject owner) => { return(PlayerInventory.Instance.GetItems().Any(i => i.ItemID == "genericitem.id.rope") && !PlayerQuirks.Drags); }; InteractiveAction action = (GameObject obj) => { ProcessBarController.StartProcessWithCompletion(3f * PlayerQuirks.GetSkill(EPlayerSkills.Hiding), Resources.Load <Sprite>("Sprites/Actions/action.id.drag"), () => { RopeDragController.Bind(obj); }, Color.yellow); }; var drag = new ActionBase("action.id.drag", openActionRequirement, action); _actions.Add(drag.ActionID, drag); _actions.Add(undrag.ActionID, undrag); }