private void Update() { if (GameInput.GetKeyDown(player, ActionKey)) //arm selection started { MovementAction movement = GetComponent <MovementAction>(); if (movement != null) { movement.enabled = false; } selection.StartSelecting(player, "Interactable", 3f); } if (GameInput.GetKeyUp(player, ActionKey)) { GameObject g = selection.StopSelecting(); if (g != null) { g.GetComponent <SelectableTarget>().Act(Module.PlayerInside); } MovementAction movement = GetComponent <MovementAction>(); if (movement != null) { movement.enabled = true; } } }
public override void Init(int player) { base.Init(player); if (Movement) { return; } MovementAction move = GetComponent <MovementAction>(); if (move != null) { move.enabled = false; } }
void UpdateMovement() { int highest = int.MinValue; if (Upper != null) { if (highest < Upper.MovementPriority) { highest = Upper.MovementPriority; } if (Upper.Upper != null && highest < Upper.Upper.MovementPriority) { highest = Upper.Upper.MovementPriority; } } if (Lower != null) { if (highest < Lower.MovementPriority) { highest = Lower.MovementPriority; } if (Lower.Lower != null && highest < Lower.Lower.MovementPriority) { highest = Lower.Lower.MovementPriority; } } if (MovementPriority < 0 && highest > MovementPriority) { Movement = false; MovementAction move = GetComponent <MovementAction>(); if (move != null) { move.enabled = false; } } else { Movement = true; MovementAction move = GetComponent <MovementAction>(); if (Module != null && move != null && Module.PlayerInside > 0) { move.enabled = true; } } }
private void Update() { if (GameInput.GetKeyDown(player, ActionKey)) { MovementAction movement = GetComponent <MovementAction>(); Selecting = true; if (movement != null) { movement.enabled = false; } ((CombineSelection)selection).StartSelecting(this, player, "Combinable", Range); } if (GameInput.GetKeyUp(player, ActionKey)) { Selecting = false; GameObject g = selection.StopSelecting(); if (g != null) { if (Upper != null && g == Upper.gameObject) { UpperJoint.connectedBody = null; UpperJoint.enabled = false; Upper.Separated(true); Upper = null; } else if (Lower != null && g == Lower.gameObject) { LowerJoint.connectedBody = null; LowerJoint.enabled = false; Lower.Separated(false); Lower = null; } else { CombineAction comb = g.GetComponent <CombineAction>(); if (comb.part > part) { comb.transform.position = comb.transform.position + (UpperAttachPoint.position - comb.LowerAttachPoint.position); UpperJoint.enabled = true; UpperJoint.connectedBody = comb.GetComponent <Rigidbody2D>(); Upper = comb; comb.Combined(true, this); if (comb.GetMass() > SupportableMass) { Break(); } } else { transform.position = transform.position + (comb.UpperAttachPoint.position - LowerAttachPoint.position); LowerJoint.enabled = true; LowerJoint.connectedBody = comb.GetComponent <Rigidbody2D>(); Lower = comb; comb.Combined(false, this); } } UpdateMovement(); } if (Movement) { MovementAction movement = GetComponent <MovementAction>(); if (movement != null) { movement.enabled = true; } } } }