コード例 #1
0
ファイル: PortraitGrid.cs プロジェクト: LiruJ/GuiCookie
        public override void OnFullSetup()
        {
            grid         = GetChildByName("Grid").GetComponent <GridLayout>();
            xSpaceSlider = GetChildByName <LabelledSlider>("XSpaceSlider");
            ySpaceSlider = GetChildByName <LabelledSlider>("YSpaceSlider");


            Template cellTemplate = Root.TemplateManager.GetTemplateFromName("ImageLabel");

            int x = 0, y = 0;

            for (int portraitIndex = 0; portraitIndex < portraitCount; portraitIndex++)
            {
                ImageBlock portraitImage = Root.ElementManager.CreateElementFromTemplate(cellTemplate, null, grid.Element).GetComponent <ImageBlock>();
                portraitImage.ClippingMode = GuiCookie.DataStructures.ClippingMode.Stretch;

                Rectangle source = new Rectangle(x * portraitDimension, y * portraitDimension, portraitDimension, portraitDimension);

                portraitImage.Image = new Image(portraitSheet, source);

                if ((x + 1) * portraitDimension >= portraitSheet.Width)
                {
                    x = 0;
                    y++;
                }
                else
                {
                    x++;
                }
            }
        }
コード例 #2
0
        public MuscleSettingsManager(Muscle muscle, AdvancedBodyControlsViewController viewController) : base()
        {
            this.muscle         = muscle;
            this.viewController = viewController;

            viewController.Reset();
            viewController.SetTitle("Muscle Settings");
            strengthSlider = viewController.AddSlider("Strength");
            strengthSlider.onValueChanged += delegate(float value) {
                var oldData  = muscle.MuscleData;
                var strength = SliderToStrength(value);
                if (strength != oldData.strength)
                {
                    DataWillChange();
                }
                var data = new MuscleData(
                    oldData.id, oldData.startBoneID, oldData.endBoneID,
                    strength, oldData.canExpand
                    );

                muscle.MuscleData = data;
                Refresh();
            };

            canExpandToggle = viewController.AddToggle("Can Expand");
            canExpandToggle.onValueChanged += delegate(bool canExpand) {
                var oldData = muscle.MuscleData;
                if (canExpand != oldData.canExpand)
                {
                    DataWillChange();
                }
                var data = new MuscleData(
                    oldData.id, oldData.startBoneID, oldData.endBoneID,
                    oldData.strength, canExpand
                    );

                muscle.MuscleData = data;
                Refresh();
            };

            Refresh();
        }
コード例 #3
0
        public JointSettingsManager(Joint joint, AdvancedBodyControlsViewController viewController) : base()
        {
            this.joint          = joint;
            this.viewController = viewController;

            viewController.Reset();
            viewController.SetTitle("Joint Settings");
            weightSlider = viewController.AddSlider("Weight");
            weightSlider.onValueChanged += delegate(float value) {
                var oldData = joint.JointData;
                var weight  = SliderToWeight(value);
                if (weight != oldData.weight)
                {
                    DataWillChange();
                }
                var data = new JointData(oldData.id, oldData.position, weight);
                joint.JointData = data;
                Refresh();
            };
            Refresh();
        }
コード例 #4
0
        public BoneSettingsManager(Bone bone, AdvancedBodyControlsViewController viewController) : base()
        {
            this.bone           = bone;
            this.viewController = viewController;

            viewController.Reset();
            viewController.SetTitle("Bone Settings");
            weightSlider = viewController.AddSlider("Weight");
            weightSlider.onValueChanged += delegate(float value) {
                var oldData = bone.BoneData;
                var weight  = SliderToWeight(value);
                if (weight != oldData.weight)
                {
                    DataWillChange();
                }
                var data = new BoneData(
                    oldData.id, oldData.startJointID, oldData.endJointID,
                    weight
                    );
                bone.BoneData = data;
                Refresh();
            };
            Refresh();
        }
        public SliderQuantityQuestionInputView(SliderQuantityQuestion question, SurveyPageAppearance appearance)
            : base(appearance)
        {
            _question = question;

            var vStack = new StackLayout {
                Orientation = StackOrientation.Vertical,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.Fill
            };

            var valueStack = new StackLayout {
                Orientation = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.Fill,
                IsVisible = false
            };

            if (question.IsValueVisible) {
                _valueLabel = BuildValueLabel (question);
                valueStack.Children.Add (_valueLabel);
                valueStack.IsVisible = true;
                UpdateValueLabel ();
            }

            if (question.HasUnitOptions) {
                _picker = BuildUnitPicker (question);
                valueStack.Children.Add (_picker);
                valueStack.IsVisible = true;
            }

            var sliderStack = new StackLayout {
                Orientation = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.Fill
            };

            _labelledSlider = new LabelledSlider {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.Center
            };

            if (question.Labels != null && question.Labels.Any ()) {
                _labelledSlider.Labels.Items = question.Labels;
            } else {
                _labelledSlider.Labels.IsVisible = false;
            }

            sliderStack.Children.Add (_labelledSlider);

            vStack.Children.Add (valueStack);
            vStack.Children.Add (sliderStack);

            UpdateUI ();

            // set event handlers AFTER populating
            _question.PropertyChanged += Question_PropertyChanged;
            _labelledSlider.Slider.PropertyChanged += Slider_PropertyChanged;

            if (_picker != null) {
                _picker.PropertyChanged += Picker_PropertyChanged;
            }

            HeightRequest = -1;
            Content = vStack;
        }
コード例 #6
0
ファイル: ListPane.cs プロジェクト: LiruJ/GuiCookie
 public override void OnFullSetup()
 {
     list          = GetChildByName("List").GetComponent <DirectionalLayout>();
     spaceSlider   = GetChildByName <LabelledSlider>("SpaceSlider");
     addItemButton = GetChildByName <Button>("AddItemButton");
 }