This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ludumdare41/Assets/Scripts/Blocks/BlockIce.cs
T

52 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BlockIce : MonoBehaviour {
SpriteRenderer spriteRenderer;
Rigidbody2D rigidBody;
public float bombTimer = -1;
public GameObject bombPrefab;
public Sprite alternateSprite;
public Respawner respawner; //can be respawned
void Awake() {
spriteRenderer = GetComponent<SpriteRenderer> ();
rigidBody = GetComponent<Rigidbody2D> ();
rigidBody.Sleep ();
}
void Start() {
//switch if it's a bomb block
if (bombTimer >= 0) {
Sprite spr = spriteRenderer.sprite;
spriteRenderer.sprite = alternateSprite;
alternateSprite = spr;
}
}
void OnTriggerEnter2D(Collider2D collider) {
//TODO: use durability class?
FireDamager fire = collider.gameObject.GetComponent<FireDamager> ();
if (fire != null) {
if (bombTimer >= 0) {
GameObject bomb = Instantiate (bombPrefab);
bomb.transform.position = transform.position;
bomb.GetComponent<Bomb> ().timer = bombTimer;
bomb.GetComponent<Bomb> ().respawner = respawner;
}
respawner.enabled = true;
Destroy (gameObject);
}
WindDamager wind = collider.gameObject.GetComponent<WindDamager> ();
if (wind != null) {
rigidBody.AddForce (collider.gameObject.GetComponent<Rigidbody2D> ().velocity * 20, ForceMode2D.Impulse);
}
}
}