// // Utility method for creating the game's worlds // and levels hierarchy // private World createMainWorld() { World worldA = new World("world_a"); World worldB = new World("world_b"); //Reward coinReward = new VirtualItemReward( // "coinReward", // ID // "100 Coins", // Name // ExampleAssets.COIN_CURRENCY.ID, // Associated item ID // 100 // Amount // ); Mission likeMission = new SocialLikeMission( "likeMission", // ID "Like Mission", // Name //new List<Reward>() { coinReward }, // Reward Soomla.Profile.Provider.FACEBOOK, // Social Provider "[page name]" // Page to "Like" ); // Add 10 levels to each world worldA.BatchAddLevelsWithTemplates(10, null, null, new List<Mission>() { likeMission }); worldB.BatchAddLevelsWithTemplates(10, null, null, new List<Mission>() { likeMission }); // Create a world that will contain all worlds of the game World mainWorld = new World("main_world"); mainWorld.InnerWorldsMap.Add(worldA.ID, worldA); mainWorld.InnerWorldsMap.Add(worldB.ID, worldB); return mainWorld; }
public void Mission_toJSONObject() { { var mission = new RecordMission("Test_RecordMission_Id", "Test_RecordMission", "Test_Score_Id", 100.0); var json = mission.toJSONObject(); var expect = @"{ ""name"":""Test_RecordMission"", ""description"":"""", ""itemId"":""Test_RecordMission_Id"", ""className"":""RecordMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_RecordMission_Id"", ""className"":""RecordGate"", ""associatedScoreId"":""Test_Score_Id"", ""desiredBalance"":100 }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }"; Assert.AreEqual(expect, json.print(true)); } { var mission = new WorldCompletionMission("Test_WorldCompletionMission_Id", "Test_WorldCompletionMission", "Test_World_Id"); var json = mission.toJSONObject(); var expect = @"{ ""name"":""Test_WorldCompletionMission"", ""description"":"""", ""itemId"":""Test_WorldCompletionMission_Id"", ""className"":""WorldCompletionMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_WorldCompletionMission_Id"", ""className"":""WorldCompletionGate"", ""associatedWorldId"":""Test_World_Id"" }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }"; Assert.AreEqual(expect, json.print(true)); } { var mission = new BalanceMission("Test_BalanceMission_Id", "Test_BalanceMission", "Test_Item_Id", 100); var json = mission.toJSONObject(); var expect = @"{ ""name"":""Test_BalanceMission"", ""description"":"""", ""itemId"":""Test_BalanceMission_Id"", ""className"":""BalanceMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_BalanceMission_Id"", ""className"":""BalanceGate"", ""associatedItemId"":""Test_Item_Id"", ""desiredBalance"":100 }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }"; Assert.AreEqual(expect, json.print(true)); } { var mission = new PurchasingMission("Test_PurchasingMission_Id", "Test_PurchasingMission", "Test_Item_Id"); var json = mission.toJSONObject(); var expect = @"{ ""name"":""Test_PurchasingMission"", ""description"":"""", ""itemId"":""Test_PurchasingMission_Id"", ""className"":""PurchasingMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_PurchasingMission_Id"", ""className"":""PurchasableGate"", ""associatedItemId"":""Test_Item_Id"" }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }"; Assert.AreEqual(expect, json.print(true)); } { var mission = new SocialLikeMission("Test_SocialLikeMission_Id", "Test_SocialLikeMission", Provider.FACEBOOK, "Test_PageName"); var json = mission.toJSONObject(); var expect = @"{ ""name"":""Test_SocialLikeMission"", ""description"":"""", ""itemId"":""Test_SocialLikeMission_Id"", ""className"":""SocialLikeMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_SocialLikeMission_Id"", ""className"":""SocialLikeGate"", ""provider"":""facebook"", ""pageName"":""Test_PageName"" }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }"; Assert.AreEqual(expect, json.print(true)); } { var mission = new SocialStatusMission("Test_SocialStatusMission_Id", "Test_SocialStatusMission", Provider.GOOGLE, "Test_Status"); var json = mission.toJSONObject(); var expect = @"{ ""name"":""Test_SocialStatusMission"", ""description"":"""", ""itemId"":""Test_SocialStatusMission_Id"", ""className"":""SocialStatusMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_SocialStatusMission_Id"", ""className"":""SocialStatusGate"", ""provider"":""google"", ""status"":""Test_Status"" }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }"; Assert.AreEqual(expect, json.print(true)); } { var missions = new List<Mission>(); missions.Add(new RecordMission("Test_RecordMission_Id", "Test_RecordMission", "Test_Score_Id", 100.0)); missions.Add(new SocialLikeMission("Test_SocialLikeMission_Id", "Test_SocialLikeMission", Provider.FACEBOOK, "Test_PageName")); var challenge = new Challenge("Test_Challenge_Id", "Test_Challenge", missions); var json = challenge.toJSONObject(); var expect = @"{ ""name"":""Test_Challenge"", ""description"":"""", ""itemId"":""Test_Challenge_Id"", ""className"":""Challenge"", ""rewards"":[], ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] }, ""missions"":[ { ""name"":""Test_RecordMission"", ""description"":"""", ""itemId"":""Test_RecordMission_Id"", ""className"":""RecordMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_RecordMission_Id"", ""className"":""RecordGate"", ""associatedScoreId"":""Test_Score_Id"", ""desiredBalance"":100 }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } }, { ""name"":""Test_SocialLikeMission"", ""description"":"""", ""itemId"":""Test_SocialLikeMission_Id"", ""className"":""SocialLikeMission"", ""rewards"":[], ""gate"":{ ""name"":"""", ""description"":"""", ""itemId"":""gate_Test_SocialLikeMission_Id"", ""className"":""SocialLikeGate"", ""provider"":""facebook"", ""pageName"":""Test_PageName"" }, ""schedule"":{ ""className"":""Schedule"", ""schedRecurrence"":4, ""schedApprovals"":1, ""schedTimeRanges"":[] } } ] }"; Assert.AreEqual(expect, json.print(true)); } }