private GameObject InstantiateSpellGroup(Spell[] spellTypes, Vector3 position, Vector3 direction) { GameObject spell = (GameObject)Instantiate(_spellPrefab, position + direction * 1.15f, Quaternion.identity); SpellBehaviour sbehaviour = spell.GetComponent <SpellBehaviour>(); SpellDisplay sdisplay = spell.GetComponent <SpellDisplay>(); sbehaviour.SetDirection(direction); sbehaviour.SetSpeed(spellTypes[1].speed); sbehaviour.SetDamage(spellTypes[1].damage); sbehaviour.SetToken(_playerData.Token); /* * FALTA: * - La animación del primer puesto */ sdisplay._renderer.sprite = groupSpell; sdisplay._renderer.color = spellTypes[1].elementoSegundoPuesto; // funciona if (spellTypes.Length == 3) { switch (spellTypes[2].funcionTercerPuesto) { case 0: fasterSpell(sbehaviour); break; default: fasterSpell(sbehaviour); break; } } spell.SetActive(true); return(spell); }
/***********************************************************************/ /* * FUNCIONES DE HECHIZO EN TERCER PUESTO */ /***********************************************************************/ // TercerPuesto == 0 private void fasterSpell(SpellBehaviour spellBehaviour) { spellBehaviour.SetSpeed((int)Mathf.Ceil((float)(spellBehaviour.GetSpeed()) * 2.5f)); }