void OnTriggerEnter2D(Collider2D collider) { if (!hero.isLocalPlayer) { return; } if (!collider.isTrigger) { return; } GameObject ropedObject = collider.transform.root.gameObject; Ropeable ropeable = ropedObject.GetComponent <Ropeable>(); if (ropeable != null) { if (ropeable.Equals(hero)) { return; } if (ropeable.CanRoped()) { hero.ropeController.CmdAttachRope(ropedObject); } } }
void ApplyRopeAttach(GameObject ropedObject) { if (hero.rope != null) { return; } hero.animator.SetTrigger("RopeSuccess"); RopeBehavior rope = Instantiate(ropePrefab).GetComponent <RopeBehavior> (); rope.InitializeRope(base.gameObject, ropedObject); Ropeable roped = ropedObject.GetComponent <Ropeable>(); roped.AttachRope(rope); }
public void ApplyRopeForce(Vector2 forceDir) { Ropeable attachedObject = joint.connectedBody.transform.root.GetComponent <Ropeable>(); attachedObject.ApplyRopeForce(forceDir); }