void Hit() { Debug.Log("Head Hit By Bullet"); if (state == SkullState.Helmeted) { if (health == 2) { helmet.GetComponent <SpriteRenderer>().sprite = helmetCracking[1]; helmetFlashTime = 0.5f; } else if (health == 1) { helmet.GetComponent <SpriteRenderer>().sprite = helmetCracking[2]; helmetFlashTime = 0.5f; } else if (health == 0) { state = SkullState.Naked; ExplodeHelmet(); } --health; } }
// Use this for initialization void Start() { // Head Sprite Shadows head.GetComponentInChildren <SpriteRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On; head.GetComponentInChildren <SpriteRenderer>().receiveShadows = true; // Helmet Sprite Shadows helmet.GetComponentInChildren <SpriteRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On; helmet.GetComponentInChildren <SpriteRenderer>().receiveShadows = true; state = SkullState.Helmeted; // Start out in Dormant state spawnPosition = head.transform.position; // Keep track of the starting position player = GameObject.FindGameObjectWithTag("Player"); InvokeRepeating("FireHandBullet", 0.0f, 4.0f); }
public IEnumerator Throw(Transform dir, float throwForce) { transform.parent = null; rb.isKinematic = false; rb.useGravity = true; skullState = SkullState.Thrown; Vector3 throwVector = dir.forward * throwForce; throwVector = new Vector3(throwVector.x, 3, throwVector.z); rb.AddForce(throwVector, ForceMode.Impulse); EnableCollider(); yield return(new WaitForSeconds(2)); rb.useGravity = false; rb.isKinematic = true; skullState = SkullState.Idle; owner = null; }