public override void GetValueFromField()
        {
            XHolder.get();
            YHolder.get();
            ZHolder.get();
            WHolder.get();

            BadRabbit.Carrot.Value.ChangeFromForm = true;

            if (FormType == ValueFormType.Value)
                foreach (Vector4Value val in ReferenceValues)
                {
                    if (!XHolder.NoValue)
                        val.setX(XHolder.Value);
                    if (!YHolder.NoValue)
                        val.setY(YHolder.Value);
                    if (!ZHolder.NoValue)
                        val.setZ(ZHolder.Value);
                    if (!WHolder.NoValue)
                        val.setW(WHolder.Value);
                }
            else
                foreach (Vector4Parameter val in ReferenceParameters)
                {
                    if (!XHolder.NoValue)
                        val.setX(XHolder.Value);
                    if (!YHolder.NoValue)
                        val.setY(YHolder.Value);
                    if (!ZHolder.NoValue)
                        val.setZ(ZHolder.Value);
                    if (!WHolder.NoValue)
                        val.setW(WHolder.Value);
                }
            BadRabbit.Carrot.Value.ChangeFromForm = false;

            base.GetValueFromField();
        }
예제 #2
0
        public override void GetValueFromField()
        {
            BadRabbit.Carrot.Value.ChangeFromForm = true;

            if (FormType == ValueFormType.Value)
            {
                if (editType == EditType.Basic)
                {
                    XHolder.get();
                    YHolder.get();
                    ZHolder.get();

                    foreach (Vector3Value val in ReferenceValues)
                    {
                        if (!XHolder.NoValue)
                        {
                            val.setX(XHolder.Value);
                        }
                        if (!YHolder.NoValue)
                        {
                            val.setY(YHolder.Value);
                        }
                        if (!ZHolder.NoValue)
                        {
                            val.setZ(ZHolder.Value);
                        }
                    }
                }

                if (editType == EditType.Scalar)
                {
                    XHolder.get();
                    YHolder.get();
                    ZHolder.get();

                    Vector3 NewValue = new Vector3(XHolder.Value, YHolder.Value, ZHolder.Value);

                    foreach (Vector3Value val in ReferenceValues)
                    {
                        if (NewValue.X != 0)
                        {
                            val.multX(NewValue.X / OldValue.X);
                        }
                        if (NewValue.Y != 0)
                        {
                            val.multY(NewValue.Y / OldValue.Y);
                        }
                        if (NewValue.Z != 0)
                        {
                            val.multZ(NewValue.Z / OldValue.Z);
                        }
                    }
                    Value.ChangeFromForm = false;

                    if (NewValue.X != 0)
                    {
                        OldValue.X = NewValue.X;
                    }
                    if (NewValue.Y != 0)
                    {
                        OldValue.Y = NewValue.Y;
                    }
                    if (NewValue.Z != 0)
                    {
                        OldValue.Z = NewValue.Z;
                    }
                }

                if (editType == EditType.Average)
                {
                    XHolder.get();
                    YHolder.get();
                    ZHolder.get();
                    Vector3 NewValue = new Vector3(XHolder.Value, YHolder.Value, ZHolder.Value);

                    Value.ChangeFromForm = true;
                    foreach (Vector3Value val in ReferenceValues)
                    {
                        val.add(NewValue - OldValue);
                    }
                    Value.ChangeFromForm = false;

                    OldValue = NewValue;
                }
            }
            else
            {
                XHolder.get();
                YHolder.get();
                ZHolder.get();

                foreach (Vector3Parameter val in ReferenceParameters)
                {
                    if (!XHolder.NoValue)
                    {
                        val.setX(XHolder.Value);
                    }
                    if (!YHolder.NoValue)
                    {
                        val.setY(YHolder.Value);
                    }
                    if (!ZHolder.NoValue)
                    {
                        val.setZ(ZHolder.Value);
                    }
                }
            }

            BadRabbit.Carrot.Value.ChangeFromForm = false;
            base.GetValueFromField();
        }