Пример #1
0
 public void Update()
 {
     if (Player.model == null)
     {
         NetworkRegions.loaded = Time.realtimeSinceStartup;
     }
     else if (Time.realtimeSinceStartup - NetworkRegions.loaded > 1f)
     {
         NetworkRegions.region = NetworkRegions.getRegion(Player.model.transform.position);
         if (NetworkRegions.region.x != NetworkRegions.lastRegion.x || NetworkRegions.region.y != NetworkRegions.lastRegion.y)
         {
             NetworkEvents.triggerOnRegionUpdate();
             NetworkRegions.lastRegion = NetworkRegions.region;
         }
     }
 }
Пример #2
0
        private void Bank(CommandArgs args)
        {
            BetterNetworkUser user = args.sender;

            Vector3 target = new UnityEngine.Vector3(-273.985F, 59.87F, -15.0616F);

            user.position = target;
            user.player.gameObject.GetComponent <Life> ().networkView.RPC("tellStatePosition", UnityEngine.RPCMode.All, new object[] {
                target,
                user.rotation
            });

            user.player.gameObject.GetComponent <NetworkInterpolation>().tellStatePosition_Pizza(target, user.rotation);
            NetworkEvents.triggerOnRegionUpdate();
            NetworkEvents.triggerOnRegionUpdate();
        }
Пример #3
0
        /// <summary>
        /// Teleports the home.
        /// The object must contains the betternetworkuser and vector3 as original location!
        /// </summary>
        /// <returns>The home.</returns>
        /// <param name="args">Arguments.</param>
        private IEnumerator TeleportHome(object[] args)
        {
            Debug.Log("Teleport home coroutine started!");

            BetterNetworkUser user             = (BetterNetworkUser)args[0];
            Vector3           originalPosition = (Vector3)args[1];

            int  i      = 10;
            bool result = false;

            while (i > 0)
            {
                if (!user.position.Equals(originalPosition))
                {
                    Reference.Tell(user.networkPlayer, "Teleportation cancelled");
                    result = false;
                    break;
                }

                if (i % 2 == 0)
                {
                    NetworkManager.error("Teleporting to home in " + i / 2 + " seconds...", "Textures/Skills/survivalist", user.networkPlayer);
                }
                i--;
                yield return(new WaitForSeconds(0.5f));
            }

            if (user.position.Equals(originalPosition))
            {
                this.teleportUserTo(user, this.playerHomes[user.steamid]);
                Reference.Tell(user.networkPlayer, "Teleported home.");
                NetworkEvents.triggerOnRegionUpdate();
                this.usedHomeCommand[user.steamid] = UnityEngine.Time.realtimeSinceStartup;
                yield return(result);
            }

            yield return(false);
        }