// Use this for initialization void OnEnable() { if (ITweenSpace.Equals(MovementType.WorldSpace) || ITweenSpace.Equals(MovementType.UISpace)) { //Movement if (Movement) { if (ITweenSpace.Equals(MovementType.UISpace)) { PlayUIMovement(); } else { PlayWorldMovement(); } } //Rotation if (Rotation) { PlayRotation(); } //Scale if (Scale) { PlayScale(); } } //Destroy(gameObject); }
private void ChangeMovementType(int photonOwnerID, MovementType value) { if (photonOwnerID == pv.ownerId) { movementType = value; if (movementType.Equals(MovementType.Player)) { GetComponent <CapsuleCollider>().radius = 0.5f; if (playerAnimation.playerCameraView.Equals(PlayerCameraView.FirstPerson)) { playerObjectComponents.ThirdPersonPlayer.SetActive(false); playerObjectComponents.FirstPersonPlayer.SetActive(true); } else { playerObjectComponents.ThirdPersonPlayer.SetActive(true); playerObjectComponents.FirstPersonPlayer.SetActive(false); } BumperCarObject.SetActive(false); CameraObject.transform.localPosition = new Vector3(0, .75f, 0); CameraObject.transform.localRotation = Quaternion.identity; CameraObject.transform.Rotate(new Vector3(0, 0, 0)); maxSpeed = 40; friction = 2; runAcceleration = 120; runDeacceleration = 120; airAcceleration = 60; airDeacceleration = 60; } else if (movementType.Equals(MovementType.BumperCar)) { GetComponent <CapsuleCollider>().radius = 1f; PlayerObject.SetActive(false); LocalArms.SetActive(false); BumperCarObject.SetActive(true); CameraObject.transform.localPosition = new Vector3(0, 1.5f, -1.5f); CameraObject.transform.localRotation = Quaternion.identity; CameraObject.transform.Rotate(new Vector3(30, 0, 0)); maxSpeed = 75; friction = 1f; runAcceleration = 1; runDeacceleration = 1; airAcceleration = 1; airDeacceleration = 1; } } }
public void Equals_ShouldReturnFalse_WhenMovementTypesAreNotEqual() { var type1 = new MovementType(1, "Type"); var type2 = new MovementType(2, "Type"); var type3 = new MovementType(1, "Some other type"); Assert.That(type1.Equals(type2), Is.False); Assert.That(type1.Equals(type3), Is.False); Assert.That(type1.Equals(null), Is.False); }
private IEnumerator SlowDownAfterRun() { yield return(new WaitForSeconds(GetCurrentAnimDuration(m_Curr_Anim_Trigger))); if (mCurrMovementType.Equals(MovementType.Stop_Idle)) { SetAnim(Buddy_Animation_Triggers.Idle); } else if (mCurrMovementType.Equals(MovementType.Stop_And_Confused)) { SetAnim(Buddy_Animation_Triggers.SadAndConfused); } }
public void Equals_ShouldReturnTrue_WhenMovementTypesAreEqual() { var type1 = new MovementType(1, "Type"); var type2 = new MovementType(1, "Type"); Assert.That(type1.Equals(type2), Is.True); }
private void Chase() { Transform playerPosition = playerReference.transform; if (movementType.Equals(MovementType.MoveTowards)) { transform.position = Vector3.MoveTowards(transform.position, playerPosition.position, movementSpeed * Time.deltaTime); } else { transform.position = Vector3.Lerp(transform.position, playerPosition.position, movementSpeed * Time.deltaTime); } if (transform.position.x < playerPosition.position.x) { transform.rotation = Quaternion.Euler(0, 0, 0); } else { transform.rotation = Quaternion.Euler(0, 180, 0); } if (Vector2.Distance(transform.position, playerPosition.position) > 50) { GetComponent <Damageable>().Die(); } }
public void LoadLevelContent(String fileName, MarioGame game) { levelReader = new XmlTextReader(fileName); levelReader.MoveToContent(); Type[] ConstructorTypes = new Type[2]; ConstructorTypes[0] = typeof(int); ConstructorTypes[1] = typeof(int); while (levelReader.ReadToFollowing("item")) { String MovementType; String ObjectType; Object[] Position = new Object[2]; levelReader.ReadToDescendant("Type"); levelReader.MoveToFirstAttribute(); MovementType = levelReader.Value; levelReader.MoveToElement(); levelReader.ReadToNextSibling("Object"); levelReader.MoveToFirstAttribute(); ObjectType = levelReader.Value; levelReader.MoveToElement(); levelReader.ReadToNextSibling("Location"); levelReader.MoveToFirstAttribute(); Position[0] = Convert.ToInt32(levelReader.Value); levelReader.MoveToNextAttribute(); Position[1] = Convert.ToInt32(levelReader.Value); IGameObject CurrentObject = (IGameObject)Type.GetType("SuperMario." + ObjectType).GetConstructor(ConstructorTypes).Invoke(Position); if (MovementType.Equals("Background")) { backgroundObjects.Add(CurrentObject); } else if (MovementType.Equals("Dynamic")) { dynamicObjects.Add(CurrentObject); } else { int ListPos = CurrentObject.XCoordinate / GlobalVariables.BlockSize; if (staticObjects.ContainsKey(ListPos)) { staticObjects[ListPos].Add(CurrentObject); } else { staticObjects.Add(ListPos, new List <IGameObject>()); staticObjects[ListPos].Add(CurrentObject); } } if (CurrentObject is Mario) { player = CurrentObject; } } //load collision dictionary once the level is loaded handler = new CollisionHandler(this, game); }
public IEnumerator StartMovementSequence() { mRBody.useGravity = m_UseGravity; if (m_RotateOnNextPos) { StartCoroutine(Utils.RotateTo(mRBody, mRBody.rotation, transform.rotation, 0.5f, 0.1f)); } yield return(new WaitForSeconds(m_DelayBeforeMove)); if (m_MovementType.Equals(MovementType.Run)) { //Debug.Log(m_ObjectToMove.name + " Run... "); float t = Vector3.Distance(mRBody.position, m_NextMovementPoint.position) / m_Speed; StartCoroutine(Utils.MoveToPos(mRBody, mRBody.position, m_NextMovementPoint.position, t)); Utils.OnGameObjectMovementChanged(m_ObjectToMove, MovementType.Run); } else if (m_MovementType.Equals(MovementType.Jump)) { //Debug.Log(m_ObjectToMove.name + " jump..."); mRBody.AddForce(m_JumpForce); Utils.OnGameObjectMovementChanged(m_ObjectToMove, MovementType.Jump); } else if (m_MovementType.Equals(MovementType.Stop_Idle)) { //Debug.Log(m_ObjectToMove.name + " stop idle..."); Utils.OnGameObjectMovementChanged(m_ObjectToMove, MovementType.Stop_Idle); } else if (m_MovementType.Equals(MovementType.Stop_And_Confused)) { //Debug.Log(m_ObjectToMove.name + " stop confused..."); Utils.OnGameObjectMovementChanged(m_ObjectToMove, MovementType.Stop_And_Confused); } else if (m_MovementType.Equals(MovementType.FlyAway)) { //Debug.Log(m_ObjectToMove.name + " flyaway..."); List <Vector3> points = new List <Vector3>(); foreach (Transform point in m_NextMovementPoints) { points.Add(point.position); } float t = Vector3.Distance(mRBody.position, points[points.Count - 1]) / m_Speed; StartCoroutine(Utils.MoveToPositions(mRBody, mRBody.position, points, t, 0.2f)); Utils.OnGameObjectMovementChanged(m_ObjectToMove, MovementType.FlyAway); } }
private void Pawn_OnMove(Pawn pawn, int newX, int newY, MovementType moveType) { if (moveType.Equals(MovementType.Move)) { if (IsLegalBoardPosition(newX, newY) && pieces.GetValue(newX, newY) == null) { pieces[pawn.XCoordinate, pawn.YCoordinate] = null; pawn.XCoordinate = newX; pawn.YCoordinate = newY; pieces[newX, newY] = pawn; } } }
void Update() { if (canMove) { if (positions.Length > 1 && positions != null) { if ((transform.position - positions[counter].position).magnitude < 0.001) { // we reached the destination! //counter = (counter + 1) % 2; alternate between 0 and 1, this for a 2 positions platform. if (direction.Equals("Towards")) { counter++; } else if (direction.Equals("Backwards")) { counter--; } if (counter == 0) { direction = "Towards"; } else if (counter == positions.Length - 1) { direction = "Backwards"; } } if (Type.Equals(MovementType.MoveTowards)) { transform.position = Vector3.MoveTowards(transform.position, positions[counter].position, speed * Time.deltaTime); } else { transform.position = Vector3.Lerp(transform.position, positions[counter].position, speed * Time.deltaTime); } } } }
private void Update() { if (pv.isMine) { if (InputManager.Instance.GetKeyDown(InputCode.Settings)) { if (Cursor.lockState == CursorLockMode.None) { Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; //inputManager.KeybindDialogBox.hasAppliedSettings = true; } else if (Cursor.lockState == CursorLockMode.Locked) { Cursor.visible = true; Cursor.lockState = CursorLockMode.None; //inputManager.KeybindDialogBox.hasAppliedSettings = false; } } if (InputManager.Instance.GetKeyDown(InputCode.ToggleBumperCar)) { if (movementType.Equals(MovementType.Player)) { //playerAnimation.SwitchCameraPerspective(); PlayerEvents_ChangeMovementType(pv.owner.ID, MovementType.BumperCar); } else { //playerAnimation.SwitchCameraPerspective(); PlayerEvents_ChangeMovementType(pv.owner.ID, MovementType.Player); } } frameCount++; dt += Time.deltaTime; if (dt > 1.0f / fpsDisplayRate) { fps = Mathf.Round(frameCount / dt); frameCount = 0; dt -= 1.0f / fpsDisplayRate; PlayerScreenDisplay.Instance.Text_CurrentFrameRate.text = fps.ToString(); PlayerScreenDisplay.Instance.Text_Ping.text = PhotonNetwork.GetPing().ToString(); PlayerScreenDisplay.Instance.Text_PlayerVelocity.text = ((int)_playerVelocity.magnitude).ToString() + MPS; } if (CameraManager.Instance.spectateMode == CameraManager.SpectateMode.Free) { return; } /* Using the Mouse Senitivity Inputs DIRECTLY from SettingsManager */ //Zoom_Vs_NoZoom if (EventManager.Instance.GetScore(pv.owner.NickName, PlayerStatCodes.Health) > 0) { if (movementType.Equals(MovementType.Player)) { rotY += Input.GetAxis(inputAxis_Mouse_X) * (mouseSensitivityValue / 3f) * 0.1f * Time.timeScale; } else { if (cmd.rotatemove != 0) { rotY += (mouseSensitivityValue / 3f) * bumperCarRotationAcceleration * Mathf.Min(_playerVelocity.magnitude, 40) * Time.timeScale; } } } //Smoothing over X number of Frames rotArrayY.Add(rotY); if (rotArrayY.Count >= 5) { rotArrayY.RemoveAt(0); //print(tr.rotation); } for (int i = 0; i < rotArrayY.Count; i++) { rotAverageX += rotArrayY[i]; } rotAverageX /= rotArrayY.Count; //tr.rotation = Quaternion.Euler(0, rotAverageX, 0); // Rotates the collider tr.rotation = Quaternion.Euler(0, rotY, 0); // Rotates the collider detectCollision(2.5f); GroundCheck(2.1f); CeilingCheck(); QueueJump(); if (!playerObjectComponents.playerShooting.isRespawnPlayer) { GetComponent <CapsuleCollider>().radius = .5f; GetComponent <CapsuleCollider>().height = 2f; DoDustFX(_playerVelocity, grounded); if (grounded) { if (landed == false) { // pv.RPC ("LandFX", PhotonTargets.All); landed = true; } hasJumped = false; GroundMove(); } else if (!grounded) { AirMove(); } //FUNCTIONS THAT DO NOT DEPEND ON: //-CHAT PANEL //-SETTINGS PANEL speedLimiter(); } else { //DEAD SO JUST DROP WITH GRAVITY GetComponent <CapsuleCollider>().height = .25f; GetComponent <CapsuleCollider>().radius = .25f; _playerVelocity.y -= gravity * Time.deltaTime; detectCollision(.5f); CeilingCheck(); GroundCheck(1f); if (grounded) { ApplyFriction(.5f); } } } else { if (playerObjectComponents.networkPlayerMovement.otherPlayerHealth > 0) { DoDustFX(playerObjectComponents.networkPlayerMovement.otherPlayerVelocity, playerObjectComponents.networkPlayerMovement.otherPlayerFloorDetected); } } }
/// <summary> /// Создаем необходимый нам Equals для правильной работы AreEqual в тестах. /// Сравнивает по всем свойствам объекта сразу. /// АЛЬТЕРНАТИВОЧКА: реализация через сравнение ToString(). /// </summary> /// <param name="other"> Объект, с которым свравнивают.</param> /// <returns></returns> public bool Equals(Creature other) { // Возвращаем true, если значения совпадают. return(Name.Equals(other.Name) && MovementType.Equals(other.MovementType) && Health.Equals(other.Health)); }