public static SkillParticle CreateSkillParticle(SkillParticleEmitter skillEmitter, GameObject effectPrefab, int startFrame, int duration, Example.SkillPath.PathType pathType, Example.SkillShapeNew.ShapeType shapeType) { var go = CreateGameObject(skillEmitter.transform, "Particle"); var path = CreateSkillPath(go, pathType); var shape = CreateSkillShape(go, shapeType); var skillParticle = go.AddComponent <SkillParticle> (); //var effect = InstantiateGameObject (go.transform,effectPrefab,"Effect"); skillParticle.path = path; skillParticle.hitShape = shape; skillParticle.startFrame = startFrame; skillParticle.duration = duration; skillParticle.effect = effectPrefab; skillParticle.effectName = effectPrefab != null?effectPrefab.name:""; return(skillParticle); }
private static Example.SkillParticleEmitter ExportParticleEmitter(SkillParticleEmitter emitter, List <Example.SkillParticleEmitter> emitters) { Example.SkillParticleEmitter particleEmitter = new Example.SkillParticleEmitter(); List <Example.SkillParticle> skillParticles = new List <Example.SkillParticle> (); var particles = emitter.GetComponentsInChildren <SkillParticle> (); foreach (var particle in particles) { ExportSkillParticle(particle, skillParticles); } particleEmitter.emitterType = emitter.emitterType; particleEmitter.StartTime = emitter.startFrame; particleEmitter.Duration = emitter.duration; particleEmitter.EmitterShape = ExportSkillShape(emitter.EmitterShape); particleEmitter.EmitterPosition = MathUtil.ToVector3f(emitter.EmitterPosition); particleEmitter.ParticleTemplate = skillParticles.Count > 0?skillParticles [0]:null; particleEmitter.Particles = skillParticles; emitters.Add(particleEmitter); return(particleEmitter); }