Example #1
0
    private static Example.SkillParticleEmitter ExportParticleEmitter(SkillParticleEmitterItem emitter, List <Example.SkillParticleEmitter> emitters)
    {
        Example.SkillParticleEmitter particleEmitter = new Example.SkillParticleEmitter();
        List <Example.SkillParticle> skillParticles  = new List <Example.SkillParticle>();
        var particles = emitter.GetComponentsInChildren <SkillParticleActionItem>();

        foreach (var particle in particles)
        {
            ExportSkillParticle(particle, skillParticles);
        }
        if (emitter is AutoSkillParticleEmitterItem)
        {
            AutoSkillParticleEmitterItem autoEmitter = (AutoSkillParticleEmitterItem)emitter;
            particleEmitter.emitterType      = autoEmitter.emitterType;
            particleEmitter.StartTime        = Mathf.FloorToInt(autoEmitter.Firetime * 1000);
            particleEmitter.Duration         = Mathf.FloorToInt(autoEmitter.Duration * 1000);
            particleEmitter.EmitterShape     = ExportSkillShape(autoEmitter.emitterShape);
            particleEmitter.EmitterPosition  = MathUtil.ToVector3f(autoEmitter.emitterOffset);
            particleEmitter.ParticleTemplate = skillParticles.Count > 0 ? skillParticles[0] : null;
            particleEmitter.Particles        = skillParticles;
        }
        else if (emitter is ManualSkillParticleEmitterItem)
        {
            ManualSkillParticleEmitterItem autoEmitter = (ManualSkillParticleEmitterItem)emitter;
            particleEmitter.emitterType = autoEmitter.emitterType;
            particleEmitter.StartTime   = Mathf.FloorToInt(autoEmitter.Firetime * 1000);
            particleEmitter.Duration    = Mathf.FloorToInt(autoEmitter.Duration * 1000);
            particleEmitter.Particles   = skillParticles;
        }
        emitters.Add(particleEmitter);
        return(particleEmitter);
    }
Example #2
0
    public override void ResizeControlPosition(DirectorControlState state, Rect trackPosition)
    {
        CinemaActionWrapper wrapper = base.Wrapper as CinemaActionWrapper;

        if (wrapper == null)
        {
            return;
        }
        if (base.isRenaming)
        {
            return;
        }
        SkillParticleEmitterItem action = Wrapper.Behaviour as SkillParticleEmitterItem;
        float num  = (wrapper.Firetime * state.Scale.x) + state.Translation.x;
        float num2 = ((wrapper.Firetime + wrapper.Duration) * state.Scale.x) + state.Translation.x;

        this.controlPosition = new Rect(num, 0f, num2 - num, trackPosition.height / action.GetLevel());
    }
Example #3
0
    public override void Draw(DirectorControlState state)
    {
        SkillParticleEmitterItem action = Wrapper.Behaviour as SkillParticleEmitterItem;

        if (action == null)
        {
            return;
        }

        if (IsSelected)
        {
            GUI.Box(controlPosition, GUIContent.none, TimelineTrackControl.styles.ActorTrackItemSelectedStyle);
        }
        else
        {
            GUI.Box(controlPosition, GUIContent.none, TimelineTrackControl.styles.ActorTrackItemStyle);
        }

        DrawRenameLabel(action.name, controlPosition);
    }
Example #4
0
    public override void calculateHeight()
    {
        int maxlevel = 1;

        TimelineItem[] items = Track.TimelineItems;
        for (int i = 0; i < items.Length; i++)
        {
            if (items[i] is SkillParticleEmitterItem)
            {
                SkillParticleEmitterItem item = (SkillParticleEmitterItem)items[i];
                maxlevel = Mathf.Max(maxlevel, item.GetLevel());
            }
        }
        rowsShowing = maxlevel;
        if (base.isExpanded)
        {
            this.trackArea.height = (34f * rowsShowing);
        }
        else
        {
            this.trackArea.height = (17f);
        }
    }