private void CalculateElementEffect(Data.TileTypes attackElementType, Data.TileTypes targetElementType) { if (attackElementType == Data.TileTypes.Blue) { WaterElementEffect(targetElementType); } else if (attackElementType == Data.TileTypes.Green) { //Heal the player who swiped if (playerHumanTurn) { healValue = CalculateHealValue(); pcControl.SetHealthUp(healValue); Debug.Log("Player healed: " + healValue); nullifyAttack = true; } else { healValue = CalculateHealValue(); npcControl.SetHealthUp(healValue); Debug.Log("Enemy healed: " + healValue); nullifyAttack = true; } } else if (attackElementType == Data.TileTypes.Magnet) { MagnetElementEffect(targetElementType); } else if (attackElementType == Data.TileTypes.Red) { FireElementEffect(targetElementType); } else if (attackElementType == Data.TileTypes.White) { bonusTurns = CalculateBonusTurns(); Debug.Log("Bonus turns: " + bonusTurns); if (playerHumanTurn) { npcControl.EnableFreezeStatus(true); } else { pcControl.EnableFreezeStatus(true); } } else if (attackElementType == Data.TileTypes.Yellow) { LightningElementEffect(targetElementType); } }
IEnumerator CheckMatch3_Coroutine(Dictionary <TilePoint, Data.TileTypes> stack) { Data.TileTypes tileType = Data.TileTypes.Empty; List <MatchItem> destroyList = new List <MatchItem>(); foreach (KeyValuePair <TilePoint, Data.TileTypes> item in stack) { tileType = item.Value; destroyList.Add(FindTile(item.Key)); } Coroutine deleteAnimation = null; foreach (MatchItem item in destroyList) { audioMatchSource[(int)(item.cell.cellType) - 1].Play(); int type = (int)item.cell.cellType; SpriteRenderer sr = item.GetComponent <SpriteRenderer>(); int index = (type - 1) * 4; deleteAnimation = StartCoroutine(animateDelete(item, index)); GameObject instance = Instantiate(explosionPrefab) as GameObject; instance.transform.parent = effectArea; instance.transform.localPosition = new Vector3(item.point.x * cellWidth, item.point.y * -cellHeight, -5f); DoStarEffect(instance.transform.localPosition, type); } yield return(deleteAnimation); //Calculates the effect Values if (playerHumanTurn) { CalculateElementEffect(tileType, npcControl.baseElement); } else { CalculateElementEffect(tileType, pcControl.baseElement); } CompleteAttack(playerHumanTurn); PlayComboSound(currentComboNum); currentComboNum++; }
private void LightningElementEffect(Data.TileTypes targetElementType) { if (targetElementType == Data.TileTypes.Blue) { } else if (targetElementType == Data.TileTypes.Green) { } else if (targetElementType == Data.TileTypes.Magnet) { } else if (targetElementType == Data.TileTypes.Red) { } else if (targetElementType == Data.TileTypes.White) { } else if (targetElementType == Data.TileTypes.Yellow) { } }
public void SetRandomTile(int total) { cellType = (Data.TileTypes)UnityEngine.Random.Range(0, total) + 1; }
public void SetElement(int randomElement) { baseElement = (Data.TileTypes)randomElement + 1; }
public void SetRandomTile(int total) { cellType = (Data.TileTypes) UnityEngine.Random.Range(0, total) + 1; }
void DoTileEffect(Data.TileTypes tileType) { /* switch (tileType) ------------------------------------------------------- Create different effects to the different pieces (eg. ice freezes enemy, heart gives life, etc.) * * //player life = 350, Enemy life Level 1 = 270 * * //3 pieces same type = 18 pts damage * //4 pieces same type = 28 pts damage * //more than 4 pieces same type = 42 damage * //3 strong pieces (considering element) = 30 pts damage * //4 strong pieces (considering element) = 45 pts damage * //more than 4 strong pieces (considering element) = 60 pts damage * * //3 pieces life = 20 pts life back * //4 pieces life = 32 pts life back * ///more than 4 pieces life = 45 pts life back * * //3 pieces white = enemy does not play that turn * //4 white = enemy does not play for 2 turns * //more than 4 white = enemy does not play for 3 turns (?) * * { * * case Data.TileTypes.White: * * // What des white tiles do? * * * break; * * case Data.TileTypes.Red: * if (isPlayerTurn) * { * npcControl.Damage(10, Element.FIRE); * } * else * { * pcControl.Damage(10, Element.FIRE); * } * * break; * * case Data.TileTypes.Blue: * * // What do blue tiles do? * * break; * * * case Data.TileTypes.Magnet: * * // What do magnet tiles do? * * break; * * case Data.TileTypes.Green: * * // Put code to heal the player here * * break; * * case Data.TileTypes.Yellow: * * // normal attack: 10 points * * break; * * } */ }