Ejemplo n.º 1
0
		//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;
		}
Ejemplo n.º 2
0
 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));
     }
 }