// Hande the messages related to the life packs or coins
 public override bool handleMessageImpl(string message)
 {
     message = message.Substring(0, message.Length - 1);
     // if the message is no hadled return false
     if (message[0] == 'C' || message[0] == 'L')
     {
         // if the message is related to coins
         if (message[0] == 'C')
         {
             // These are the data related to the life pack
             string[] sections = message.Split(':');
             int[] location = { Int32.Parse(sections[1].Split(',')[0]), Int32.Parse(sections[1].Split(',')[1]) };
             int timeout = Int32.Parse(sections[2]);
             int value = Int32.Parse(sections[3]);
             // Add the coin to the grid and updateUI
             // To be implemented
             //Console.WriteLine("Coins");
             //Console.WriteLine("Location " + location[0] + "," + location[1]);
             //Console.WriteLine("Timeout " + timeout);
             //Console.WriteLine("Value " + value);
             Coin coin = new Coin();
             coin.Life_time = timeout;
             coin.Location = new Microsoft.Xna.Framework.Vector2(location[0], location[1]);
             coin.Value = value;
             lock (active_grid.Coins)
             { active_grid.addCoin(coin); }
             return true;
         }
         // if the message is related to life packs
         else
         {
             string[] sections = message.Split(':');
             int[] location = { Int32.Parse(sections[1].Split(',')[0]), Int32.Parse(sections[1].Split(',')[1]) };
             int timeout = Int32.Parse(sections[2]);
             // Add the coin to the grid and updateUI
             // To be implemented
             //Console.WriteLine("Life Pack");
             //Console.WriteLine("Location " + location[0] + "," + location[1]);
             //Console.WriteLine("Timeout " + timeout);
             LifePack lp = new LifePack();
             lp.Life_time = timeout;
             lp.Location = new Microsoft.Xna.Framework.Vector2(location[0], location[1]);
             lock (active_grid.Life_packs)
             { active_grid.addLifePack(lp); }
             return true;
         }
     }
     else
     {
         return false;
     }
 }
 // Adding, accessing and removal of life packs
 public void addLifePack(LifePack l)
 {
     Life_packs.Add(l.Location, l);
 }