public void OnGameAdvertisementAddEvent(object o, GameAdvertisement ad) { if (!categories. ContainsKey (ad.category.ToLower ())) return; graph.AddGameInfo (new GameAdvertisementInfo (ad)); }
private void AddGameAdvertisement(GameAdvertisement ad) { ads.Add (ad); map[ad.gameHandle] = ad; if (GameAdvertisementAddEvent != null) GameAdvertisementAddEvent (this, ad); }
// <s> 9 w=samochess ti=00 rt=1362 t=5 i=7 r=r tp=blitz c=? rr=0-9999 a=t f=t public static GameAdvertisement FromBuffer(byte[]buffer, int start, int end) { ParserUtils.SkipWhitespace (buffer, ref start, end); GameAdvertisement ad = new GameAdvertisement (); string str; ParserUtils.ReadWord (buffer, ' ', ref start, end, out str); ad.gameHandle = Int32.Parse (str); while (start < end) { ParserUtils.SkipWhitespace (buffer, ref start, end); if (start >= end) break; string paramname, paramvalue; ParserUtils.ReadNameValue (buffer, ref start, end, out paramname, out paramvalue); if (paramname.Equals ("w")) ad.username = paramvalue; else if (paramname.Equals ("rt")) { if (!System.Char. IsDigit (paramvalue [paramvalue. Length - 1])) { ad.rating_char = paramvalue [paramvalue. Length - 1]; paramvalue = paramvalue. Substring (0, paramvalue. Length - 1); } ad.rating = paramvalue[0] == '+' ? -1 : Int32. Parse (paramvalue); } else if (paramname.Equals ("t")) ad.time_limit = Int32. Parse (paramvalue); else if (paramname.Equals ("i")) ad.time_increment = Int32. Parse (paramvalue); else if (paramname.Equals ("tp")) ad.category = paramvalue; else if (paramname.Equals ("r")) ad.rated = paramvalue[0] == 'r'; else if (paramname.Equals ("c")) ad.color = paramvalue[0]; else if (paramname.Equals ("a")) ad.automatic = paramvalue[0] == 't'; else if (paramname.Equals ("f")) ad.formula = paramvalue[0] == 't'; else if (paramname.Equals ("ti")) ad.ti = Int32. Parse (paramvalue); else if (paramname.Equals ("rr")) { string[]toks = paramvalue. Split ('-'); ad.rating_range = new int[2]; ad.rating_range[0] = Int32. Parse (toks[0]); ad.rating_range[1] = Int32. Parse (toks[1]); } } return ad; }
public void OnGameAdvertisementRemoveEvent(object o, GameAdvertisement ad) { graph.RemoveGame (ad.gameHandle); }
public GameAdvertisementInfo(GameAdvertisement a) { ad = a; }