예제 #1
0
 private void ModifyTargetStats(BaseNetworkable entity)
 {
     if (entity != null)
     {
         knockdownMaxValue.SetValue((ReactiveTarget)entity, maxKnockdown);
         entity.SendNetworkUpdateImmediate(false);
     }
 }
예제 #2
0
 private void Update()
 {
     if (originPlayer == null)
     {
         return;
     }
     if (!originPlayer.CanBuild())
     {
         DestroyThis();
     }
     if (originPlayer.serverInput.IsDown(BUTTON.RELOAD))
     {
         if (Time.time > nextTime)
         {
             if (mode == "distance")
             {
                 mode = "rotate (horizontal)";
                 originPlayer.ChatMessage(string.Format(plugin.msg("TLS Mode Changed", originPlayer.UserIDString), mode));
             }
             else if (mode == "rotate (horizontal)")
             {
                 mode = "rotate (vertical)";
                 originPlayer.ChatMessage(string.Format(plugin.msg("TLS Mode Changed", originPlayer.UserIDString), mode));
             }
             else if (mode == "rotate (vertical)")
             {
                 mode = "rotate (horizontal2)";
                 originPlayer.ChatMessage(string.Format(plugin.msg("TLS Mode Changed", originPlayer.UserIDString), mode));
             }
             else if (mode == "rotate (horizontal2)")
             {
                 mode = "vertical offset";
                 originPlayer.ChatMessage(string.Format(plugin.msg("TLS Mode Changed", originPlayer.UserIDString), mode));
             }
             else if (mode == "vertical offset")
             {
                 mode = "distance";
                 originPlayer.ChatMessage(string.Format(plugin.msg("TLS Mode Changed", originPlayer.UserIDString), mode));
             }
             nextTime = Time.time + 0.5f;
         }
     }
     if (originPlayer.serverInput.IsDown(BUTTON.FIRE_PRIMARY))
     {
         if (mode == "distance")
         {
             if (isRestricted)
             {
                 if (entDis <= maxDis)
                 {
                     entDis = entDis + 0.01f;
                 }
             }
             else
             {
                 entDis = entDis + 0.01f;
             }
         }
         else if (mode == "rotate (horizontal)")
         {
             gameObject.transform.Rotate(0, +0.5f, 0);
         }
         else if (mode == "rotate (vertical)")
         {
             gameObject.transform.Rotate(0, 0, -0.5f);
         }
         else if (mode == "rotate (horizontal2)")
         {
             gameObject.transform.Rotate(+0.5f, 0, 0);
         }
         else if (mode == "vertical offset")
         {
             vertOffset += 0.10f;
         }
     }
     if (originPlayer.serverInput.IsDown(BUTTON.FIRE_SECONDARY))
     {
         if (mode == "distance")
         {
             entDis = entDis - 0.01f;
         }
         else if (mode == "rotate (horizontal)")
         {
             gameObject.transform.Rotate(0, -0.5f, 0);
         }
         else if (mode == "rotate (vertical)")
         {
             gameObject.transform.Rotate(0, 0, +0.5f);
         }
         else if (mode == "rotate (horizontal2)")
         {
             gameObject.transform.Rotate(-0.5f, 0, 0);
         }
         else if (mode == "vertical offset")
         {
             vertOffset -= 0.10f;
         }
     }
     //if (!rotateMode)
     //gameObject.transform.LookAt(originPlayer.transform);
     //else
     //gameObject.transform.Rotate(gameObject.transform.rotation.x, roty, gameObject.transform.rotation.z);
     target.transform.position = Vector3.Lerp(target.transform.position, originPlayer.transform.position + originPlayer.eyes.HeadRay().direction *entDis + new Vector3(0, vertOffset, 0), UnityEngine.Time.deltaTime * 5);
     target.SendNetworkUpdateImmediate();
 }