Exemple #1
0
 public Tile(GameObject toInstantiate, Vector3 position, Quaternion rotation, TileType.Type type)
 {
     tileGO       = Object.Instantiate(toInstantiate, position, rotation);
     tilePosition = position;
     tileType     = type;
     xPos         = (int)tileGO.transform.position.x; // Maybe useless
     yPos         = (int)tileGO.transform.position.y; // Maybe useless
 }
Exemple #2
0
        public void Initialize(int size, int destY, int destX, Player player)
        {
            if (size % 2 == 0)
            {
                return;
            }

            _player = player;

            Tile = new TileType.Type[size, size];
            Size = size;

            DestY = destY;
            DestX = destX;

            BinaryTreeAlogorithm binaryTreeAlogorithm = new BinaryTreeAlogorithm();

            binaryTreeAlogorithm.make(Tile, Size);
        }
Exemple #3
0
    /// <summary>
    /// Súlyózzas az egység életét attól függően hogy éppen milyen mezőn harcol.
    /// </summary>
    /// <param name="type">Mező típusa</param>
    /// <param name="mutationState">Mutálódó mezők aktuális állapota, alapértékként 0, csak akkor van használva, ha type=Mutating </param>
    internal void AdjustHpToTile(TileType.Type type, int mutationState = 0)
    {
        Debug.Log("hp befor:" + tag + " " + hp);
        switch (type)
        {
        case TileType.Type.Black:
            if (tag.Contains("Player1"))
            {
                hp -= (int)(hp * 0.25);
            }
            else
            {
                hp += (int)(hp * 0.25);
            }
            break;

        case TileType.Type.White:
            if (tag.Contains("Player2"))
            {
                hp -= (int)(hp * 0.25);
            }
            else
            {
                hp += (int)(hp * 0.25);
            }
            break;

        case TileType.Type.Mutating:
            float multiplier = 0f;
            switch (mutationState)
            {
            case 6: multiplier = 0.25f; break;

            case 5: multiplier = 0.15f; break;

            case 4: multiplier = 0.05f; break;

            case 3: return;

            case 2: multiplier = -0.05f; break;

            case 1: multiplier = -0.15f; break;

            case 0: multiplier = -0.25f; break;
            }
            if (tag.Contains("Player1"))
            {
                hp += (int)(hp * multiplier);
            }
            else
            {
                hp -= (int)(hp * multiplier);
            }
            break;

        default:

            break;
        }
        Debug.Log("hp after:" + hp);
    }