コード例 #1
0
        protected async Task <IActivityContext> GetTestContext()
        {
            Moq.Mock <IRuntimeEngine> runtimeEngine = new Moq.Mock <IRuntimeEngine>();

            ManifestActivity activity = new ManifestActivity("ManifestTest");
            ActivityContext  context  = new ActivityContext(new ExpandoObject(), new ActivityContext(null, null, null), new RuntimeContext(null, runtimeEngine.Object, null));

            context.DynamicContext.ManifestDir = Path.Combine(Directory.GetCurrentDirectory(), "Manifest", "ManifestSource");
            await activity.Initializing(context);

            return(activity.Context);
        }
コード例 #2
0
        public async Task StartupCreationTest()
        {
            Moq.Mock <IRuntimeEngine> runtimeEngine = new Moq.Mock <IRuntimeEngine>();
            runtimeEngine.Setup(x => x.Logger).Returns(new FakeLogger());

            ManifestActivity activity = new ManifestActivity("ManifestTest");
            ActivityContext  context  = new ActivityContext(new ExpandoObject(), new ActivityContext(null, null, null), new RuntimeContext(null, runtimeEngine.Object, null));

            context.DynamicContext.ManifestDir = Path.Combine(Directory.GetCurrentDirectory(), "Manifest", "ManifestSource");
            await activity.Initializing(context);

            Assert.NotNull(activity.Context.DynamicContext.Manifest);
        }
コード例 #3
0
 private void            CopyActivityData(ManifestActivity source, ManifestActivity dest)
 {
     if (source.name != dest.name)
     {
         Debug.LogError("Could not copy data!"); return;
     }
     dest.configChanges = source.configChanges;
     dest.label         = source.label;
     dest.Startup       = source.Startup;
     dest.meta_data.Clear();
     foreach (ManifestMetaData mmd in source.meta_data)
     {
         ManifestMetaData nmd = new ManifestMetaData();
         nmd.Set(mmd.name, mmd.value, mmd.resource);
         dest.meta_data.Add(nmd);
     }
 }
コード例 #4
0
 public ManifestActivity addActivity()
 {
     ManifestActivity act = new ManifestActivity();
     activity.Add(act);
     return act;
 }
コード例 #5
0
 public void OnGUI(ManifestActivity act)
 {
     act.name = EditorGUILayout.TextField("Name", act.name);
     act.label = EditorGUILayout.TextField("Label", act.label);
     act.configChanges = EditorGUILayout.TextField("Config Changes", act.configChanges);
     act.theme = EditorGUILayout.TextField("Theme", act.theme);
     act.windowSoftInputMode = EditorGUILayout.TextField("Soft Input Mode", act.windowSoftInputMode);
     act.Startup = EditorGUILayout.Toggle("Startup Activity", act.Startup);
     guiMetaData.meta_data = act.meta_data;
     EditorGUILayout.LabelField("Activity Meta-Data (name, value, resource)");
     guiMetaData.OnGUI();
 }
コード例 #6
0
 public void OnGUI()
 {
     EditorGUILayout.BeginVertical();
     EditorGUILayout.BeginHorizontal();
     if (GUILayout.Button("+", PositiveButton))
     {
         ManifestActivity act = new ManifestActivity();
         activity.Add(act);
     }
     scroll = EditorGUILayout.BeginScrollView(scroll, GUILayout.Height(ListHeight));
     for (int i = 0; i < activity.Count; i++)
     {
         EditorGUILayout.BeginHorizontal("Box");
         if (GUILayout.Button("-", NegetiveButton))
         {
             activity.RemoveAt(i);
             i--;
             edit_index = -1;
             continue;
         }
         EditorGUILayout.LabelField(activity[i].name);
         if (GUILayout.Button("...", PositiveButton))
         {
             edit_index = i;
         }
         EditorGUILayout.EndHorizontal();
     }
     EditorGUILayout.EndScrollView();
     EditorGUILayout.EndHorizontal();
     if (edit_index >= 0 && edit_index < activity.Count)
     {
         EditorGUILayout.LabelField("Editing " + activity[edit_index].name);
         OnGUI(activity[edit_index]);
     }
     EditorGUILayout.EndVertical();
 }
コード例 #7
0
 private void CopyActivityData(ManifestActivity source, ManifestActivity dest)
 {
     if (source.name != dest.name) { Debug.LogError("Could not copy data!"); return; }
     dest.configChanges = source.configChanges;
     dest.label = source.label;
     dest.Startup = source.Startup;
     dest.meta_data.Clear();
     foreach (ManifestMetaData mmd in source.meta_data)
     {
         ManifestMetaData nmd = new ManifestMetaData();
         nmd.Set(mmd.name, mmd.value, mmd.resource);
         dest.meta_data.Add(nmd);
     }
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: mattybeard/Destiny-Daily-2
        private static void ProcessManifestActivities(SQLiteConnection dbConnection, DestinySqlEntities db)
        {
            var sql     = "SELECT quote(json) FROM DestinyActivityDefinition";
            var command = new SQLiteCommand(sql, dbConnection);
            var reader  = command.ExecuteReader();

            while (reader.Read())
            {
                var jsonStripped = ((string)reader["quote(json)"]).Replace("'{", "{").Replace("}'", "}");
                var item         = JsonConvert.DeserializeObject <ActivityDefinition>(jsonStripped);

                var mappedItem = db.ManifestActivities.FirstOrDefault(c => c.id == item.activityHash);
                if (mappedItem == null)
                {
                    mappedItem = new ManifestActivity()
                    {
                        id       = item.activityHash,
                        desc     = item.activityDescription,
                        icon     = item.icon,
                        name     = item.activityName,
                        pgcricon = item.pgcrImage
                    };
                    db.ManifestActivities.Add(mappedItem);

                    if (item.skulls != null && item.skulls.Any())
                    {
                        foreach (var skull in item.skulls)
                        {
                            var newSkull = new ManifestSkull()
                            {
                                activityhash = item.activityHash,
                                name         = skull.displayName
                            };

                            db.ManifestSkulls.Add(newSkull);
                        }
                    }

                    if (item.rewards != null && item.rewards.Any())
                    {
                        foreach (var rewardList in item.rewards)
                        {
                            foreach (var reward in rewardList.rewardItems)
                            {
                                var newReward = new ManifestReward()
                                {
                                    activityhash = item.activityHash,
                                    rewardHash   = reward.itemHash,
                                    value        = reward.value
                                };

                                db.ManifestRewards.Add(newReward);
                            }
                        }
                    }
                }
                else
                {
                    mappedItem.id       = item.activityHash;
                    mappedItem.desc     = item.activityDescription;
                    mappedItem.icon     = item.icon;
                    mappedItem.name     = item.activityName;
                    mappedItem.pgcricon = item.pgcrImage;
                }
            }
            try { db.SaveChanges(); }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
        }