예제 #1
0
    public void DeployUnit(TileController initialTile)
    {
        IEnterTile[] enterTileReactors;

        _myTile             = initialTile;
        _myTile._myUnit     = this;
        _myTile._isOccupied = true;
        transform.position  = initialTile.transform.position;
        ITileBehaviour myTileBehaviour = initialTile.gameObject.GetComponent <ITileBehaviour>();

        if (myTileBehaviour != null)
        {
            myTileBehaviour.EnterTileAction(this);
        }
        enterTileReactors = GetComponents <IEnterTile>();
        foreach (IEnterTile reactor in enterTileReactors)
        {
            reactor.EnterTileAction(_myTile);
        }
        if (_myTile.IsDesignerMode())
        {
            ChangeMode("designer");
        }
        else
        {
            ChangeMode("player");
        }
        _mySpriteRenderer.sortingOrder = _myTile.GetGridPosition().y;
    }
예제 #2
0
 public void InitializeTile(GridPosition position, BoardGrid myBoardGrid)
 {
     _mySpriteRenderer                  = GetComponent <SpriteRenderer>();
     _myCollider                        = GetComponent <PolygonCollider2D>();
     _myDesignerCollider                = GetComponent <BoxCollider2D>();
     _mySpriteRenderer.sprite           = _tile.tileSprite;
     _crosshairSpriteRenderer.enabled   = false;
     _crosshairSpriteRenderer.sprite    = _crosshairSprite;
     _overlayColorSpriteRenderer.sprite = _plainTileSprite;
     _gridPosition                      = position;
     _previousColor                     = _overlayColorSpriteRenderer.color;
     _previousMarker                    = _overlayMarkerSpriteRenderer.sprite;
     _myUnit                     = null;
     _isOccupied                 = false;
     _gCost                      = 0;
     _hCost                      = 0;
     _fCost                      = 0;
     _myBehaviour                = GetComponent <ITileBehaviour>();
     _myBoard                    = myBoardGrid;
     _isDesignerMode             = false;
     _myDesignerCollider.enabled = false;
 }