protected IntPtr EarthView_World_Graphic_CParticleEmitterFactory_createEmitter_CParticleEmitter_CParticleSystem_Function(IntPtr psys)
                {
                    EarthView.World.Graphic.ParticleSystem csobj_psys = new EarthView.World.Graphic.ParticleSystem(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_psys.BindNativeObject(psys, "CParticleSystem");
                    csobj_psys.Delegate = true;
                    IClassFactory csobj_psysClassFactory = GlobalClassFactoryMap.Get(csobj_psys.GetCppInstanceTypeName());

                    if (csobj_psysClassFactory != null)
                    {
                        csobj_psys.Delegate = true;
                        csobj_psys          = csobj_psysClassFactory.Create() as EarthView.World.Graphic.ParticleSystem;
                        csobj_psys.BindNativeObject(psys, "CParticleSystem");
                        csobj_psys.Delegate = true;
                    }

                    EarthView.World.Graphic.ParticleEmitter csret = CreateEmitter(csobj_psys);

                    if (!object.Equals(csret, null))
                    {
                        csret.Delegate = true;
                        return(csret.NativeObject);
                    }
                    else
                    {
                        return(IntPtr.Zero);
                    }
                }
                /// <summary>
                /// 构造函数
                /// </summary>
                /// <param name="parent"></param>
                /// <returns></returns>
                public ParticleAffector(EarthView.World.Graphic.ParticleSystem ref_parent) : base(CreatedWhenConstruct.CWC_NotToCreate)
                {
                    NameValuePairList list            = new NameValuePairList();
                    BasePtr           valueref_parent = new BasePtr(ref_parent);

                    list.Add("ref_parent", valueref_parent.PtrVal);
                    Create("CParticleAffectorProxy", list);
                    if (!"EarthView.World.Graphic.ParticleAffector".Equals(((Object)this).GetType().ToString()))
                    {
                        this.SetCustomExtend(true);
                    }
                    RegisterCallBack();
                    this.needDispose = true;
                    GlobalTraceInfoMap.Put(this);
                }
                protected void EarthView_World_Graphic_CParticleAffector__affectParticles_void_CParticleSystem_Real_Function(IntPtr pSystem, double timeElapsed)
                {
                    EarthView.World.Graphic.ParticleSystem csobj_pSystem = new EarthView.World.Graphic.ParticleSystem(CreatedWhenConstruct.CWC_NotToCreate);
                    csobj_pSystem.BindNativeObject(pSystem, "CParticleSystem");
                    csobj_pSystem.Delegate = true;
                    IClassFactory csobj_pSystemClassFactory = GlobalClassFactoryMap.Get(csobj_pSystem.GetCppInstanceTypeName());

                    if (csobj_pSystemClassFactory != null)
                    {
                        csobj_pSystem.Delegate = true;
                        csobj_pSystem          = csobj_pSystemClassFactory.Create() as EarthView.World.Graphic.ParticleSystem;
                        csobj_pSystem.BindNativeObject(pSystem, "CParticleSystem");
                        csobj_pSystem.Delegate = true;
                    }

                    _affectParticles(csobj_pSystem, timeElapsed);
                }
                /// <summary>
                /// 创建一个新的粒子发射器的实例
                /// </summary>
                /// <param name="psys">指向粒子系统的指针</param>
                /// <returns></returns>
                public virtual EarthView.World.Graphic.ParticleEmitter CreateEmitter(EarthView.World.Graphic.ParticleSystem psys)
                {
                    IntPtr __ptr = EarthView_World_Graphic_CParticleEmitterFactory_createEmitter_CParticleEmitter_CParticleSystem(this.NativeObject, object.Equals(psys, null) ? IntPtr.Zero : psys.NativeObject);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.ParticleEmitter csObj = new EarthView.World.Graphic.ParticleEmitter(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CParticleEmitter");
                    csObj.Delegate = true;
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.ParticleEmitter;
                        csObj.BindNativeObject(__ptr, "CParticleEmitter");
                        csObj.Delegate = true;
                    }
                    return(csObj);
                }
 /// <summary>
 /// 作用活跃的粒子
 /// </summary>
 /// <param name="pSystem">指向粒子系统的指针</param>
 /// <param name="timeElapsed">消耗的时间</param>
 /// <returns></returns>
 public virtual void _affectParticles(EarthView.World.Graphic.ParticleSystem pSystem, double timeElapsed)
 {
     EarthView_World_Graphic_CParticleAffector__affectParticles_void_CParticleSystem_Real(this.NativeObject, object.Equals(pSystem, null) ? IntPtr.Zero : pSystem.NativeObject, timeElapsed);
 }
Esempio n. 6
0
                    public override EarthView.World.Graphic.ParticleAffector CreateAffector(EarthView.World.Graphic.ParticleSystem psys)
                    {
                        IntPtr __ptr = EarthView_World_Plugin_ParticleFX_CColourInterpolatorAffectorFactory_createAffector_CParticleAffector_CParticleSystem(this.NativeObject, object.Equals(psys, null) ? IntPtr.Zero : psys.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Graphic.ParticleAffector csObj = new EarthView.World.Graphic.ParticleAffector(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CParticleAffector");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.ParticleAffector;
                            csObj.BindNativeObject(__ptr, "CParticleAffector");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }