示例#1
0
 public override void OnEvent(stuckArrowsSync evnt)
 {
     if (!this.ValidateSender(evnt, SenderTypes.Any))
     {
         return;
     }
     if (evnt.target)
     {
         arrowStickToTarget arrowStickToTarget = evnt.target.GetComponent <arrowStickToTarget>();
         if (!arrowStickToTarget)
         {
             arrowStickToTarget = evnt.target.GetComponentInChildren <arrowStickToTarget>();
         }
         if (arrowStickToTarget)
         {
             if (evnt.removeArrow)
             {
                 int num = 0;
                 foreach (KeyValuePair <Transform, int> keyValuePair in arrowStickToTarget.stuckArrows)
                 {
                     if (num == evnt.index && keyValuePair.Key)
                     {
                         UnityEngine.Object.Destroy(keyValuePair.Key.gameObject);
                     }
                     num++;
                 }
                 return;
             }
             return;
         }
     }
 }
示例#2
0
    public void sendArrowMP(GameObject fakeArrow, int closestJointIndex, WeaponStatUpgrade.Types arrowBonus = (WeaponStatUpgrade.Types)(-1), bool crossbow = false)
    {
        stuckArrowsSync stuckArrowsSync = stuckArrowsSync.Create(GlobalTargets.Others);
        BoltEntity      component       = base.transform.root.GetComponent <BoltEntity>();

        if (component)
        {
        }
        stuckArrowsSync.target = component;
        stuckArrowsSync.pos    = fakeArrow.transform.localPosition;
        stuckArrowsSync.rot    = fakeArrow.transform.localRotation;
        if (arrowBonus == WeaponStatUpgrade.Types.BoneAmmo)
        {
            stuckArrowsSync.type = 1;
        }
        if (crossbow)
        {
            stuckArrowsSync.type = 2;
        }
        stuckArrowsSync.index = closestJointIndex;
        if (stuckArrowsSync.target)
        {
            stuckArrowsSync.Send();
        }
    }
示例#3
0
 public override void OnEvent(stuckArrowsSync evnt)
 {
     if (!this.ValidateSender(evnt, SenderTypes.Any))
     {
         return;
     }
     if (evnt.target)
     {
         arrowStickToTarget arrowStickToTarget = evnt.target.GetComponent <arrowStickToTarget>();
         if (!arrowStickToTarget)
         {
             arrowStickToTarget = evnt.target.GetComponentInChildren <arrowStickToTarget>();
         }
         if (arrowStickToTarget)
         {
             if (evnt.removeArrow)
             {
                 int num = 0;
                 foreach (KeyValuePair <Transform, int> keyValuePair in arrowStickToTarget.stuckArrows)
                 {
                     if (num == evnt.index && keyValuePair.Key)
                     {
                         UnityEngine.Object.Destroy(keyValuePair.Key.gameObject);
                     }
                     num++;
                 }
                 return;
             }
             int        type = evnt.type;
             GameObject gameObject;
             if (type != 1)
             {
                 gameObject = UnityEngine.Object.Instantiate <GameObject>(arrowStickToTarget.fakeArrowPickup, evnt.target.transform.position, evnt.target.transform.rotation);
             }
             else
             {
                 gameObject = UnityEngine.Object.Instantiate <GameObject>(arrowStickToTarget.fakeArrowBonePickup, evnt.target.transform.position, evnt.target.transform.rotation);
             }
             gameObject.transform.parent        = arrowStickToTarget.stickToJoints[evnt.index];
             gameObject.transform.localPosition = evnt.pos;
             gameObject.transform.localRotation = evnt.rot;
             arrowStickToTarget.stuckArrows.Add(gameObject.transform, evnt.index);
             fakeArrowSetup component = gameObject.GetComponent <fakeArrowSetup>();
             if (component && BoltNetwork.isRunning)
             {
                 component.storedIndex  = arrowStickToTarget.stuckArrows.Count - 1;
                 component.entityTarget = evnt.target;
             }
         }
     }
 }
示例#4
0
 private void sendRemoveArrow()
 {
     if (BoltNetwork.isRunning)
     {
         if (this.entityTarget == null)
         {
             this.entityTarget = base.transform.root.GetComponent <BoltEntity>();
         }
         if (this.entityTarget)
         {
             stuckArrowsSync stuckArrowsSync = stuckArrowsSync.Create(GlobalTargets.Others);
             stuckArrowsSync.target      = this.entityTarget;
             stuckArrowsSync.removeArrow = true;
             stuckArrowsSync.index       = this.storedIndex;
             stuckArrowsSync.Send();
         }
     }
 }