init
This commit is contained in:
commit
e0a842f222
796 changed files with 361371 additions and 0 deletions
50
Assets/Scripts/Player/PlayerRope.cs
Normal file
50
Assets/Scripts/Player/PlayerRope.cs
Normal file
|
@ -0,0 +1,50 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class PlayerRope : MonoBehaviour{
|
||||
|
||||
[SerializeField] Transform player1, player2;
|
||||
LineRenderer rope;
|
||||
|
||||
[SerializeField] LayerMask enemyMask = -1;
|
||||
[SerializeField] LayerMask spikesMask = -1;
|
||||
|
||||
[SerializeField] PlayerManager playerManager;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Awake(){
|
||||
rope = GetComponent<LineRenderer>();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
|
||||
float toleranceThreshold = .5f;
|
||||
|
||||
Vector3[] points = new Vector3[2];
|
||||
points[0] = player1.position;
|
||||
points[1] = player2.position;
|
||||
rope.SetPositions(points);
|
||||
|
||||
Vector3 dir = (player2.position - player1.position).normalized;
|
||||
|
||||
Physics.Raycast(player1.position+dir*toleranceThreshold, dir, out RaycastHit enemyHit, Vector3.Distance(player1.position, player2.position)-toleranceThreshold*2, enemyMask);
|
||||
|
||||
if (enemyHit.collider){
|
||||
ScreenShake.Shake(1f, .25f);
|
||||
AudioManager.instance.PlayOneShot("KillPenguin");
|
||||
Instantiate(playerManager.impactParticles, enemyHit.collider.transform.position, Quaternion.identity);
|
||||
enemyHit.collider.gameObject.GetComponent<EnemyBehavior>().Kill();
|
||||
}
|
||||
|
||||
Physics.Raycast(player1.position, dir, out RaycastHit spikeHit, Vector3.Distance(player1.position, player2.position), spikesMask);
|
||||
if (spikeHit.collider && spikeHit.collider.gameObject.GetComponent<SpikeBehavior>().Harming){
|
||||
AudioManager.instance.PlayOneShot("Cuerda");
|
||||
ScreenShake.Shake(2f, .5f);
|
||||
GameManager.Instance.player.GetComponent<PlayerManager>().Player1.gameObject.GetComponent<PlayerDeath>().Kill();
|
||||
GameManager.Instance.player.GetComponent<PlayerManager>().Player2.gameObject.GetComponent<PlayerDeath>().Kill();
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue