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 virtual void Initialize()
        {
            movementX.Initialize();
            movementY.Initialize();
            movementZ.Initialize();

            scaleX.Initialize();
            scaleY.Initialize();

            rotX.Initialize();
            rotY.Initialize();
            rotZ.Initialize();

            color.Initialize();
        }
Exemplo n.º 3
0
        public virtual void Initialize(bool isAppearance)
        {
            int baseIdentifier = isAppearance ? 3 : 0;

            movementX.Initialize(baseIdentifier);
            movementY.Initialize(baseIdentifier);
            movementZ.Initialize(baseIdentifier);

            scaleX.Initialize(baseIdentifier + 1);
            scaleY.Initialize(baseIdentifier + 1);

            rotX.Initialize(baseIdentifier + 2);
            rotY.Initialize(baseIdentifier + 2);
            rotZ.Initialize(baseIdentifier + 2);

            color.Initialize(isAppearance);
        }
        //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(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;
            }
        }
Exemplo n.º 6
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;
            }
        }