public IndieCityManager(string gameId, string serviceId, string serviceSecret, bool hasAchievements, bool hasLeaderboards, IManagerServiceProvider serviceProvider, SessionEndDelegate sessionEndDelegate) { _sceneInterface = serviceProvider; _sessionEndDelegate = sessionEndDelegate; ManagerProcessOrder = 10; var service = new ServiceId { Data1 = uint.Parse(serviceId.Substring(0, 8), NumberStyles.HexNumber), Data2 = ushort.Parse(serviceId.Substring(9, 4), NumberStyles.HexNumber), Data3 = ushort.Parse(serviceId.Substring(14, 4), NumberStyles.HexNumber), Data4 = new[] { byte.Parse(serviceId.Substring(19, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(21, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(24, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(26, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(28, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(30, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(32, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(34, 2), NumberStyles.HexNumber) } }; var bridge = new CoBridge2(); bridge.Initialise(gameId); bridge.SetServiceCredentials(GameService.GameService_IndieCityLeaderboardsAndAchievements, service, serviceSecret); Session = bridge.CreateDefaultGameSession(); _sessionCookie = Session.RegisterEventHandler(0, 0, this); _sessionActive = false; _startPhase = SessionStartPhase.NotStarted; _username = bridge.UserStore.GetUserFromId(Session.UserId).Name; _achievementsReady = !hasAchievements; if (hasAchievements) { AchievementsManager = new CoAchievementManager(); AchievementsManager.SetGameSession(Session); AchievementsManager.InitialiseAchievements(null); _achievementsCookie = ((IAchievementService)AchievementsManager).RegisterAchievementEventHandler(this); _achievementsUnlockedAtIndieCity = new Dictionary <long, bool>(); } _leaderboardsReady = !hasLeaderboards; if (hasLeaderboards) { _leaderboardsManager = new CoLeaderboardManager(); _leaderboardsManager.SetGameSession(Session); _leaderboardsManager.InitialiseLeaderboards(null); _leaderboardsCookie = ((ILeaderboardService)_leaderboardsManager).RegisterLeaderboardEventHandler(this); } }
public IndieCityManager(string gameId, string serviceId, string serviceSecret, bool hasAchievements, bool hasLeaderboards, IManagerServiceProvider serviceProvider, SessionEndDelegate sessionEndDelegate) { _sceneInterface = serviceProvider; _sessionEndDelegate = sessionEndDelegate; ManagerProcessOrder = 10; var service = new ServiceId { Data1 = uint.Parse(serviceId.Substring(0, 8), NumberStyles.HexNumber), Data2 = ushort.Parse(serviceId.Substring(9, 4), NumberStyles.HexNumber), Data3 = ushort.Parse(serviceId.Substring(14, 4), NumberStyles.HexNumber), Data4 = new[] { byte.Parse(serviceId.Substring(19, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(21, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(24, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(26, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(28, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(30, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(32, 2), NumberStyles.HexNumber), byte.Parse(serviceId.Substring(34, 2), NumberStyles.HexNumber) } }; var bridge = new CoBridge2(); bridge.Initialise(gameId); bridge.SetServiceCredentials(GameService.GameService_IndieCityLeaderboardsAndAchievements, service, serviceSecret); Session = bridge.CreateDefaultGameSession(); _sessionCookie = Session.RegisterEventHandler(0, 0, this); _sessionActive = false; _startPhase = SessionStartPhase.NotStarted; _username = bridge.UserStore.GetUserFromId(Session.UserId).Name; _achievementsReady = !hasAchievements; if (hasAchievements) { AchievementsManager = new CoAchievementManager(); AchievementsManager.SetGameSession(Session); AchievementsManager.InitialiseAchievements(null); _achievementsCookie = ((IAchievementService) AchievementsManager).RegisterAchievementEventHandler(this); _achievementsUnlockedAtIndieCity = new Dictionary<long, bool>(); } _leaderboardsReady = !hasLeaderboards; if (hasLeaderboards) { _leaderboardsManager = new CoLeaderboardManager(); _leaderboardsManager.SetGameSession(Session); _leaderboardsManager.InitialiseLeaderboards(null); _leaderboardsCookie = ((ILeaderboardService) _leaderboardsManager).RegisterLeaderboardEventHandler(this); } }
public static void Ready() #endif { GameManager.Manager.OnSaveChanged += updateAchievementList; GameManager.Manager.OnSaveDeleted += initializeList; RenderingDevice.GDM.DeviceReset += onGDMReset; achievementTex = Resources.AchievementToastTexture; if(GameManager.Manager.CurrentSaveNumber != 0) accomplishmentList = Accomplishment.GetAccomplishmentList(GameManager.Manager.CurrentSaveNumber); achievementPos = new Vector2(RenderingDevice.Width, RenderingDevice.Height) * relativeScreenSpace; text = new HelpfulTextBox(new Rectangle((int)(achievementPos.X + (143 - achievementTex.Width * 0.5f) * RenderingDevice.TextureScaleFactor.X), (int)(achievementPos.Y + (50 - achievementTex.Height * 0.5f) * RenderingDevice.TextureScaleFactor.Y), (int)(332 * RenderingDevice.TextureScaleFactor.X), (int)(50 * RenderingDevice.TextureScaleFactor.Y)), delegate { return Resources.Font; }); text.SetScaling(new Vector2(.8f, .8f)); #if INDIECITY manager = new CoAchievementManager(); manager.SetGameSession(s); manager.InitialiseAchievements(null); manager.Update(); #endif }