public void Hit(RopeTarget r) { print("hit!"); rope.connectee = r; r.Attach(rope); return; }
public void EnterAct() { partner = rope.GetPartner(myTarget); joint.distance = Vector2.Distance(myTarget.transform.position, partner.transform.position); joint.enabled = true; joint.connectedBody = partner.GetComponent <Rigidbody2D>(); }
public override void SetOwner(GameObject g) { print("setting ownr"); base.SetOwner(g); ownerTarget = owner.GetComponent <RopeTarget>(); print(ownerTarget.name); ownerTarget.Attach(this); }
public override void EnterAction() { base.EnterAction(); anim.Play("fall"); partner = rope.GetPartner(GetComponent <RopeTarget>()); EncumberPartner(); }
public RopeTarget GetPartner(RopeTarget r) { if (stateMachine.currentState.Is(typeof(RopeConnectedState))) { if (ownerTarget == r) { return(connectee); } if (connectee == r) { return(ownerTarget); } return(null); } return(null); }
public override void EnterAction() { lr.useWorldSpace = true; base.EnterAction(); RopeTarget[] Rt = FindObjectsOfType <RopeTarget>(); RopeTarget targ = ValidTarget(Rt); if (targ != null) { Hit(targ); } else { Miss(); } }
public void Disconnect(RopeTarget r) // disconnect the rope, the disconnect is initiated by the target being passed in { if (stateMachine.currentState.Is(typeof(RopeConnectedState))) { onDisconnect.Invoke(); if (r == ownerTarget) { if (connectee.GetComponent <IUseItem>() != null) { Exchange(connectee.gameObject); } } stateMachine.TransitionTo(pocket); } }
public CheckWallAction(State s) : base(s) { rigid = ownerState.GetComponent <Rigidbody2D>(); targ = ownerState.GetComponent <RopeTarget>(); }
public SwingAction(State s) : base(s) { rope = GameObject.FindObjectOfType <Rope>(); joint = ownerState.GetComponent <DistanceJoint2D>(); myTarget = ownerState.GetComponent <RopeTarget>(); }