void UpdateInternal(float dt) { UpdateFlash(); if (weaponRenderer_ != null) { weaponRenderer_.enabled = isHumanControlled_; } if (isHumanControlled_) { UpdateInternal_MouseControls(dt); camPositioner_.Target = lookAt_; } bool isRunning = latestFixedMovenentDirection_ != Vector3.zero; renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(isRunning ? Anim.Run : Anim.Idle, Anim.DefaultAnimationFramesPerSecond); if (ShowCollisionDebug) { DrawCollisionDebug(); } UpdateEffects(dt); }
public void UpdateAnimation(Vector3 latestMovementDirection, bool isDead = false, bool isAttacking = false) { if (isDead) { renderer_.sprite = SpriteWhenDead; } else if (isAttacking) { renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(Anim.Attack, Anim.DefaultAnimationFramesPerSecond, 0); } else { bool isRunning = latestMovementDirection != Vector3.zero; renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(isRunning ? Anim.Run : Anim.Idle, Anim.DefaultAnimationFramesPerSecond, randomOffset_); } if (latestMovementDirection.x == 0) { renderer_.flipX = latestFlip_; } else { renderer_.flipX = latestMovementDirection.x < 0; latestFlip_ = renderer_.flipX; } }
private void Start() { CurrentMovementState = MovementState.Idle; this.spriteAnimator = GetComponent <SimpleSpriteAnimator>(); this.playerController = GetComponent <PlayerController>(); }
void UpdatePlayer(float dt) { moveVec_ = Vector3.zero; renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(Anim.Idle, Anim.DefaultAnimationFramesPerSecond); renderer_.flipX = flipX_; }
public void UpdateAnimation(Vector3 latestMovementDirection, bool isDead = false, bool isAttacking = false) { if (isDead) { renderer_.sprite = SpriteWhenDead; } else { renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(Anim.Sprites, Anim.DefaultAnimationFramesPerSecond, randomOffset_); } renderer_.flipX = latestMovementDirection.x < 0; }
public void SetOverrideAnim(List <Sprite> frames, float frameDuration) { GetComponent <Animator>().enabled = false; SimpleSpriteAnimator animator = GetComponent <SimpleSpriteAnimator>(); if (animator == null) { animator = gameObject.AddComponent <SimpleSpriteAnimator>(); } animator.frames = frames; animator.frameDuration = frameDuration; animator.enabled = true; animator.Update(); }
private IEnumerator cs_playAnim(DynValue args) { string name = args.Table.Get(ArgName).String; float duration = FloatArg(args, ArgDuration, 0.5f); List <Sprite> sprites = new List <Sprite>(Resources.LoadAll <Sprite>(AnimPath + name)); SimpleSpriteAnimator animator = chara.animLayer.GetComponent <SimpleSpriteAnimator>(); animator.frames = sprites; animator.frameDuration = duration; yield return(animator.PlayOnceRoutine()); animator.frames.Clear(); chara.animLayer.sprite = null; }
void Start() { animator = GetComponent <SimpleSpriteAnimator>(); fsm = new SimpleAnimFSM(); //Add our triggers to the FSM. fsm.AddTrigger(Warrior.Keywords.deathTrigger); fsm.AddTrigger(Warrior.Keywords.attackTrigger); fsm.AddTrigger(Warrior.Keywords.respawnTrigger); //Add our persistent variables to the FSM. fsm.AddVar(Warrior.Keywords.canMove, true); fsm.AddVar(Warrior.Keywords.moveInput, false); //TODO: Add states to FSM. }
IEnumerator <float> WanderCo(float startDelay) { if (!path_.HasPath) { yield break; } yield return(Timing.WaitForSeconds(startDelay)); float t = 0; float endT = path_.EndT; while (true) { var oldPos = transform_.position; var newPos = path_.GetPosAtTime(t); transform_.position = newPos; var movement = newPos - oldPos; bool flipX = movement.x < 0; bool isRunning = movement.sqrMagnitude > 0.01f * 0.01f; renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(isRunning ? Anim.Run : Anim.Idle, Anim.DefaultAnimationFramesPerSecond); renderer_.flipX = flipX; if (t == 0) { ParticleScript.EmitAtPosition(ParticleScript.Instance.PlayerLandParticles, newPos, 5); ParticleScript.EmitAtPosition(ParticleScript.Instance.WallDestructionParticles, newPos, 5); ParticleScript.EmitAtPosition(ParticleScript.Instance.MuzzleFlashParticles, newPos, 1); } t += Time.unscaledDeltaTime; if (t >= endT) { ParticleScript.EmitAtPosition(ParticleScript.Instance.PlayerLandParticles, newPos, 5); ParticleScript.EmitAtPosition(ParticleScript.Instance.WallDestructionParticles, newPos, 5); ParticleScript.EmitAtPosition(ParticleScript.Instance.MuzzleFlashParticles, newPos, 1); gameObject.SetActive(false); yield break; } yield return(0); } }
void UpdateInternal_KeyboardControls(float dt) { bool hasRecentlyFiredWeapon = CurrentWeapon.LatestFiringTimeUnscaled > Time.unscaledTime - 0.70f; Vector3 latestHorizontalMovement = new Vector3(latestFixedMovenentDirection_.x, 0, 0); Vector3 facingDirection = hasRecentlyFiredWeapon ? CurrentWeapon.LatestFiringDirection : latestHorizontalMovement; if (facingDirection.x != 0) { latestFacingDirection_ = facingDirection.x; } flipX_ = latestFacingDirection_ < 0; weaponTransform_.localPosition = WeaponOffsetRight; bool isRunning = latestFixedMovenentDirection_ != Vector3.zero; if (isRunning) { lookAt_ = transform_.position + latestFixedMovenentDirection_ * LookAtOffset; } renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(isRunning ? Anim.Run : Anim.Idle, Anim.DefaultAnimationFramesPerSecond); renderer_.flipX = flipX_; // Weapon positioning var weaponOffset = WeaponOffsetRight; weaponOffset.x *= flipX_ ? -1 : 1; weaponTransform_.localPosition = weaponOffset; weaponRenderer_.flipX = flipX_; float weaponRotation = 0; if (facingDirection.y < 0) { weaponRotation = -90; } else if (facingDirection.y > 0) { weaponRotation = 90; } weaponTransform_.rotation = Quaternion.Euler(0, 0, weaponRotation); }
void Start() { animator = GetComponent <SimpleSpriteAnimator>(); fsm = new SimpleAnimFSM(); //Add our triggers to the FSM. fsm.AddTrigger(Warrior.Keywords.deathTrigger); fsm.AddTrigger(Warrior.Keywords.attackTrigger); fsm.AddTrigger(Warrior.Keywords.respawnTrigger); //Add our persistent variables to the FSM. fsm.AddVar(Warrior.Keywords.canMove, true); fsm.AddVar(Warrior.Keywords.moveInput, false); //Add states to the FSM. fsm.AddState(StateID.IDLE_STATE, new IdleState_COMPLETED(idleID, animator, fsm)); fsm.AddState(StateID.WALK_STATE, new WalkState_COMPLETED(walkID, animator, fsm)); fsm.AddState(StateID.ATTACK_STATE, new AttackState_COMPLETED(attackID, animator, fsm)); fsm.AddState(StateID.DIE_STATE, new DieState_COMPLETED(deathID, animator, fsm)); //Initialize FSM state. fsm.SetState(StateID.IDLE_STATE); }
private void Update() { // TODO: flipX from player X renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(Anim.Sprites, Anim.DefaultAnimationFramesPerSecond); }
public AttackState(int p_clipID, SimpleSpriteAnimator p_anim, SimpleAnimFSM p_fsm) : base(p_clipID, p_anim, p_fsm) { }
void Start() { spriteAnimator = GetComponent <SimpleSpriteAnimator>(); movementHandler = GetComponent <MovementHandler>(); musicManager.SwitchGenderSounds(CurrentPlayerState); }
public AnimState(int p_clipID, SimpleSpriteAnimator p_anim, SimpleAnimFSM p_fsm) { clipID = p_clipID; anim = p_anim; fsm = p_fsm; }
void Update() { renderer_.sprite = SimpleSpriteAnimator.GetAnimationSprite(Anim.Sprites, Anim.DefaultAnimationFramesPerSecond); }
public WalkState_COMPLETED(int p_clipID, SimpleSpriteAnimator p_anim, SimpleAnimFSM p_fsm) : base(p_clipID, p_anim, p_fsm) { }
void Start() { _controller = GetComponent <CharacterController>(); _animator = GetComponent <SimpleSpriteAnimator>(); _sprite = transform.Find("Sprite"); }