//Sets up a tile with the right orientation for the hand. Called by Hand after drawing/dealing. public void UpdateOrientation(Tile tile) { tile.Renderer.Orientation = Orientation; //The following Visible line only works if the Tile's access key is the no owner key if (Visible) { tile.SetVisibility(TileVisibility.FaceUp); } else { tile.SetVisibility(TileVisibility.InHand); } }
//Adds a tile to the hand but resets to no owner and sets to face up public void AddNaki(Tile tile) { AddTile(tile); //Note: sets owner Draw = tile; tile.ReleaseOwnership(_accessKey); //Resets to no owner tile.SetVisibility(TileVisibility.FaceUp); }
//Flips a new dora. public TileID NewDora() { Tile indicator = Tiles[Tiles.Count - numberOfRegularDoras * 2 - 2]; indicator.ReleaseOwnership(_accessKey); indicator.SetVisibility(TileVisibility.FaceUp); doras.Add(indicator.Query().GetDoraFromIndicator()); numberOfRegularDoras++; EventManager.FlagEvent("New Dora"); return(doras[doras.Count - 1]); }
//Adds a discarded tile to the pond public void Add(Tile tile) { Tiles.Add(tile); //Arrange in pond tile.Renderer.Position = GetNextPosition(); tile.Renderer.Orientation = Orientation; tile.SetVisibility(TileVisibility.FaceUp); //Set static information accessors MostRecentDiscard = tile; MostRecentKawa = this; }