コード例 #1
0
ファイル: GameSystem.cs プロジェクト: kls2/BotsLeagueIS
    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);
        }
    }
コード例 #2
0
ファイル: GameSystem.cs プロジェクト: kls2/BotsLeagueIS
    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++;
    }
コード例 #3
0
ファイル: GameSystem.cs プロジェクト: kls2/BotsLeagueIS
 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)
     {
     }
 }
コード例 #4
0
ファイル: GameSystem.cs プロジェクト: zhaoluxyz/match3action
 public void SetRandomTile(int total)
 {
     cellType = (Data.TileTypes)UnityEngine.Random.Range(0, total) + 1;
 }
コード例 #5
0
 public void SetElement(int randomElement)
 {
     baseElement = (Data.TileTypes)randomElement + 1;
 }
コード例 #6
0
 public void SetRandomTile(int total)
 {
     cellType = (Data.TileTypes) UnityEngine.Random.Range(0, total) + 1;
 }
コード例 #7
0
ファイル: GameSystem.cs プロジェクト: kls2/BotsLeagueIS
 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;
      *
      * } */
 }