public void ResetPointOfView() { if (!isInPersonalCamera) { return; } // SetPointOfViewの時に記録した位置に戻す、CharacterControllerを再度有効化 if (!recordedPosition.HasValue || !recordedRotation.HasValue) { return; } if (enterDeviceType == EnterDeviceType.VR) { PlayerTransform.SetPositionAndRotation(recordedPosition.Value, recordedRotation.Value); } else { CameraTransform.SetPositionAndRotation(recordedPosition.Value, recordedRotation.Value); } playerController.ActivateCharacterController(true); isInPersonalCamera = false; }
// Method to update transform. private void UpdateTransform() { PlayerTransform currentTransform = ((PlayerTransformHandler)_controller.OperationHandlers[2]).PlayerTransforms[_networkInterface.PeerId]; if (currentTransform.isUpdated) { transform.position = new Vector3(currentTransform.xPosition, currentTransform.yPosition, currentTransform.zPosition); transform.eulerAngles = new Vector3(currentTransform.xRotation, currentTransform.yRotation, currentTransform.zRotation); currentTransform.isUpdated = false; } }
public void UpdateTransformToServer(Vector3 p, Vector3 r) { PlayerTransform playerTransform = new PlayerTransform(); playerTransform.position = p; playerTransform.rotation = r; string jsonString = JsonUtility.ToJson(playerTransform); Byte[] sendBytes = Encoding.ASCII.GetBytes(jsonString); udp.Send(sendBytes, sendBytes.Length); }
public void UpdateTransform(PlayerTransform transform) { lock (playerTransforms) { if (playerTransforms.Transforms.ContainsKey(transform.Account)) { playerTransforms.Transforms[transform.Account] = transform.Trans; } else { playerTransforms.Transforms.Add(transform.Account, transform.Trans); } } }
// updates player position and the current tile variable private void UpdatePlayerPosition(Tile[,] tiles, int tileCoordX, int tileCoordY) { if (this.GetComponent <BoxCollider>() != null) { CurrentTile = tiles[tileCoordX, tileCoordY]; Transform tileTransform = CurrentTile.instance.GetComponent <Transform>(); Bounds playerBounds = this.GetComponent <BoxCollider>().bounds; Bounds tileBounds = CurrentTile.instance.GetComponent <BoxCollider>().bounds; // put player at center of the tile Vector3 playerPos = new Vector3(tileTransform.position.x, PlayerTransform.position.y, tileTransform.position.z); PlayerTransform.SetPositionAndRotation(playerPos, Quaternion.identity); } }
void Start() { var availableColliders = PlayerTransform.GetTransform().gameObject.GetComponentsInChildren <BoxCollider2D>(); foreach (var collider in availableColliders) { if (collider.tag == CharacterColliderTag) { this.collider = collider; break; } } castRays = CastRays.GetInstance(); }
// initializes the current tile of the player and sets the position of the player to the center of the starting tile private void SetPlayerStartPos() { if (this.GetComponent <BoxCollider>() != null) { // init starting location this.CurrentTile = TileMap.tiles[this.startX, this.startY]; Transform tileTransform = CurrentTile.instance.GetComponent <Transform>(); Bounds playerBounds = this.GetComponent <BoxCollider>().bounds; Bounds tileBounds = CurrentTile.instance.GetComponent <BoxCollider>().bounds; // put player at center of the tile Vector3 playerPos = new Vector3(tileTransform.position.x, CalculatePlayerYPos(playerBounds, tileBounds, PlayerTransform.localScale.y), tileTransform.position.z); PlayerTransform.SetPositionAndRotation(playerPos, Quaternion.identity); } }
public void UseSkill(Vector2 dirVector, Teams teamTag, Vector2 playerSpeed) { //dirVector = GetTeleportCoords(dirVector); var bodyColliderBounds = collider.bounds; var rectangleShape = new RectangleF(bodyColliderBounds.center.x, bodyColliderBounds.center.y, bodyColliderBounds.size.x - skinWidth.x, bodyColliderBounds.size.y - skinWidth.y); if ((GetVectorSquareCoords(Camera.main.ScreenToWorldPoint(playerSpeed))) - GetVectorSquareCoords(PlayerTransform.GetTransform().position) <= SkillValue * SkillValue) { Vector2 movementVector; List <LaserPartData> placeholder; //For now, simply stores all the chunks of the path. (placeholder, movementVector) = castRays.ProjectRectangle(rectangleShape, dirVector, TeleportRange, checkedLayers); Vector3 position = PlayerTransform.GetTransform().position + new Vector3(movementVector.x, movementVector.y, 0); PlayerTransform.GetTransform().position = position; } StartSkillCD(); }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.A)) { ISaver saver = new SaverAsJson(); //saver.Save(new PlayerData("Mioshi", 5), "playerData"); saver.Save(new PlayerTransform(transform.position, transform.rotation, transform.localScale), "PlayerTransform"); } if (Input.GetKeyDown(KeyCode.B)) { ILoader loader = new LoaderFromJson(); //player = loader.Load<PlayerData>("playerData"); playerTransform = loader.Load <PlayerTransform>("PlayerTransform"); transform.position = playerTransform.Position; transform.rotation = playerTransform.Rotation; transform.localScale = playerTransform.Scale; } }
public override void OnHandleResponse(OperationResponse response) { Guid peerId = new Guid((byte[])response.Parameters[1]); if (_playerTransforms.ContainsKey(peerId)) { PlayerTransform playerTransform = _playerTransforms[peerId]; playerTransform.xPosition = (float)response.Parameters[2]; playerTransform.yPosition = (float)response.Parameters[3]; playerTransform.zPosition = (float)response.Parameters[4]; playerTransform.xRotation = (float)response.Parameters[5]; playerTransform.yRotation = (float)response.Parameters[6]; playerTransform.zRotation = (float)response.Parameters[7]; playerTransform.isUpdated = true; _playerTransforms[peerId] = playerTransform; } }
public void SetPointOfView(Transform targetPoint) { isInPersonalCamera = true; // 位置を記録した後PersonalCameraの位置に移動、CharacterControllerを無効化する if (enterDeviceType == EnterDeviceType.VR) { recordedPosition = PlayerTransform.position; recordedRotation = PlayerTransform.rotation; // OpenVRのカメラの高さがそのまま視点の高さになるので、 見せたい視点の高さ(y) - OpenVRによるカメラの高さ(local y)をしてやることで、視点の視線の高さにする var targetPosition = new Vector3(targetPoint.position.x, targetPoint.position.y - CameraTransform.localPosition.y, targetPoint.position.z); PlayerTransform.SetPositionAndRotation(targetPosition, targetPoint.rotation); } else { recordedPosition = CameraTransform.position; recordedRotation = CameraTransform.rotation; CameraTransform.SetPositionAndRotation(targetPoint.position, targetPoint.rotation); } playerController.ActivateCharacterController(false); }
public RemotePlayerModel(ushort playerId, string username) { // Spawn remote player model by cloning the player prefab and replacing local player script by remote player ones. string playerPrefabPath = LDB.players.Select(PLAYER_PROTO_ID).PrefabPath; if (playerPrefabPath != null) { PlayerTransform = Object.Instantiate(Resources.Load <Transform>(playerPrefabPath)); PlayerModelTransform = PlayerTransform.Find("Model"); // Remove local player components Object.Destroy(PlayerTransform.GetComponent <PlayerFootsteps>()); Object.Destroy(PlayerTransform.GetComponent <PlayerEffect>()); Object.Destroy(PlayerTransform.GetComponent <PlayerAudio>()); Object.Destroy(PlayerTransform.GetComponent <PlayerAnimator>()); Object.Destroy(PlayerTransform.GetComponent <PlayerController>()); PlayerTransform.GetComponent <Rigidbody>().isKinematic = true; // Add remote player components Movement = PlayerTransform.gameObject.AddComponent <RemotePlayerMovement>(); Animator = PlayerTransform.gameObject.AddComponent <RemotePlayerAnimation>(); Effects = PlayerTransform.gameObject.AddComponent <RemotePlayerEffects>(); } PlayerTransform.gameObject.name = $"Remote Player ({playerId})"; PlayerInstance = new global::Player(); MechaInstance = new Mecha(); AccessTools.Property(typeof(global::Player), "mecha").SetValue(PlayerInstance, MechaInstance, null); MechaInstance.Init(PlayerInstance); //Fix MechaDroneRenderers AccessTools.Field(typeof(MechaDroneRenderer), "mat_0").SetValue(MechaInstance.droneRenderer, new Material(Configs.builtin.mechaDroneMat.shader)); Material mat = (Material)AccessTools.Field(typeof(MechaDroneRenderer), "mat_0").GetValue(MechaInstance.droneRenderer); MethodInvoker.GetHandler(AccessTools.Method(typeof(Material), "CopyPropertiesFromMaterial", new System.Type[] { typeof(Material) })).Invoke(mat, Configs.builtin.mechaDroneMat); PlayerId = playerId; Username = username; }
public override void Use() { PlayerTransform.GetComponent <PlayerControl.PlayerPickupUse>().PickupPutdown(); }
//private static Dictionary<string, Transform> Transforms { get; set; } = new Dictionary<string, Transform>(); //private static void UpdateTransform(PlayerTransform transform) //{ // if (Transforms.ContainsKey(transform.Account)) // Transforms[transform.Account] = transform.UserTransform; // else // Transforms.Add(transform.Account, transform.UserTransform); //} public void UpdateTransform(PlayerTransform transform) { DataCenter.Instance.UpdateTransform(transform); Broadcast(DataCenter.Instance.GetTransformsCopy()); }
public override void Use() { PlayerTransform.GetComponent <PlayerControl.PlayerPickupUse>().PickupPutdown(); PickupItem.itemRigidbody.AddForce((CameraFocusTransform.rotation * throwForce), ForceMode.VelocityChange); StartCoroutine(CountDown()); }