public override void Run(NpcController c) { if (Mathf.Abs(c.transform.position.x - FallPos.x) >= 10) //|| Mathf.Abs(c.rb.velocity.x) <= 0f { c.SetState(NPCState.Attack); } else { c.rb.AddForce(Vector2.right * 100); } }
public override void Run(NpcController c) { if (DashTimer > 0) { DashTimer -= Time.deltaTime; c.rb.gravityScale = 0.0f; c.rb.velocity = new Vector2(Mathf.Lerp(Mathf.Abs(c.rb.velocity.x), c.DashSpeed, Time.deltaTime * 3f) * c._movement, c.rb.velocity.y); c.DashPar.Play(); } else { c.SetState(NPCState.Leave, true); } }
public override void Run(NpcController c) { if (c.PlayerReply) { var chance = Random.value; if (chance > 0.6f) { GameManager.Singleton.AddHeart(1); c._audio.PlayOneShot(c.Hint); Instantiate(GameManager.Singleton.HeartPrefab, c.transform.position + Vector3.up * (1 + 0.5f * c.HeartNum), Quaternion.identity); } else if (chance > 0.3f && chance < 0.5f) { GameManager.Singleton.AddHeart(2); c._audio.PlayOneShot(c.Hint); Instantiate(GameManager.Singleton.HeartPrefab, c.transform.position + Vector3.up * (1 + 0.5f * c.HeartNum), Quaternion.identity); Instantiate(GameManager.Singleton.HeartPrefab, c.transform.position + Vector3.up * (1.5f + 0.5f * c.HeartNum), Quaternion.identity); } else if (chance < 0.2f) { GameManager.Singleton.HeartNum--; c._audio.PlayOneShot(c.Bad); Instantiate(GameManager.Singleton.BadHeartPrefab, c.transform.position + Vector3.up * (1 + 0.5f * c.HeartNum), Quaternion.identity); } c.SetState(NPCState.Leave); } /* else * { * waitTimer -= Time.deltaTime; * if (waitTimer < 0) * { * c.SetState(NPCState.Leave); * } * }*/ }