Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool trollface = false;
- if (room.GetGameMap().SquareHasUsers(newX, newY)) // break 100 %, cannot return the ball
- {
- if (item.ExtraData != "55" && item.ExtraData != "44")
- {
- item.ballIsMoving = false;
- break;
- }
- else
- {
- trollface = true;
- }
- }
- if (trollface == false)
- {
- if (!room.GetGameMap().itemCanBePlacedHere(newX, newY)) // start the second game ball... inversing:
- {
- item.comeDirection = ComeDirection.InverseDirections(room, item.comeDirection, newX, newY);
- newX = resetX;
- newY = resetY;
- tryes++;
- if (tryes > 2)
- item.ballIsMoving = false;
- continue;
- }
- }
- if (MoveBall(item, item.ballMover, newX, newY))
- {
- item.ballIsMoving = false;
- break;
- }
- int Number = 11;
- int.TryParse(item.ExtraData, out Number);
- if (Number > 11)
- item.ExtraData = (int.Parse(item.ExtraData) - 11).ToString();
- }
- item._iBallValue++;
- if (item._iBallValue > 6)
- {
- item.ballIsMoving = false;
- item._iBallValue = 1;
- item.ballMover = null;
- }
- break;
- }
- }
- private void HandleFootballGameItems(Point ballItemCoord, RoomUser user)
- {
- if (user.team == Team.none)
- return;
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.red).Values)
- {
- foreach (ThreeDCoord tile in item.GetAffectedTiles.Values)
- {
- if (tile.X == ballItemCoord.X && tile.Y == ballItemCoord.Y)
- {
- room.GetGameManager().AddPointToTeam(user.team, user);
- return;
- }
- }
- }
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.green).Values)
- {
- foreach (ThreeDCoord tile in item.GetAffectedTiles.Values)
- {
- if (tile.X == ballItemCoord.X && tile.Y == ballItemCoord.Y)
- {
- room.GetGameManager().AddPointToTeam(user.team, user);
- return;
- }
- }
- }
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.blue).Values)
- {
- foreach (ThreeDCoord tile in item.GetAffectedTiles.Values)
- {
- if (tile.X == ballItemCoord.X && tile.Y == ballItemCoord.Y)
- {
- room.GetGameManager().AddPointToTeam(user.team, user);
- return;
- }
- }
- }
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.yellow).Values)
- {
- foreach (ThreeDCoord tile in item.GetAffectedTiles.Values)
- {
- if (tile.X == ballItemCoord.X && tile.Y == ballItemCoord.Y)
- {
- room.GetGameManager().AddPointToTeam(user.team, user);
- return;
- }
- }
- }
- }
- private bool GameItemOverlaps(RoomItem gameItem)
- {
- Point gameItemCoord = gameItem.Coordinate;
- foreach (RoomItem item in GetFootballItemsForAllTeams())
- {
- foreach (ThreeDCoord tile in item.GetAffectedTiles.Values)
- {
- if (tile.X == gameItemCoord.X && tile.Y == gameItemCoord.Y)
- return true;
- }
- }
- return false;
- }
- private List<RoomItem> GetFootballItemsForAllTeams()
- {
- List<RoomItem> items = new List<RoomItem>();
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.red).Values)
- {
- items.Add(item);
- }
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.green).Values)
- {
- items.Add(item);
- }
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.blue).Values)
- {
- items.Add(item);
- }
- foreach (RoomItem item in room.GetGameManager().GetItems(Team.yellow).Values)
- {
- items.Add(item);
- }
- return items;
- }
- internal void Destroy()
- {
- Array.Clear(gates, 0, gates.Length);
- gates = null;
- room = null;
- balls.Clear();
- balls = null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement