public void RemoveTail() { bool Forged = false; if (Dying) { GameAssets.Sound.Explosion.Play(); } if (Bodies.Last.Value.Engorged) { switch (Bodies.Last.Value.Digestion) { case SnakeBody.FoodType.Food: if (Tier + 1 <= 4) { GameController.PlaceEgg(Bodies.Last.Value.Position, Tier + 1); } else { GameController.PlaceWall(Bodies.Last.Value.Position); } break; case SnakeBody.FoodType.Egg: if (IsPlayer) { ForgeSnake(Bodies.Last.Value.FoodTier); Forged = true; } else { GameController.PlaceEgg(Bodies.Last.Value.Position, Bodies.Last.Value.FoodTier); } break; case SnakeBody.FoodType.None: Debug.LogError("Body was engorged with no food type."); break; default: Debug.LogError("No recognized food type: " + Bodies.Last.Value.Digestion); break; } } else { if (Dying) { GameController.PlaceEgg(Bodies.Last.Value.Position, IsPlayer ? Tier + 1 : Tier); } else { GameController.CollisionMap[Bodies.Last.Value.Position.y, Bodies.Last.Value.Position.x] = false; } } if (ForgingSnake != null && !Forged) { DeforgeSnake(); } Bodies.RemoveLast(); }