//create a crazy world... public static World GenerateCustomWorld() { World mainWorld = new World("main_world"); Score s = new Score("numberScore"); World machineA = new World("machine_a"); World machineB = new World("machine_b"); // machine A machineA.BatchAddLevelsWithTemplates(2, null, s, null); // machine B Gate machineALevel1Complete = new WorldCompletionGate("level1_complete", machineA.GetInnerWorldAt(0).ID); machineB.BatchAddLevelsWithTemplates(20, machineALevel1Complete, s, null); Mission mission1 = new WorldCompletionMission("level2_complete", "Level 2 Completed Mission!", machineA.GetInnerWorldAt(1).ID); Mission mission2 = new RecordMission("level1_record_mission", "Level 1 Record Mission!", machineA.GetInnerWorldAt(0).GetSingleScore().ID, 20.0); Mission allMissions = new Challenge("main_challange", "MAIN CHALLENGE", new List <Mission>() { mission1, mission2 }); machineB.GetInnerWorldAt(5).AddMission(allMissions); mainWorld.AddInnerWorld(machineA); mainWorld.AddInnerWorld(machineB); 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)); } }