示例#1
0
        public void Bind(CompopulateWindow window, List <Field> items, int index)
        {
            this.window     = window;
            field           = items[index];
            itemNumber.text = index.ToString();
            string flags = "";

            for (int i = 0; i < field.flags.Count; i++)
            {
                flags += field.flags[i];
            }

            icon1.image = GetImageFromCheck(field.preCheck);

            text.text = $"{field.script.gameObject.scene.name}:{objectName}:{scriptType}.{fieldName}({fieldType})({flags}) = {field.preCheck}";

            if (field.processed)
            {
                Field.Check postCheck = field.GetCheck(field.value, field.after);
                icon2.image         = GetImageFromCheck(postCheck);
                icon1.style.opacity = 0.4f;
                text.style.opacity  = this.postCheckLabel.style.opacity = 0.6f;
                if (postCheck != field.preCheck)
                {
                    postCheckLabel.text = $" -> {postCheck}";
                }
                else
                {
                    postCheckLabel.text = " (no change)";
                }
            }

            RegisterCallback <MouseDownEvent>(MouseDown, TrickleDown.TrickleDown);
        }
示例#2
0
        private Texture GetImageFromCheck(Field.Check p)
        {
            Texture image = Icons.blank;

            switch (p)
            {
            case Field.Check.ConflictingNull:
                image = Icons.conflictNull;
                break;

            case Field.Check.ConflictingValue:
                image = Icons.conflictVal;
                break;

            case Field.Check.ConfirmedValue:
                image = Icons.check;
                break;

            case Field.Check.ConfirmedNull:
                if (!field.allowNull)
                {
                    image = Icons.emptyWarn;
                }
                else
                {
                    image = Icons.empty;
                }
                break;

            case Field.Check.AvailableValue:
                image = Icons.pencil;
                break;
            }
            return(image);
        }