// Update is called once per frame void Update() { onGround = IsGrounded(); if (!isAttack) { Movenment(); } Jumping(); if (Input.GetKeyDown(KeyCode.X) && !isAttack) { isAttack = true; StartCoroutine(OnAttack()); if (onGround != OnGround.onAir) { rb2d.velocity = Vector2.zero; } } if (onGround == OnGround.onSlope) { rb2d.gravityScale = 0; } else { if (rb2d.gravityScale == 0) { rb2d.gravityScale = tempGravity; } } }
/// <summary> /// Returns the message as parseable BaseStation message text. /// </summary> /// <param name="emitExtendedBaseStationFormat">True if MLAT-sourced messages should use a message type of MLAT, false if they should use MSG. Ignored for other message types.</param> /// <returns>The properties of the message formatted up as a text string that can be sent to any application /// that can interpret BaseStation messages.</returns> public string ToBaseStationString(bool emitExtendedBaseStationFormat = false) { StringBuilder result = new StringBuilder(); var messageGeneratedLocal = MessageGenerated.ToLocalTime(); var messageLoggedLocal = MessageLogged.ToLocalTime(); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", BaseStationMessageHelper.ConvertToString(MessageType, IsMlat, emitExtendedBaseStationFormat)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", MessageType == BaseStationMessageType.Transmission ? BaseStationMessageHelper.ConvertToString(TransmissionType) : ""); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", SessionId); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", AircraftId); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Icao24); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", FlightId); result.AppendFormat(CultureInfo.InvariantCulture, "{0:yyyy/MM/dd},", messageGeneratedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:HH:mm:ss.fff},", messageGeneratedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:yyyy/MM/dd},", messageLoggedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0:HH:mm:ss.fff},", messageLoggedLocal); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", MessageType == BaseStationMessageType.StatusChange ? BaseStationMessageHelper.ConvertToString(StatusCode) : Callsign); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Altitude); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.GroundSpeed(GroundSpeed)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Track(Track)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Coordinate(Latitude)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Round.Coordinate(Longitude)); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", VerticalRate); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Squawk); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", SquawkHasChanged == null ? "" : SquawkHasChanged.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", Emergency == null ? "" : Emergency.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0},", IdentActive == null ? "" : IdentActive.Value ? "-1" : "0"); result.AppendFormat(CultureInfo.InvariantCulture, "{0}", OnGround.GetValueOrDefault() ? "-1" : "0"); // Turns out BaseStation never emits a null OnGround value... return(result.ToString()); }
/** * @param onGroundState 땅위에서 애니메이션 상태 * @param offGroundState 공중에서 애니메이션 상태 * @param onClimbing 벽타기 중 애니메이션 상태 * @param playerAction 플레이어만이 행동 애니메이션 상태 */ public virtual void NotifyState(OnGround onGroundState, OffGround offGroundState, OnClimbing onClimbing, PlayerAction playerAction) { _onGroundState = onGroundState; _offGroundState = offGroundState; _onClimbing = onClimbing; _playerAction = playerAction; HandleAnim(); }
override public void Draw(SpriteBatch spriteBatch) { if (Sprite != null) { Sprite.DrawAnimation(spriteBatch, GetDrawingLocation(), Depth); } spriteBatch.DrawString(FontContent.GetFont("FontArial16"), OnGround.ToString(), new Vector2(Location.X, Location.Y - 100), Color.White); }
private void Awake() { _input = new MyInput(new DefaultControl()); _mover = new MoveRigidbody(this); _jump = new JumpRigidbody(this); _onGround = GetComponent <OnGround>(); _flip = new Flip(this); _animation = new CharacterAnimation(this); _rigidbody = GetComponent <Rigidbody2D>(); _attacker = GetComponent <Attacker>(); }
private void Awake() { _characterAnimation = GetComponent <CharacterAnimation>(); _mover = GetComponent <Mover>(); _jump = GetComponent <Jump>(); _flip = GetComponent <Flip>(); _onGround = GetComponent <OnGround>(); _climbing = GetComponent <Climbing>(); _health = GetComponent <Health>(); _damage = GetComponent <Damage>(); _audioSource = GetComponent <AudioSource>(); _input = new PcInput(); //instance }
public void ApplyStateVector(StateVector stateVector, long version) { lock (_SyncLock) { LastSeenInOpenSkyUtc = DateTime.UtcNow; Version = Math.Max(Version, Callsign.UpdateValue(stateVector.Callsign, version)); Version = Math.Max(Version, OriginCountry.UpdateValue(stateVector.OriginCountry, version)); Version = Math.Max(Version, LastPositionTime.UpdateValue(stateVector.TimeOfLastPosition, version)); Version = Math.Max(Version, LastMessageTime.UpdateValue(stateVector.TimeOfLastMessage, version)); Version = Math.Max(Version, Latitude.UpdateValue(stateVector.Latitude, version)); Version = Math.Max(Version, Longitude.UpdateValue(stateVector.Longitude, version)); Version = Math.Max(Version, AltitudeFeet.UpdateValue(stateVector.AltitudeFeet, version)); Version = Math.Max(Version, OnGround.UpdateValue(stateVector.OnGround, version)); Version = Math.Max(Version, GroundSpeedKnots.UpdateValue(stateVector.GroundSpeedKnots, version)); Version = Math.Max(Version, Track.UpdateValue(stateVector.Track, version)); Version = Math.Max(Version, VerticalRateFeetPerSecond.UpdateValue(stateVector.VerticalRateFeetPerSecond, version)); Version = Math.Max(Version, Squawk.UpdateValue(stateVector.Squawk, version)); Version = Math.Max(Version, SpecialPurposeIndicator.UpdateValue(stateVector.SpecialPurposeIndicator, version)); Version = Math.Max(Version, PositionSource.UpdateValue(stateVector.PositionSource, version)); } }
void Jumping() { if (Input.GetKeyDown(KeyCode.Z) && onGround != OnGround.onAir) { //print("Jump"); rb2d.velocity = new Vector2(rb2d.velocity.x, jumpForce); onGround = OnGround.onAir; isJump = true; StartCoroutine(OnWait()); } else if (Input.GetKeyUp(KeyCode.Z)) { //print("no jump"); if (rb2d.velocity.y > 0 && rb2d.velocity.y <= jumpForce) { rb2d.velocity = new Vector2(rb2d.velocity.x, jumpForceMin); } } }
public override void NotifyState(OnGround onGroundState, OffGround offGroundState) { base.NotifyState(onGroundState, offGroundState); _onClimbing = PlayerState.OnClimbing.NONE; _playerAction = PlayerState.PlayerAction.NONE; }
/** * @brief * 객체에게 데이터를 받는 함수 * 단, 데이터는 애니메이션을 위한 값 */ public virtual void NotifyState(OnGround onGroundState, OffGround offGroundState) { _onGroundState = onGroundState; _offGroundState = offGroundState; this.HandleAnim(); }
void Start() { onGround = GetComponent <OnGround>(); rb = GetComponent <Rigidbody>(); speed = moveSpeed; }
private InteractionManager interaction; //interaction manager private void Awake() { rig = GetComponent <Rigidbody2D>(); onGround = GetComponentInChildren <OnGround>(); jumpSound = GetComponent <AudioSource>(); }
private void Awake() { playerSpriteRen = playerAnimator.GetComponent <SpriteRenderer>(); onGround = playerAnimator.GetComponentInChildren <OnGround>(); }