private void OnCollisionStay(Collision collision) { if (!myID.isLocalPlayer) { return; } GameObject otherObject = collision.gameObject; switch (otherObject.tag) { case "player": { otherPlayer = otherObject; DraggingHandler otherPlayerDragHandler = otherObject.GetComponent <DraggingHandler>(); HandleDragging(otherPlayerDragHandler); break; } case "socket": { GateSocketHandler socket = otherObject.GetComponent <GateSocketHandler>(); if (!socket.connected2Player) { Connect2Socket(); } break; } } }
// Use this for initialization void Start() { myId = gameObject.GetComponent <NetworkIdentity>(); spawnPoints = FindObjectsOfType <NetworkStartPosition>(); timer = 0; dragStatus = gameObject.GetComponent <DraggingHandler>(); airShareStatus = gameObject.GetComponent <AirShareHandler>(); }
// Use this for initialization void Start() { if (isLocalPlayer) { airSharCanvas.gameObject.SetActive(true); airSharCanvas.gameObject.transform.LookAt(transform); } myDraggingHandler = gameObject.GetComponent <DraggingHandler>(); }
private void CheckOtherPlayerStillDragged() { if (otherPlayer != null) { DraggingHandler otherPlayerDragHandler = otherPlayer.GetComponent <DraggingHandler>(); if (!otherPlayerDragHandler.isDragged && !otherPlayerDragHandler.awaitDragging) { CmdDragOther(false, string.Empty); } } }
private void HandleDragging(DraggingHandler otherPlayer) { if (!myID.isLocalPlayer) { return; } if (awaitDragging) { if (otherPlayer.isDragging) { CreateJoint(otherPlayer); CmdGetDragged(true); CmdSetAwaitDrag(false); } } else if (otherPlayer.awaitDragging) { if (myArm.isArmOn) { CmdDragOther(true, otherPlayer.name); } } }
private void CreateJoint(DraggingHandler otherPlayer) { otherPlayersHingePoint = otherPlayer.gameObject.GetComponent <MechanicArm>().hingePoint; }