示例#1
0
        private void ParsePresentation(PresentationData presData)
        {
            BackgroundWorker worker = new BackgroundWorker();

            worker.DoWork               += worker_DoWork;
            worker.RunWorkerCompleted   += worker_RunWorkerCompleted;
            worker.WorkerReportsProgress = true;
            worker.ProgressChanged      += worker_ProgressChanged;

            WorkerArgument workerArgument = new WorkerArgument
            {
                PresentationControl  = presData.PresentationControl,
                PresentationName     = presData.PresentationName,
                PresentationFullPath = presData.PresentationFullPath,
                //PresentationTitle = string.Empty,
                SelectedItem = presData.Category,
                //UrlNews = UrlNews.Text,
                Login = presData.Login
            };

            presData.PresentationControl.PresentationGrid.Opacity   = 0.2;
            presData.PresentationControl.PresentationGrid.IsEnabled = false;

            worker.RunWorkerAsync(workerArgument);
        }
示例#2
0
        public void RecordReactInfo(IFlowSystemCtrl ctrl)
        {
            ///没有反应对象,直接跳过
            if (activeRact == null)
            {
                return;
            }
            //没有输出内容,直接跳过
            if (string.IsNullOrEmpty(activeRact.OutType))
            {
                return;
            }

            //遍历记录输出信息
            for (int i = 0; i < ChildNodes.Count; i++)
            {
                if (ChildNodes[i].Info.enterOnly || functionInNodes.Contains(ChildNodes[i].Info.nodeID))
                {
                    continue;
                }

                if (ChildNodes[i].ConnectedNode != null)
                {
                    IInOutItem inout = ChildNodes[i].ConnectedNode.Body.Trans.GetComponent <IInOutItem>();

                    ctrl.AddActiveItem(inout, ChildNodes[i].ConnectedNode.Info.nodeID, activeRact.OutType);
                }
                else
                {
                    activeRact.InteractOutPutFiled.Invoke();
                    PresentationData data = PresentationData.Allocate("警告", activeRact.outPutFiledinformation, "", () => { });
                    BundleUISystem.UIGroup.Open <PresentationPanel>(data);
                }
            }
        }
示例#3
0
    void LoadInfoToUI(PresentationData currentPresent)
    {
        presentation.gameObject.SetActive(true);//以前不用加这个的,为什么Dotween有这个 问题呢

        textinfo.text = currentPresent.infomation;
        //StartCoroutine(Resize(textinfo));

        titleText.text = currentPresent.title;
    }
示例#4
0
        public IActionResult SavePresentation(PresentationData presentation)
        {
            if (data.SavePresentation(presentation))
            {
                return(Ok());
            }

            return(BadRequest());
        }
示例#5
0
    private void ShowInfo(string[] info)
    {
        PresentationData data = new PresentationData();

        data.title      = info[0];
        data.infomation = info[1];

        BundleUISystem.UIGroup.Open("PresentationPanel", data);
    }
示例#6
0
 private void TryInvoke()
 {
     if(!isPresent && queueData.Count > 0)
     {
         isPresent = true;
         activeData = queueData.Dequeue();
         LoadInfoToUI(activeData);
         SceneMain.Current.InvokeEvents<string>(AppConfig.EventKey.TIP, activeData.tip);
     }
 }
示例#7
0
    /// <summary>
    /// 得到
    /// </summary>
    /// <returns></returns>
    public static PresentationData Allocate(string title, string infomation, string tip, UnityAction onSelect = null)
    {
        PresentationData data = m_Pool.Allocate();

        data.tip        = tip;
        data.infomation = infomation;
        data.title      = title;
        data.onSelect   = onSelect;
        return(data);
    }
        public override PresentationResult OnInspectorGui(PresentationParamater parameter)
        {
            PresentationData presentationData = parameter.PresentationData as PresentationData;

            if (presentationData == null)
            {
                presentationData = new PresentationData();
            }
            LanguageItem languageItem    = parameter.Instance as LanguageItem;
            Type         itemType        = parameter.DataType.GetProperty("Value").PropertyType;
            bool         newLanguageItem = false;

            if (languageItem == null)
            {
                newLanguageItem = true;
                languageItem    =
                    (LanguageItem)Activator.CreateInstance(typeof(InfoLanguageItem <>).MakeGenericType(itemType));
            }
            PresentationSite presentationSite = new PresentationSite
            {
                Base             = languageItem,
                BaseSite         = parameter.PresentationSite,
                BasePresentation = this,
                SiteType         = PresentationSiteType.None
            };
            Change change;
            OverridableLanguageAttribute overridableLanguageAttribute = parameter.DataType.GetCustomAttribute <OverridableLanguageAttribute>();

            if (overridableLanguageAttribute == null)
            {
                PropertyInfo propertyInfo = parameter.PresentationSite.GetFirtTargetedPropertyInfo();
                if (propertyInfo != null)
                {
                    overridableLanguageAttribute = propertyInfo.GetCustomAttribute <OverridableLanguageAttribute>();
                }
            }
            if (overridableLanguageAttribute == null)
            {
                change = ApplyNotOvveriededLanguageItem(parameter, languageItem, itemType, presentationSite, presentationData);
            }
            else
            {
                if (newLanguageItem)
                {
                    ((IInfoLanguageItem)languageItem).UseOverridedValue = true;
                }
                change = ApplyOvveriededLanguageItem(parameter, languageItem, itemType, presentationSite, presentationData);
            }
            return(new PresentationResult
            {
                Change = change,
                PresentationData = presentationData,
                Result = languageItem
            });
        }
示例#9
0
 public void Send()
 {
     if (tipOnly)
     {
         SceneMain.Current.InvokeEvents <string>(AppConfig.EventKey.TIP, text);
     }
     else
     {
         PresentationData data = PresentationData.Allocate(title, text, text);
         BundleUISystem.UIGroup.Open <PresentationPanel>(data);
     }
 }
示例#10
0
        /// <summary>
        /// Update the edited data to the Grid
        /// </summary>
        /// <param name="Object"></param>
        /// <returns></returns>
        public ActionResult Update(CRUDModel Object)
        {
            var ord = Object.Value;
            PresentationData val = PresentationData.presentationData.Where(or => or.Year == ord.Year).FirstOrDefault();

            val.Year = ord.Year;
            val.Jan  = ord.Jan;
            val.Feb  = ord.Feb;
            val.Mar  = ord.Mar;
            val.Apr  = ord.Apr;
            val.May  = ord.May;
            return(Json(Object.Value));
        }
示例#11
0
 /// <summary>
 /// 输入并反应
 /// </summary>
 /// <param name="nodeId"></param>
 /// <param name="type"></param>
 /// <param name="onComplete"></param>
 public void FunctionIn(int nodeId, string type, UnityAction onComplete)
 {
     this.onComplete = onComplete;
     functionInNodes.Add(nodeId);
     activeRact = interact.Find((x) => x.nodeID == nodeId && x.intype == type);
     if (activeRact != null)
     {
         activeRact.Interact.Invoke();
         SceneMain.Current.InvokeEvents(AppConfig.EventKey.TIP, activeRact.Information);
     }
     else
     {
         PresentationData data = PresentationData.Allocate("<color=red>警告</color>", name + "没有配制对应的输入类型" + type, "");
         BundleUISystem.UIGroup.Open <PresentationPanel>(data);
     }
 }
示例#12
0
        public bool RemovePresentation(PresentationData presentation)
        {
            if (presentation == null)
            {
                return(false);
            }

            try {
                db.Presentations.Remove(presentation);
                db.SaveChanges();
                return(true);
            }
            catch (Exception e) {
                Console.Error.WriteLine($"Error while trying to remove presentation {{{presentation}}}. " +
                                        $"\nException: {e}");
                return(false);
            }
        }
    void LoopAction()
    {
        if (currIndex >= stapCount)
        {
            BuildSuccess();
            return;
        }

        if (currStap.needOperate)
        {
            ToNextStap();
            SetActives(true, true, true);
        }
        else
        {
            PresentationData data = PresentationData.Allocate(currStap.name, currStap.infomation, currStap.tipInfo);
            //Facade.Instance.SendNotification<PresentationData>("PresentationData", data);
            UIGroup.Open <PresentationPanel>(data);
            //Laboratory.Current.panelSelect = OnPresentationDataSelected;
            SetActives(true, false, true);
        }
    }
示例#14
0
        public bool AddPresentation(PresentationData presentation)
        {
            if (presentation.Name == "" || presentation.OwnerName == "" ||
                presentation.Name == null || presentation.OwnerName == null)
            {
                return(false);
            }

            if (db.Presentations.Find(presentation.Name, presentation.OwnerName) != null)
            {
                return(false);
            }

            try {
                db.Presentations.Add(presentation);
                db.SaveChanges();
                return(true);
            }
            catch (Exception e) {
                Console.Error.WriteLine($"Error while trying to create presentation {{{presentation}}}. " +
                                        $"\nException: {e}");
                return(false);
            }
        }
    public void Send(string info)
    {
        PresentationData data = PresentationData.Allocate(title, info, info);

        BundleUISystem.UIGroup.Open <PresentationPanel>(data);
    }
 public string StartPresentation(PresentationData presentationData)
 {
     return(StartPresentation(new Presentation(presentationData)));
 }
示例#17
0
    public void SendWaringInformation(string info)
    {
        PresentationData data = PresentationData.Allocate("提示", info, "");

        UIGroup.Open <PresentationPanel>(data);
    }
        private static Change ApplyNotOvveriededLanguageItem(PresentationParamater parameter, LanguageItem languageItem,
                                                             Type itemType, PresentationSite presentationSite, PresentationData presentationData)
        {
            GUIStyle           guiStyle           = new GUIStyle();
            Change             change             = new Change();
            List <Change>      changes            = new List <Change>();
            LanguageEditorInfo languageEditorInfo = EditorInfoResolver.Resolve <LanguageEditorInfo>();

            LanguageInfo[] languageInfos = languageEditorInfo.Languages.Where(info => info != null).ToArray();
            if (languageInfos.Length == 1)
            {
                ApplyLanguagePrenetation(parameter, languageInfos[0], languageItem, itemType, presentationSite, presentationData,
                                         changes, parameter.Title);
                Change last = changes.Last();
                if (last.IsAnyDataChanged())
                {
                    for (int i = 0; i < InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages.Length; i++)
                    {
                        if (InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages[i].Id == languageInfos[0].Id)
                        {
                            InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages[i] = languageInfos[0];
                        }
                    }
                    if (InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage != null &&
                        InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage.Id == languageInfos[0].Id)
                    {
                        InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage = languageInfos[0];
                    }
                    languageEditorInfo.Save();
                    InfoResolver.Resolve <FortInfo>().Save();
                }
            }
            else
            {
                bool oldFoldout = presentationData.IsFoldout;
                presentationData.IsFoldout   = EditorGUILayout.Foldout(presentationData.IsFoldout, parameter.Title);
                change.IsPresentationChanged = oldFoldout != presentationData.IsFoldout;
                if (presentationData.IsFoldout)
                {
                    EditorGUILayout.BeginHorizontal(guiStyle);
                    GUILayout.Space(FortInspector.ItemSpacing);
                    EditorGUILayout.BeginVertical(guiStyle);
                    foreach (LanguageInfo languageInfo in languageInfos)
                    {
                        ApplyLanguagePrenetation(parameter, languageInfo, languageItem, itemType, presentationSite,
                                                 presentationData, changes, languageInfo.Name);
                        Change last = changes.Last();
                        if (last.IsAnyDataChanged())
                        {
                            for (int i = 0; i < InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages.Length; i++)
                            {
                                if (InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages[i].Id == languageInfo.Id)
                                {
                                    InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages[i] = languageInfo;
                                }
                            }
                            if (InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage != null &&
                                InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage.Id == languageInfo.Id)
                            {
                                InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage = languageInfo;
                            }
                        }
                    }
                    if (changes.Any(change1 => change1.IsAnyDataChanged()))
                    {
                        languageEditorInfo.Save();
                        InfoResolver.Resolve <FortInfo>().Save();
                    }
                    EditorGUILayout.EndVertical();
                    EditorGUILayout.EndHorizontal();
                }
            }
            change.ChildrenChange = changes.ToArray();
            return(change);
        }
        private static void ApplyLanguagePrenetation(PresentationParamater parameter, LanguageInfo languageInfo, LanguageItem languageItem, Type itemType, PresentationSite presentationSite, PresentationData presentationData, List <Change> changes, string title)
        {
            object data = null;

            if (languageInfo.LanguageDatas.ContainsKey(languageItem.Id))
            {
                data = languageInfo.LanguageDatas[languageItem.Id];
            }

            Presentation presentation =
                parameter.FortInspector.GetResolver()
                .Resolve(new PresentationResolverParameter(itemType, data, presentationSite));
            object languagePresentationData = null;

            if (presentationData.LanguagePresentationData.ContainsKey(languageInfo.Id))
            {
                languagePresentationData = presentationData.LanguagePresentationData[languageInfo.Id];
            }
            PresentationResult presentationResult =
                presentation.OnInspectorGui(new PresentationParamater(data, languagePresentationData,
                                                                      title, itemType, presentationSite, parameter.FortInspector));

            changes.Add(presentationResult.Change);
            languageInfo.LanguageDatas[languageItem.Id] = presentationResult.Result;
            presentationData.LanguagePresentationData[languageInfo.Id] = presentationResult.PresentationData;
        }
 protected void AssertSessionPresentation(PresentationData presentation, string colour)
 {
     Assert.That(presentation, Is.Not.Null);
     Assert.That(presentation.colour, Is.EqualTo(colour));
 }
        private static Change ApplyOvveriededLanguageItem(PresentationParamater parameter, LanguageItem languageItem,
                                                          Type itemType, PresentationSite presentationSite, PresentationData presentationData)
        {
            GUIStyle           guiStyle           = new GUIStyle();
            Change             change             = new Change();
            List <Change>      changes            = new List <Change>();
            LanguageEditorInfo languageEditorInfo = EditorInfoResolver.Resolve <LanguageEditorInfo>();

            LanguageInfo[]    languageInfos    = languageEditorInfo.Languages.Where(info => info != null).ToArray();
            IInfoLanguageItem infoLanguageItem = (IInfoLanguageItem)languageItem;

            if (languageInfos.Length == 1)
            {
                if (!infoLanguageItem.UseOverridedValue)
                {
                    change.IsDataChanged = true;
                    //Remove Item From Languages
                    foreach (LanguageInfo languageInfo in languageEditorInfo.Languages)
                    {
                        if (languageInfo.LanguageDatas.ContainsKey(languageItem.Id))
                        {
                            languageInfo.LanguageDatas.Remove(languageItem.Id);
                        }
                    }
                }
                infoLanguageItem.UseOverridedValue = true;

                Presentation presentation =
                    parameter.FortInspector.GetResolver()
                    .Resolve(new PresentationResolverParameter(itemType, infoLanguageItem.GetOvverideValue(), presentationSite));
                PresentationResult presentationResult =
                    presentation.OnInspectorGui(new PresentationParamater(infoLanguageItem.GetOvverideValue(),
                                                                          presentationData.OvverideItemPresentationData, parameter.Title, itemType, presentationSite,
                                                                          parameter.FortInspector));
                infoLanguageItem.SetOvverideValue(presentationResult.Result);
                presentationData.OvverideItemPresentationData = presentationResult.PresentationData;
                change.ChildrenChange = new[] { presentationResult.Change };
                languageEditorInfo.SyncFortAndSave(false);
            }
            else
            {
                bool oldFoldout = presentationData.IsFoldout;
                presentationData.IsFoldout   = EditorGUILayout.Foldout(presentationData.IsFoldout, parameter.Title);
                change.IsPresentationChanged = oldFoldout != presentationData.IsFoldout;
                if (presentationData.IsFoldout)
                {
                    EditorGUILayout.BeginHorizontal(guiStyle);
                    GUILayout.Space(FortInspector.ItemSpacing);
                    EditorGUILayout.BeginVertical(guiStyle);
                    bool oldUseOverridedValue = infoLanguageItem.UseOverridedValue;
                    infoLanguageItem.UseOverridedValue = EditorGUILayout.Toggle("Ovveride", infoLanguageItem.UseOverridedValue);
                    change.IsDataChanged |= oldUseOverridedValue != infoLanguageItem.UseOverridedValue;
                    if (infoLanguageItem.UseOverridedValue)
                    {
                        Presentation presentation =
                            parameter.FortInspector.GetResolver()
                            .Resolve(new PresentationResolverParameter(itemType, infoLanguageItem.GetOvverideValue(), presentationSite));
                        PresentationResult presentationResult =
                            presentation.OnInspectorGui(new PresentationParamater(infoLanguageItem.GetOvverideValue(),
                                                                                  presentationData.OvverideItemPresentationData, parameter.Title, itemType, presentationSite,
                                                                                  parameter.FortInspector));
                        infoLanguageItem.SetOvverideValue(presentationResult.Result);
                        presentationData.OvverideItemPresentationData = presentationResult.PresentationData;
                        change.ChildrenChange = new[] { presentationResult.Change };
                        languageEditorInfo.SyncFortAndSave(false);
                    }
                    else
                    {
                        infoLanguageItem.SetOvverideValue(itemType.GetDefault());
                        foreach (LanguageInfo languageInfo in languageInfos)
                        {
                            ApplyLanguagePrenetation(parameter, languageInfo, languageItem, itemType, presentationSite,
                                                     presentationData, changes, languageInfo.Name);
                            Change last = changes.Last();
                            if (last.IsAnyDataChanged())
                            {
                                for (int i = 0; i < InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages.Length; i++)
                                {
                                    if (InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages[i].Id == languageInfo.Id)
                                    {
                                        InfoResolver.Resolve <FortInfo>().Language.ActiveLanguages[i] = languageInfo;
                                    }
                                }
                                if (InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage != null &&
                                    InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage.Id == languageInfo.Id)
                                {
                                    InfoResolver.Resolve <FortInfo>().Language.DefaultLanguage = languageInfo;
                                }
                            }
                        }
                        if (changes.Any(change1 => change1.IsAnyDataChanged()))
                        {
                            languageEditorInfo.Save();
                            InfoResolver.Resolve <FortInfo>().Save();
                        }
                    }
                    EditorGUILayout.EndVertical();
                    EditorGUILayout.EndHorizontal();
                }
                change.ChildrenChange = changes.ToArray();
            }

            return(change);
        }
 public PresentationFundamentals(PresentationData data)
 {
     Name      = data.Name;
     OwnerName = data.OwnerName;
     Title     = data.Title;
 }