示例#1
0
        private void AppendHeader(CreateViewModelRequest <KanonasRule> req)
        {
            TextHolder header = GetHeaders(req)[0];

            req.AppendModelAction(new OutputSectionModelCollection()
            {
                OutputSectionFactory.Create(header, req.Handler.Settings.TypiconVersionId, Serializer)
            });
        }
        private void AppendHeader(CreateViewModelRequest <KanonasRule> req)
        {
            TextHolder header = GetHeaders(req)[0];

            req.AppendModelAction(new ElementViewModel()
            {
                ViewModelItemFactory.Create(header, req.Handler, Serializer)
            });
        }
示例#3
0
        protected virtual void ConstructWithCommonRule(CreateViewModelRequest <YmnosStructureRule> req, string key)
        {
            var children = Serializer.GetCommonRuleChildren(req.Handler.Settings.TypiconVersionId, key);

            //List<RuleElement> children = req.Handler.Settings.TypiconRule.Owner.GetChildren(
            //    new CommonRuleServiceRequest() { Key = key, RuleSerializer = Serializer }).ToList();

            if (req.Element.Structure.Groups.Count > 0)
            {
                //заполняем header - вставляем номер гласа
                ItemText header = (children[0] as TextHolder).Paragraphs[0];

                header.ReplaceForEach("[ihos]", req.Element.Structure.Groups[0].Ihos);
                //string headerText = header.StringExpression;
                //header.StringExpression = headerText.Replace("[ihos]",
                //    req.Handler.Settings.Language.IntConverter.ToString(req.Element.Structure.Groups[0].Ihos));

                //а теперь отсчитываем от последней стихиры и добавляем к ней стих из псалма
                //сам стих удаляем из псалма

                TextHolder psalm = new TextHolder(children[2] as TextHolder);

                for (int i = req.Element.Structure.Groups.Count - 1; i >= 0; i--)
                {
                    YmnosGroup group = req.Element.Structure.Groups[i];

                    for (int n = group.Ymnis.Count - 1; n >= 0; n--)
                    {
                        Ymnos ymnos = group.Ymnis[n];

                        ItemTextNoted stihos = psalm.Paragraphs.Last();

                        ymnos.Stihoi.Add(stihos);

                        psalm.Paragraphs.Remove(stihos);
                    }
                }
            }

            //теперь вставляем шапку
            AppendItem(children[0] as TextHolder);
            AppendItem(children[1] as TextHolder);

            //вставляем псалмы
            if ((req.Element as KekragariaRule).ShowPsalm)
            {
                AppendItem(children[2] as TextHolder);
            }

            void AppendItem(TextHolder textHolder)
            {
                req.AppendModelAction(new OutputSectionModelCollection()
                {
                    OutputSectionFactory.Create(textHolder, req.Handler.Settings.TypiconVersionId, Serializer)
                });
            }
        }
示例#4
0
        /// <summary>
        /// Добавляет "Хвалим, благословим..."
        /// </summary>
        private void AppendStihosOdi8(CreateViewModelRequest <KanonasRule> req)
        {
            TextHolder odi8TextHolder = GetHeaders(req)[5];
            var        viewModel      = OutputSectionFactory.Create(odi8TextHolder, req.Handler.Settings.TypiconVersionId, Serializer);

            req.AppendModelAction(new OutputSectionModelCollection()
            {
                viewModel
            });
        }
        /// <summary>
        /// Добавляет "Хвалим, благословим..."
        /// </summary>
        private void AppendStihosOdi8(CreateViewModelRequest <KanonasRule> req)
        {
            TextHolder odi8TextHolder = GetHeaders(req)[5];
            var        viewModel      = ViewModelItemFactory.Create(odi8TextHolder, req.Handler, Serializer);

            req.AppendModelAction(new ElementViewModel()
            {
                viewModel
            });
        }
    public void Init()
    {
        m_gScoreScreen = Instantiate(Resources.Load(SCREEN_PREFAB)) as GameObject;
        m_gScoreScreen.transform.SetParent(Game.game.canvas.transform, false);

        //Get Text Components
        m_cTextHolder = m_gScoreScreen.GetComponent <TextHolder>();

        Reset();
    }
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        TextHolder textHolder = (TextHolder)target;

        if (textHolder.showTitle)
        {
            textHolder.titleTextMesh = (TextMeshProUGUI)EditorGUILayout.ObjectField(textHolder.titleTextMesh, typeof(TextMeshProUGUI), true);
        }
    }
        public static OutputSectionModel Create(TextHolder textHolder, int typiconVersionId, IRuleSerializerRoot serializer)
        {
            var kind = Cast(textHolder.Kind);

            return(new OutputSectionModel()
            {
                Kind = kind,
                KindText = GetKindItemTextValue(kind, typiconVersionId, serializer),
                Paragraphs = textHolder.Paragraphs.Clone()
            });
        }
示例#9
0
        public static ViewModelItem Create(TextHolder textHolder, IRuleHandler handler, IRuleSerializerRoot serializer)
        {
            var kind = Cast(textHolder.Kind);

            return(new ViewModelItem()
            {
                Kind = kind,
                KindStringValue = GetKindStringValue(kind, handler, serializer),
                Paragraphs = ParagraphVMFactory.CreateList(textHolder.Paragraphs, handler.Settings.Language.Name)
            });
        }
示例#10
0
        private void AppenOdiHeader(CreateViewModelRequest <KanonasRule> req, int i)
        {
            TextHolder odiTextHolder = GetHeaders(req)[1];

            var viewModel = OutputSectionFactory.Create(odiTextHolder, req.Handler.Settings.TypiconVersionId, Serializer);

            viewModel.Paragraphs[0].ReplaceForEach("[odinumber]", i);

            req.AppendModelAction(new OutputSectionModelCollection()
            {
                viewModel
            });
        }
        private void AppendHeader(CreateViewModelRequest <PsalmRule> req)
        {
            TextHolder header = Serializer.GetCommonRuleFirstChild <TextHolder>(req.Handler.Settings.TypiconVersionId, CommonRuleConstants.Psalm);

            var viewHeader = OutputSectionFactory.Create(header, req.Handler.Settings.TypiconVersionId, Serializer);

            //вставляем номер Псалма
            viewHeader.Paragraphs[0].ReplaceForEach(NUMBER, req.Element.Number);

            req.AppendModelAction(new OutputSectionModelCollection()
            {
                viewHeader
            });
        }
示例#12
0
 private void Start()
 {
     movement  = GetComponent <Movement>();
     text      = new TextHolder();
     text.text = new string[1];
     text.name = item.name;
     article   = "a ";
     if ("aeiouAEIOU".IndexOf(text.name[0]) >= 0)
     {
         article = "an ";
     }
     text.text[0] = "You obtained " + article + text.name;
     text.sprite  = gameObject.GetComponent <SpriteRenderer>().sprite;
 }
示例#13
0
 public void StartDialogue(TextHolder text)
 {
     textSpeed        = FindObjectOfType <Options>().textSpeed;
     player.isTalking = true;
     dialogue.Clear();
     dialogueCanvas.enabled = true;
     nameText.text          = text.name;
     avatar.sprite          = text.sprite;
     foreach (string sentence in text.text)
     {
         dialogue.Enqueue(sentence);
     }
     NextDialogue();
 }
    private void Awake()
    {
        if (instance != null)
        {
            Destroy(gameObject);
            return;
        }
        else
        {
            instance = this;
        }

        DontDestroyOnLoad(gameObject);
    }
        private void AppenOdiHeader(CreateViewModelRequest <KanonasRule> req, int i)
        {
            TextHolder odiTextHolder = GetHeaders(req)[1];

            var viewModel = ViewModelItemFactory.Create(odiTextHolder, req.Handler, Serializer);

            viewModel.Paragraphs[0].
            Replace("[odinumber]", req.Handler.Settings.Language.IntConverter.ToString(i));

            req.AppendModelAction(new ElementViewModel()
            {
                viewModel
            });
        }
示例#16
0
        protected virtual void InnerAppendCustomForm(CreateViewModelRequest <YmnosStructureRule> req, string key)
        {
            TextHolder header = req.Handler.Settings.Rule.Owner.GetCommonRuleChildren(
                new CommonRuleServiceRequest()
            {
                Key = key, RuleSerializer = Serializer
            })
                                .FirstOrDefault() as TextHolder;

            req.AppendModelAction(new ElementViewModel()
            {
                ViewModelItemFactory.Create(header, req.Handler, Serializer)
            });
        }
        private void AppendKanonasHeader(CreateViewModelRequest <KanonasRule> req, Kanonas kanonas)
        {
            int hash = kanonas.GetHashCode();

            ViewModelItem view = null;

            if (!kanonasHeaders.ContainsKey(hash))
            {
                TextHolder holder = null;
                string     name   = "";
                if (kanonas.Name != null)
                {
                    holder = GetHeaders(req)[2];
                    name   = kanonas.Name[req.Handler.Settings.Language.Name];
                }
                else
                {
                    holder = GetHeaders(req)[3];
                }

                var kanonasP = ParagraphVMFactory.Create(holder.Paragraphs[0], req.Handler.Settings.Language.Name);
                kanonasP.Replace("[kanonas]", name);
                kanonasP.Replace("[ihos]", req.Handler.Settings.Language.IntConverter.ToString(kanonas.Ihos));

                view = ViewModelItemFactory.Create(TextHolderKind.Text, new List <ParagraphViewModel>()
                {
                    kanonasP
                });


                //string kanonasString = holder.Paragraphs[0][req.Handler.Settings.Language.Name];
                //kanonasString = kanonasString.Replace("[kanonas]", name).
                //                              Replace("[ihos]", req.Handler.Settings.Language.IntConverter.ToString(kanonas.Ihos));
                //view = ViewModelItemFactory.Create(TextHolderKind.Text, new List<string> { kanonasString });

                kanonasHeaders.Add(hash, view);
            }
            else
            {
                view = kanonasHeaders[hash];
            }

            req.AppendModelAction(new ElementViewModel()
            {
                view
            });
        }
示例#18
0
        private void AppendKanonasHeader(CreateViewModelRequest <KanonasRule> req, Kanonas kanonas)
        {
            int hash = kanonas.GetHashCode();

            OutputSectionModel view = null;

            if (!kanonasHeaders.ContainsKey(hash))
            {
                TextHolder holder = null;
                ItemText   name   = null;
                if (kanonas.Name != null)
                {
                    holder = GetHeaders(req)[2];
                    name   = kanonas.Name;
                }
                else
                {
                    holder = GetHeaders(req)[3];
                }

                var kanonasP = new ItemTextNoted(holder.Paragraphs[0]);
                kanonasP.ReplaceForEach("[kanonas]", name);
                kanonasP.ReplaceForEach("[ihos]", kanonas.Ihos);

                view = OutputSectionFactory.Create(TextHolderKind.Text, new List <ItemTextNoted>()
                {
                    kanonasP
                });


                //string kanonasString = holder.Paragraphs[0][req.Handler.Settings.Language.Name];
                //kanonasString = kanonasString.Replace("[kanonas]", name).
                //                              Replace("[ihos]", req.Handler.Settings.Language.IntConverter.ToString(kanonas.Ihos));
                //view = ViewModelItemFactory.Create(TextHolderKind.Text, new List<string> { kanonasString });

                kanonasHeaders.Add(hash, view);
            }
            else
            {
                view = kanonasHeaders[hash];
            }

            req.AppendModelAction(new OutputSectionModelCollection()
            {
                view
            });
        }
示例#19
0
        private void AppendHeader(CreateViewModelRequest <PsalmRule> req)
        {
            TextHolder header = req.Handler.Settings.Rule.Owner.GetCommonRuleChildren(
                new CommonRuleServiceRequest()
            {
                Key = CommonRuleConstants.Psalm, RuleSerializer = Serializer
            })
                                .FirstOrDefault() as TextHolder;

            var viewHeader = ViewModelItemFactory.Create(header, req.Handler, Serializer);

            //вставляем номер Псалма
            viewHeader.Paragraphs[0].Replace(NUMBER, req.Handler.Settings.Language.IntConverter.ToString(req.Element.Number));

            req.AppendModelAction(new ElementViewModel()
            {
                viewHeader
            });
        }
示例#20
0
        public TextHolderViewModel(TextHolder textHolder, IRuleHandler handler)
        {
            if (textHolder == null || textHolder.Serializer == null)
            {
                throw new ArgumentNullException("textHolder");
            }
            if (handler == null)
            {
                throw new ArgumentNullException("handler");
            }

            Serializer = textHolder.Serializer;

            //textHolder.ThrowExceptionIfInvalid();

            Kind            = textHolder.Kind;
            KindStringValue = GetKindStringValue(textHolder.Kind, handler);

            Paragraphs = textHolder.Paragraphs.Select(c => c[handler.Settings.Language]);
        }
示例#21
0
        public void DynamicExpressionParser_ParseLambda_With_Concat_CustomType_String()
        {
            // Arrange
            string name           = "name1";
            string note           = "note1";
            var    textHolder     = new TextHolder(name, note);
            string expressionText = "Note + \" (\" + Name + \")\"";

            // Act 1
            var lambda       = DynamicExpressionParser.ParseLambda(typeof(TextHolder), null, expressionText, textHolder);
            var stringLambda = lambda as Expression <Func <TextHolder, string> >;

            // Assert 1
            Assert.NotNull(stringLambda);

            // Act 2
            var    del    = lambda.Compile();
            string result = (string)del.DynamicInvoke(textHolder);

            // Assert 2
            Assert.Equal("note1 (name1)", result);
        }
 public TextHelperForm()
 {
     InitializeComponent();
     TextHolder.Focus();
 }
 public FirstTaskFileExecutor(TextHolder textHolder) : base(textHolder)
 {
 }
示例#24
0
 public override bool Match(TextHolder holder, T context)
 {
     return(_category == holder.Category && MatchCollection(holder.Children != null, IsCollection) && Match(holder.Name, Names) && Match(context.Path, Hierarchies));
 }
示例#25
0
 protected AbstractFileExecutor(TextHolder textHolder)
 {
     this.cstTextHolder = textHolder;
     this.cstFile       = new CustomFileHandler(cstTextHolder);
 }
示例#26
0
        public override void GetView(int position, ViewHolder holder, Graphics g)
        {
            Message obj = GetItem(position);

            holder.UserData = obj;
            Rectangle rec  = Rectangle.Empty;
            Contact   user = null;

            if (obj.IsSend)
            {
                user = obj.Mime;
            }
            else
            {
                user = obj.Remote;
            }
            if (user != null && user.HeadImage != null)
            {
                defaultImage = user.HeadImage;
            }
            if (obj.IsSend)
            {
                rec = new Rectangle(holder.bounds.Width - 65, holder.bounds.Y + 10, 40, 40);
            }
            else
            {
                rec = new Rectangle(20, holder.bounds.Y + 10, 40, 40);
            }
            g.InterpolationMode  = InterpolationMode.HighQualityBicubic;
            g.SmoothingMode      = SmoothingMode.HighQuality;
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.DrawImage(defaultImage, rec, new Rectangle(0, 0, defaultImage.Width, defaultImage.Height), GraphicsUnit.Pixel);
            switch (obj.MsgType)
            {
            case 1:
                TextHolder.DrawItem(obj, holder, g);
                break;

            case 34:
                VoiceHolder.DrawItem(obj, holder, g, owner);
                //TextHolder.DrawItem("【语音消息】MsgType=" + obj.MsgType, holder, g);
                break;

            case 3:
                ImageHolder.DrawItem(obj, holder, g);
                //TextHolder.DrawItem("【图片消息】MsgType=" + obj.MsgType, holder, g);
                break;

            case 47:
                ClownHolder.DrawItem(obj, holder, g);
                //TextHolder.DrawItem("【动画表情】MsgType=" + obj.MsgType, holder, g, obj.IsSend);
                break;

            case 49:
                TextHolder.DrawItem("【红包消息/文件消息/分享连接】MsgType=" + obj.MsgType, holder, g);
                break;

            case 42:
                TextHolder.DrawItem("【名片消息】MsgType=" + obj.MsgType, holder, g);
                break;

            case 43:
                TextHolder.DrawItem("【小视频消息】MsgType=" + obj.MsgType, holder, g);
                break;

            case 37:
                TextHolder.DrawItem("【添加好友 通知】MsgType=" + obj.MsgType, holder, g);
                break;

            case 8558:
                TextHolder.DrawItem("【位置信息】MsgType=" + obj.MsgType, holder, g);
                break;

            case 9000:
                TextHolder.DrawItem("【文件消息】MsgType=" + obj.MsgType, holder, g);
                break;

            case 10000:
                TextHolder.DrawItem("【系统消息】MsgType=" + obj.MsgType, holder, g);
                break;

            default:
                TextHolder.DrawItem("【未知消息类型】MsgType=" + obj.MsgType, holder, g);
                break;
            }
        }
示例#27
0
 private void Awake()
 {
     moveObject   = GetComponent(typeof(MoveObject)) as MoveObject;
     textHolder   = GetComponent(typeof(TextHolder)) as TextHolder;
     currentColor = Color.white;
 }
 public ThirdTaskFileExecutor(TextHolder textHolder) : base(textHolder)
 {
 }
        /// <summary>
        /// Возвращает строку из системного правила, где определен только один элемент ItemText
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static ItemText GetCommonRuleItemTextValue(this TypiconEntity typicon, CommonRuleServiceRequest request)
        {
            TextHolder textHolder = (TextHolder)GetCommonRuleChildren(typicon, request).FirstOrDefault();

            return((textHolder?.Paragraphs.Count > 0) ? textHolder.Paragraphs[0] : new ItemText());
        }
示例#30
0
        /// <summary>
        /// Возвращает строку из системного правила, где определен только один элемент ItemText
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ItemText GetItemTextValue(CommonRuleServiceRequest request)
        {
            TextHolder textHolder = (TextHolder)GetCommonRuleChildren(request).FirstOrDefault();

            return((textHolder?.Paragraphs.Count > 0) ? textHolder.Paragraphs[0] : new ItemText());
        }