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 }
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); }
/// <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); }