Пример #1
0
 // Start is called before the first frame update
 private void OnEnable()
 {
     currentState = grappleState.Dead;
     laser        = GetComponent <LineRenderer>();
     GetComponent <SpriteRenderer>().color = Color.clear;
     Joints = new List <Vector3>();
 }
Пример #2
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (currentState != grappleState.Shot)
     {
         return;
     }
     if (other.tag == "Ground" || other.tag == "Platform")
     {
         currentState = grappleState.Pull;
         GetComponent <Rigidbody2D>().velocity     = Vector2.zero;
         GetComponent <Rigidbody2D>().gravityScale = 0f;
         catchPos = transform.position;
         StartCoroutine(PullDelay());
         // PlayerCharacter.Singleton.GetFSM().CurrentStateIndex = 14;
     }
     else if (other.tag == "Enemy")
     {
         currentState = grappleState.Pull;
         GetComponent <Rigidbody2D>().velocity     = Vector2.zero;
         GetComponent <Rigidbody2D>().gravityScale = 0f;
         catchPos = transform.position;
         other.GetComponent <Dummy>().UnitTimeFactor = 0f;
         hitTarget = other.gameObject;
         StartCoroutine(PullDelay());
         // PlayerCharacter.Singleton.GetFSM().CurrentStateIndex = 14;
     }
 }
Пример #3
0
 public void Dead()
 {
     currentState  = grappleState.Dead;
     laser.enabled = false;
     GetComponent <Rigidbody2D>().velocity     = Vector2.zero;
     GetComponent <Rigidbody2D>().simulated    = false;
     GetComponent <Rigidbody2D>().gravityScale = 0f;
     GetComponent <SpriteRenderer>().color     = Color.clear;
     if (hitTarget)
     {
         hitTarget.GetComponent <Dummy>().UnitTimeFactor = 1f;
     }
     Joints.Clear();
 }
Пример #4
0
    private void Fire()
    {
        timeToDie          = Time.time + lifetime;
        transform.position = target.position;
        Joints.Add(target.position);
        laser.enabled = true;
        currentState  = grappleState.Shot;
        Vector2 dir = PlayerCharacter.Singleton.transform.parent.GetComponentInChildren <MouseIndicator>().GetAttackDirection();

        transform.right = dir;
        GetComponent <Rigidbody2D>().gravityScale = 0f;
        GetComponent <Rigidbody2D>().AddForce(initialForce * dir * 100f);
        GetComponent <SpriteRenderer>().color  = Color.white;
        GetComponent <Rigidbody2D>().simulated = true;
    }