Ejemplo n.º 1
0
  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
Ejemplo n.º 2
0
  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;
  }