void initRope() { CombatHandler ch = _weapon.GetOwner(); PlayerCombatHandler mpch = (PlayerCombatHandler)ch; if (mpch.RopeSlotStart == null) { GameObject go = PhotonNetwork.Instantiate("Rope_05", ch.transform.position, Quaternion.identity, 0); _rh = go.GetComponent <RopeHandler> (); ch.MyRope = _rh; _rh.Owner = ch; _rh.StartTarget = mpch.transform; // _rh.StartAttachPoint = mpch.RopeTiePoint; _rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.CHARACTER, mpch.GetComponent <PhotonView> ().viewID); _rh.EndTarget = transform; // _rh.EndAttachPoint = transform; _rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.END, RopeHandler.ATTACH_TYPE.OTHER, GetComponent <PhotonView> ().viewID); mpch.RopeSlotStart = _rh; } else { _rh = mpch.RopeSlotStart; _rh.StartTarget = transform; // _rh.StartAttachPoint = transform; _rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.OTHER, GetComponent <PhotonView> ().viewID); mpch.RopeSlotStart = null; _rh.IsSetup = false; } }
public void Setup() { canvas = MonoBehaviour.Instantiate(Resources.Load <GameObject>("Prefabs/TugOfWarGame/Canvas")); rope = canvas.transform.GetChild(0).gameObject; RH = rope.GetComponent <RopeHandler>(); BH = canvas.transform.GetChild(2).gameObject.GetComponent <Button_Handler>(); winner = canvas.transform.GetChild(4).gameObject; RF = canvas.transform.GetChild(1).gameObject.GetComponent <RopeFinish>(); }
void placeSpikeAndRope() { GameObject spike = PhotonNetwork.Instantiate("RopeSpike", _arpm.RopeSpikeHologram.position, _arpm.RopeSpikeHologram.rotation, 0); spike.transform.SetParent(_arpm.RopeSpikeParent); //when first time, rope ties to player character & spike if (_combatHandler.RopeSlotStart == null) { GameObject rope = PhotonNetwork.Instantiate("Rope_05", _combatHandler.transform.position, Quaternion.identity, 0); RopeHandler rh = rope.GetComponent <RopeHandler> (); if (rh.EndTarget != null && rh.EndTarget.GetComponent <CombatHandler>()) { rh.StartTarget = rh.EndTarget; // rh.StartAttachPoint = rh.EndAttachPoint; rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.CHARACTER, rh.EndTarget.GetComponent <PhotonView> ().viewID); rh.EndTarget = _arpm.RopeSpikeParent; // rh.EndAttachPoint = spike.transform.FindChild ("RopeAttachPoint"); rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.END, RopeHandler.ATTACH_TYPE.SPIKE, spike.GetComponent <PhotonView> ().viewID); } else { rh.StartTarget = _combatHandler.transform; // rh.StartAttachPoint = ((PlayerCombatHandler)_combatHandler).RopeTiePoint; rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.CHARACTER, _combatHandler.GetComponent <PhotonView> ().viewID); rh.EndTarget = _arpm.RopeSpikeParent; // rh.EndAttachPoint = spike.transform.FindChild ("RopeAttachPoint"); rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.END, RopeHandler.ATTACH_TYPE.SPIKE, spike.GetComponent <PhotonView> ().viewID); } // rh.EndTarget = spike.transform.FindChild ("RopeAttachPoint"); // rh.EndAttachPoint = rh.EndTarget; rh.IsSetup = true; rh.Owner = _combatHandler; } else { RopeHandler rh = _combatHandler.RopeSlotStart; rh.StartTarget = _arpm.RopeSpikeParent; // rh.StartAttachPoint = spike.transform.FindChild ("RopeAttachPoint"); rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.SPIKE, spike.GetComponent <PhotonView> ().viewID); _combatHandler.RopeSlotStart = null; _combatHandler.SetRopeCount(_combatHandler.GetRopeCount() - 1); //unignore collision // Physics.IgnoreCollision (rh.RC_Collider.GetComponent<Collider> (), _combatHandler.GetComponent<Collider> (), false); rh.IgnoreCollision(_combatHandler.GetComponent <PhotonView>().viewID, false); } }
public override void Activate() { if (!Target || _combatHandler.MyRope || _combatHandler.RopeSlotStart != null) { return; } CombatHandler tch = Target.GetComponent <CombatHandler> (); GameObject go; go = PhotonNetwork.Instantiate("Rope_05", _combatHandler.transform.position, Quaternion.identity, 0); RopeHandler rh = go.GetComponent <RopeHandler> (); _combatHandler.MyRope = rh; rh.Owner = _combatHandler; // print ("Rope spawned"); // _combatHandler.SetRopeCount (_combatHandler.GetRopeCount () - 1); StartCoroutine(CoroutineHelper.IEChangeBool((x) => rh.IsSetup = x, true, 0.5f)); if (_combatHandler is PlayerCombatHandler && tch is PlayerCombatHandler) { PlayerCombatHandler mpch, tpch; mpch = (PlayerCombatHandler)_combatHandler; tpch = (PlayerCombatHandler)tch; rh.StartTarget = mpch.transform; // rh.StartAttachPoint = mpch.RopeTiePoint; rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.CHARACTER, mpch.GetComponent <PhotonView> ().viewID); rh.IgnoreCollision(mpch.GetComponent <PhotonView>().viewID, true); rh.EndTarget = tpch.transform; // rh.EndAttachPoint = tpch.RopeTiePoint; rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.END, RopeHandler.ATTACH_TYPE.CHARACTER, tpch.GetComponent <PhotonView> ().viewID); rh.IgnoreCollision(tpch.GetComponent <PhotonView>().viewID, true); mpch.RopeSlotStart = rh; tpch.RopeSlotEnd = rh; } else { print("Not player or character (shouldn't be called)"); } }