Beispiel #1
0
    void TurnPointerOn()
    {
        // set range indicator scale
        SpellManager.Element spell = game_manager.spellManager.currElement;

        HapticPulse(3000);

        Debug.Log("Now enabling pointer ~~~~~~~~");
        pointer_script.pointerTipScale = game_manager.spellManager.getCurrentSpellRadius();

        pointer_script.enabled            = true;
        GetComponent <AudioSource>().clip = spell_load_sound;
        GetComponent <AudioSource>().Play();

        cast_fx.SetActive(true);

        // Special case for fire death ray.
        if (spell == SpellManager.Element.Fire)
        {
            fire_spell_mode = true;
            StartCoroutine("DeathRay");
        }

        //Debug.Log("aim mode enable was called!");
    }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        //moveObjectBySpeed (transform.position, Vector3.up*0.8f, speed);
        type = (SpellManager.Element)Random.Range(0, 4);

        switch (type)
        {
        case SpellManager.Element.Fire: gameObject.GetComponent <Renderer>().material = FireMat;
            health    = 20;
            baseSpeed = speed = 0.25f;
            break;

        case SpellManager.Element.Frost: gameObject.GetComponent <Renderer>().material = FrostMat;
            health    = 30;
            baseSpeed = speed = 0.125f;
            break;

        case SpellManager.Element.Lightning: gameObject.GetComponent <Renderer>().material = LightningMat;
            health    = 20;
            baseSpeed = speed = 0.25f;
            break;

        case SpellManager.Element.Earth: gameObject.GetComponent <Renderer>().material = EarthMat;
            health    = 40;
            baseSpeed = speed = 0.125f;
            break;
        }

        int numHearts = health / 10;

        enemyHealth = new GameObject[numHearts];
        for (int i = 0; i < numHearts; i++)
        {
            float offset = 0.0f;
            if (numHearts % 2 == 0)
            {
                offset = 0.5f;
            }
            Vector3    heartPos = transform.position + (Vector3.up * 2) + (transform.right * (i - (numHearts / 2) + offset));
            Quaternion heartOri = transform.rotation;
            enemyHealth[i] = (GameObject)Instantiate(heart, heartPos, heartOri);
            enemyHealth[i].transform.parent = transform;
        }

        moveObjectBySpeed(transform.position, Vector3.zero);
    }
Beispiel #3
0
    void Update()
    {
        switch (effect)
        {
        case SpellManager.Element.Frost:
            frostTime = Time.time;
            StartCoroutine(slow(slowTime));
            break;

        case SpellManager.Element.Earth:
            earthTime = Time.time;
            StartCoroutine(stun(stunTime));
            break;

        default:
            break;
        }
        effect = SpellManager.Element.None;
    }