コード例 #1
0
ファイル: RopeArrow.cs プロジェクト: LonelyElf/Devout
    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;
        }
    }
コード例 #2
0
 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>();
 }
コード例 #3
0
ファイル: AbilityPlaceRope.cs プロジェクト: LonelyElf/Devout
    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);
        }
    }
コード例 #4
0
ファイル: AbilityTieRope.cs プロジェクト: LonelyElf/Devout
    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)");
        }
    }