public void SetNewTile(TileType tileType, LaneNumber laneNumber, int elevation, Sprite theSprite, IKTargetSet ikTargetSet) { sprite = theSprite; myTileType = tileType; myLaneNumber = laneNumber; myElevation = elevation; gameObject.GetComponent<SpriteRenderer>().sprite = sprite; spriteScaledWidth = 160.0f / 256.0f * sprite.textureRect.width; spriteScaledHeight = spriteScaledWidth; gameObject.transform.localScale = new Vector3(1, 1, 1); //-- store the object from the pool ikTarget = ikTargetSet; //-- we set active to enable and reserve the pool object ikTarget.gameObject.SetActive(true); //-- cache the pool parent so we can set it back when done m_PreviousIKTargetParent = ikTarget.transform.parent; //-- parent the ik target to the tile ikTarget.transform.parent = this.gameObject.transform; ikTarget.transform.localPosition = Vector3.zero; }//End SetNewTile
public TileScript GetTile(MoveDirection direction, LaneNumber lane, int elevation) { switch (direction) { case MoveDirection.MoveUp: for (int i = 0; i < tileSetList.Count; i++) { if (tileSetList[i].myLaneNumber == lane && tileSetList[i].myElevation == elevation + 1) { return tileSetList[i]; } } break; case MoveDirection.MoveDown: for (int i = 0; i < tileSetList.Count; i++) { if (tileSetList[i].myLaneNumber == lane && tileSetList[i].myElevation == elevation - 1) { return tileSetList[i]; } } break; case MoveDirection.MoveLeft: if (LaneNumber.Left == lane) { return null; } for (int i = 0; i < tileSetList.Count; i++) { if (tileSetList[i].myLaneNumber == lane - 1 && tileSetList[i].myElevation == elevation) { return tileSetList[i]; } } break; case MoveDirection.MoveRight: if (LaneNumber.Right == lane) { return null; } for (int i = 0; i < tileSetList.Count; i++) { if (tileSetList[i].myLaneNumber == lane + 1 && tileSetList[i].myElevation == elevation) { return tileSetList[i]; } } break; } return null; }