Пример #1
0
    public static void DrawAParticleSystem(AParticleSystem aps)
    {
        aps.particleSystem = EditorGUILayout.ObjectField("Particle System:", aps.particleSystem, typeof(ParticleSystem), false)
                             as ParticleSystem;

        aps.loop = EditorGUILayout.ToggleLeft("Loop", aps.loop);

        /* Create some space */
        GUILayout.Space(20f);

        /* Choose direction */
        GUILayout.BeginHorizontal();
        GUILayout.Label("Direction to play in:");
        aps.direction = (AnimObject.AnimationDirection)EditorGUILayout.EnumPopup(
            "",
            aps.direction,
            GUILayout.MaxWidth(250f));
        GUILayout.EndHorizontal();

        /* Show distance if location != Target or None */
        if (aps.direction != AnimObject.AnimationDirection.Target &&
            aps.direction != AnimObject.AnimationDirection.None)
        {
            aps.distance = EditorGUILayout.IntField("Distance (hexes):", aps.distance);
        }
        aps.speed = EditorGUILayout.FloatField("Speed:", aps.speed);
        aps.speed = AnimObject.EnsureNoNegativeFloat(aps.speed);

        /* Create some space */
        GUILayout.Space(20f);


        /* Draws concurrency/target stuff */
        DrawBaseAnimObject(aps);
    }
Пример #2
0
    public static void DrawASpriteAnimation(ASpriteAnimation asa)
    {
        //asa.spriteAnimation = EditorGUILayout.ObjectField("Sprite Animation:", asa.spriteAnimation, typeof(AnimationClip), false)
        //    as AnimationClip;

        //    spriteAnimation = EditorGUILayout.PropertyField(spriteAnimation, "Sprite Animation:", false, GUILayout.MaxWidth(300f))
        //as Animation;

        asa.speed = EditorGUILayout.FloatField("Speed:", asa.speed);
        asa.speed = AnimObject.EnsureNoNegativeFloat(asa.speed);

        asa.loop = EditorGUILayout.ToggleLeft("Loop", asa.loop);

        if (asa.loop)
        {
            EditorGUILayout.LabelField("Times To Loop (0 for infinite)");
            asa.timesToLoop = EditorGUILayout.IntField(asa.timesToLoop, GUILayout.MaxWidth(100f));
            asa.timesToLoop = AnimObject.EnsureNoNegativeInt(asa.timesToLoop);
        }

        /* Create some space */
        GUILayout.Space(20f);

        DrawBaseAnimObject(asa);
    }
Пример #3
0
    /// <summary>
    /// Shows variables for AParticleSystem AnimObject
    /// </summary>
    void ShowParticleSystemVariables()
    {
        particleSystem = EditorGUILayout.ObjectField("Particle System:", particleSystem, typeof(ParticleSystem), false)
                         as ParticleSystem;

        particleLoop = EditorGUILayout.ToggleLeft("Loop", particleLoop);

        /* Create some space */
        GUILayout.Space(20f);

        /* Choose direction */
        GUILayout.BeginHorizontal();
        GUILayout.Label("Direction to play in:");
        particleDirection = (AnimObject.AnimationDirection)EditorGUILayout.EnumPopup(
            "",
            particleDirection,
            GUILayout.MaxWidth(250f));
        GUILayout.EndHorizontal();

        /* Show distance if location != Target or None */
        if (particleDirection != AnimObject.AnimationDirection.Target &&
            particleDirection != AnimObject.AnimationDirection.None)
        {
            particleDistance = EditorGUILayout.IntField("Distance (hexes):", particleDistance);
        }
        particleSpeed = EditorGUILayout.FloatField("Speed:", particleSpeed);
        particleSpeed = AnimObject.EnsureNoNegativeFloat(particleSpeed);

        ShowCommonVariables();
    }
Пример #4
0
    /// <summary>
    /// Shows variables for ASpriteAnimation AnimObject
    /// </summary>
    void ShowSpriteAnimationVariables()
    {
        spriteAnimation = EditorGUILayout.ObjectField("Particle System:", spriteAnimation, typeof(AnimationClip), false)
                          as AnimationClip;

        spriteSpeed = EditorGUILayout.FloatField("Speed:", spriteSpeed);
        spriteSpeed = AnimObject.EnsureNoNegativeFloat(spriteSpeed);

        spriteLoop = EditorGUILayout.ToggleLeft("Loop", spriteLoop);

        if (spriteLoop)
        {
            spriteTimesToLoop = EditorGUILayout.IntField("Times To Loop (0 for infinite)", spriteTimesToLoop);
        }

        /* Create some space */
        GUILayout.Space(20f);

        ShowCommonVariables();
    }
Пример #5
0
    public static void DrawATween(ATween at)
    {
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Move Direction:");
        at.direction = (AnimObject.AnimationDirection)EditorGUILayout.EnumPopup(
            "",
            at.direction,
            GUILayout.MaxWidth(250f));
        EditorGUILayout.EndHorizontal();

        /* Show distance if location != Target or None */
        if (at.direction != AnimObject.AnimationDirection.Target &&
            at.direction != AnimObject.AnimationDirection.None)
        {
            at.distance = EditorGUILayout.IntField("Distance (hexes):", at.distance);
        }
        at.speed = EditorGUILayout.FloatField("Speed:", at.speed);
        at.speed = AnimObject.EnsureNoNegativeFloat(at.speed);

        DrawBaseAnimObject(at);
    }
Пример #6
0
    /// <summary>
    /// Shows variables for ATween AnimObject
    /// </summary>
    void ShowTweenVariables()
    {
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Move Direction:");
        tweenDirection = (AnimObject.AnimationDirection)EditorGUILayout.EnumPopup(
            "",
            tweenDirection,
            GUILayout.MaxWidth(250f));
        EditorGUILayout.EndHorizontal();

        /* Show distance if location != Target or None */
        if (tweenDirection != AnimObject.AnimationDirection.Target &&
            tweenDirection != AnimObject.AnimationDirection.None)
        {
            tweenDistance = EditorGUILayout.IntField("Distance (hexes):", tweenDistance);
        }
        tweenSpeed = EditorGUILayout.FloatField("Speed:", tweenSpeed);
        tweenSpeed = AnimObject.EnsureNoNegativeFloat(tweenSpeed);

        ShowCommonVariables();
    }
Пример #7
0
    protected void ShowTargetGUI()
    {
        GUILayout.BeginVertical();

        commonWaitForAnimObjectToEnd = UnityEditor.EditorGUILayout.ToggleLeft(
            "Wait For AnimObject to End", commonWaitForAnimObjectToEnd, GUILayout.MinWidth(400f));


        commonDelayForTargetAnim = UnityEditor.EditorGUILayout.FloatField("Delay", commonDelayForTargetAnim, GUILayout.MaxWidth(200f));
        commonDelayForTargetAnim = AnimObject.EnsureNoNegativeFloat(commonDelayForTargetAnim);//ensure you can't have a negative delay


        GUILayout.BeginHorizontal(); //"(optional) Target animation play "
        GUILayout.FlexibleSpace();
        GUILayout.Label("(Optional) Target Animation to Play");
        commonOptionalTargetAnimationOverride = (AnimObject.AnimationEnum)UnityEditor.EditorGUILayout.EnumPopup(
            "",
            commonOptionalTargetAnimationOverride,
            GUILayout.MaxWidth(250f));
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();

        GUILayout.EndVertical();
    }