Exemplo n.º 1
0
        public static bool SetPreset <T>(
            bool isAppearance,
            T values,
            ref ThreeAxisEffector movement,
            ref float showDuration,
            ref ThreeAxisEffector rotation,
            ref TwoAxisEffector scale,
            ref Quaternion rotationQua,
            ref bool hasTransformEffects,
            ref bool setColor,
            ref ColorCurve colorCurve
            ) where T : PresetBaseValues
        {
            values.Initialize(isAppearance);
            showDuration = values.GetMaxDuration();


            movement = new ThreeAxisEffector(
                values.movementX,
                values.movementY,
                values.movementZ,
                values.movementX.enabled || values.movementY.enabled || values.movementZ.enabled);

            scale = new TwoAxisEffector(
                values.scaleX,
                values.scaleY,
                values.scaleX.enabled || values.scaleY.enabled
                );

            rotation = new ThreeAxisEffector(
                values.rotX,
                values.rotY,
                values.rotZ,
                values.rotX.enabled || values.rotY.enabled || values.rotZ.enabled
                );

            rotationQua = Quaternion.identity;

            hasTransformEffects = movement.enabled || rotation.enabled || scale.enabled;

            setColor = values.color.enabled;
            if (setColor)
            {
                colorCurve = values.color;
                colorCurve.Initialize(isAppearance);
            }

            return(hasTransformEffects || setColor);
        }
Exemplo n.º 2
0
        public PresetBaseValues(bool isAppearance)
        {
            int baseIdentifier = isAppearance ? 3 : 0;

            this.effectTag = string.Empty;

            movementX = new FloatCurve(baseIdentifier + 0, false);
            movementY = new FloatCurve(baseIdentifier + 0, false);
            movementZ = new FloatCurve(baseIdentifier + 0, false);

            scaleX = new FloatCurve(baseIdentifier + 1, false);
            scaleY = new FloatCurve(baseIdentifier + 1, false);

            rotX = new FloatCurve(baseIdentifier + 2, false);
            rotY = new FloatCurve(baseIdentifier + 2, false);
            rotZ = new FloatCurve(baseIdentifier + 2, false);

            color = new ColorCurve(false, isAppearance);
        }
Exemplo n.º 3
0
        public override void SetDefaultValues(AppearanceDefaultValues data)
        {
            int GetPresetIndex()
            {
                for (int i = 0; i < data.presets.Length; i++)
                {
                    if (data.presets[i].effectTag == effectTag)
                    {
                        return(i);
                    }
                }
                return(-1);
            }

            showDuration = 0;

            int presetIndex = GetPresetIndex();

            if (presetIndex >= 0) //found preset
            {
                movementVec = Vector3.zero;

                data.presets[presetIndex].Initialize();
                showDuration = data.presets[presetIndex].GetMaxDuration();

                setMovement = data.presets[presetIndex].movementX.enabled || data.presets[presetIndex].movementY.enabled || data.presets[presetIndex].movementZ.enabled;
                if (setMovement)
                {
                    movementX = data.presets[presetIndex].movementX;
                    movementY = data.presets[presetIndex].movementY;
                    movementZ = data.presets[presetIndex].movementZ;
                }

                scaleVec = Vector3.one;
                setScale = data.presets[presetIndex].scaleX.enabled || data.presets[presetIndex].scaleY.enabled;
                if (setScale)
                {
                    scaleX = data.presets[presetIndex].scaleX;
                    scaleY = data.presets[presetIndex].scaleY;

                    scaleVec.z = 1;

                    scaleXDuration = scaleX.GetDuration();
                    scaleYDuration = scaleY.GetDuration();
                }

                setRotation = data.presets[presetIndex].rotX.enabled || data.presets[presetIndex].rotY.enabled || data.presets[presetIndex].rotZ.enabled;
                rotationQua = Quaternion.identity;
                if (setRotation)
                {
                    rotX = data.presets[presetIndex].rotX;
                    rotY = data.presets[presetIndex].rotY;
                    rotZ = data.presets[presetIndex].rotZ;
                }

                hasTransformEffects = setMovement || setRotation || setScale;

                setColor = data.presets[presetIndex].color.enabled;
                if (setColor)
                {
                    colorCurve = data.presets[presetIndex].color;
                    colorCurve.Initialize();
                }

                enabled = hasTransformEffects || setColor;
            }
        }
        //TODO: REFACTOR THIS !!

        public static bool SetPreset <T>(
            bool isAppearance,
            T values,
            ref EffectEvaluator movementX,
            ref EffectEvaluator movementY,
            ref EffectEvaluator movementZ,
            ref bool setMovement,
            ref float showDuration,
            ref Vector3 scaleVec,
            ref bool setScale,
            ref EffectEvaluator scaleX,
            ref EffectEvaluator scaleY,
            ref float scaleXDuration,
            ref float scaleYDuration,
            ref bool setRotation,
            ref Quaternion rotationQua,
            ref EffectEvaluator rotX,
            ref EffectEvaluator rotY,
            ref EffectEvaluator rotZ,
            ref bool hasTransformEffects,
            ref bool setColor,
            ref ColorCurve colorCurve
            ) where T : PresetBaseValues
        {
            values.Initialize(isAppearance);
            showDuration = values.GetMaxDuration();

            setMovement = values.movementX.enabled || values.movementY.enabled || values.movementZ.enabled;
            if (setMovement)
            {
                movementX = values.movementX;
                movementY = values.movementY;
                movementZ = values.movementZ;
            }

            scaleVec = Vector3.one;
            setScale = values.scaleX.enabled || values.scaleY.enabled;
            if (setScale)
            {
                scaleX = values.scaleX;
                scaleY = values.scaleY;

                scaleVec.z = 1;

                scaleXDuration = scaleX.GetDuration();
                scaleYDuration = scaleY.GetDuration();
            }

            setRotation = values.rotX.enabled || values.rotY.enabled || values.rotZ.enabled;
            rotationQua = Quaternion.identity;
            if (setRotation)
            {
                rotX = values.rotX;
                rotY = values.rotY;
                rotZ = values.rotZ;
            }

            hasTransformEffects = setMovement || setRotation || setScale;

            setColor = values.color.enabled;
            if (setColor)
            {
                colorCurve = values.color;
                colorCurve.Initialize(isAppearance);
            }

            return(hasTransformEffects || setColor);
        }
Exemplo n.º 5
0
        public override void SetDefaultValues(BehaviorDefaultValues data)
        {
            int GetPresetIndex()
            {
                for (int i = 0; i < data.presets.Length; i++)
                {
                    if (data.presets[i].effectTag == effectTag)
                    {
                        return(i);
                    }
                }
                return(-1);
            }

            weightMult = 1;
            timeSpeed  = 1;

            uniformEffectTime = 0;
            weight            = 0;
            isOnOneCharacter  = false;

            int presetIndex = GetPresetIndex();

            if (presetIndex >= 0) //found preset
            {
                data.presets[presetIndex].Initialize();

                emissionControl = data.presets[presetIndex].emission;

                movementVec = Vector3.zero;

                setMovement = data.presets[presetIndex].movementX.enabled || data.presets[presetIndex].movementY.enabled || data.presets[presetIndex].movementZ.enabled;
                if (setMovement)
                {
                    movementX = data.presets[presetIndex].movementX;
                    movementY = data.presets[presetIndex].movementY;
                    movementZ = data.presets[presetIndex].movementZ;
                }

                scaleVec = Vector3.one;
                setScale = data.presets[presetIndex].scaleX.enabled || data.presets[presetIndex].scaleY.enabled;
                if (setScale)
                {
                    scaleX = data.presets[presetIndex].scaleX;
                    scaleY = data.presets[presetIndex].scaleY;

                    scaleVec.z = 1;
                }

                setRotation = data.presets[presetIndex].rotX.enabled || data.presets[presetIndex].rotY.enabled || data.presets[presetIndex].rotZ.enabled;
                rotationQua = Quaternion.identity;
                if (setRotation)
                {
                    rotX = data.presets[presetIndex].rotX;
                    rotY = data.presets[presetIndex].rotY;
                    rotZ = data.presets[presetIndex].rotZ;
                }

                hasTransformEffects = setMovement || setRotation || setScale;

                setColor = data.presets[presetIndex].color.enabled;
                if (setColor)
                {
                    colorCurve = data.presets[presetIndex].color;
                    colorCurve.Initialize();
                }

                enabled = hasTransformEffects || setColor;
            }
        }