Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 2
0
    // 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);
    }
Exemplo n.º 3
0
    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;
    }