Example #1
0
        public cfirework(string name, FWType t, SceneManager sm)
        {
            mName         = name;
            mType         = t;
            mSceneManager = sm;

            if ((mType == FWType.Fountain01) || (mType == FWType.Fountain02))
            {
                mPS   = mSceneManager.CreateParticleSystem(mName, "Fireworks/Fountain01");
                mNode = mSceneManager.GetRootSceneNode().CreateChildSceneNode(mName);
                mNode.AttachObject(mPS);
            }
            else if ((mType == FWType.Rocket01) || (mType == FWType.Rocket02))
            {
                mPS   = mSceneManager.CreateParticleSystem(mName, "Fireworks/RocketTrail");
                mNode = mSceneManager.GetRootSceneNode().CreateChildSceneNode(mName);
                mNode.AttachObject(mPS);

                float pn = 1.0f;
                if (OgreDotNet.OgreMath.RangeRandom(0.0f, 1.0f) > 0.5f)
                {
                    pn = -1.0f;
                }
                mArcXRate = OgreDotNet.OgreMath.RangeRandom(cfirework.RocketArcXMin * pn, cfirework.RocketArcXMax * pn);

                if (OgreDotNet.OgreMath.RangeRandom(0.0f, 1.0f) > 0.5f)
                {
                    pn = -1.0f;
                }
                mArcZRate = OgreDotNet.OgreMath.RangeRandom(cfirework.RocketArcZMin * pn, cfirework.RocketArcZMax * pn);

                this.mSpeedY = OgreDotNet.OgreMath.RangeRandom(cfirework.RocketSpeedYMin, cfirework.RocketSpeedYMax);
            }
        }
Example #2
0
        public void ExplodeIt(FWType et)
        {
            mExplodeType = et;
            mExploded    = true;
            OgreDotNet.ParticleEmitter pe = null;
            if ((mType == FWType.Fountain01) || (mType == FWType.Fountain02))
            {
                //make the fountain stop
                pe = mPS.GetEmitter(0);
                pe.EmissionRate = 0;
                pe.TimeToLive   = 1;
                this.isDead     = true;
            }
            else if ((mType == FWType.Rocket01) || (mType == FWType.Rocket02))
            {
                //let the smoke trail live
                pe = mPS.GetEmitter(0);
                pe.EmissionRate = 0;
                pe.TimeToLive   = 5000;
                mMoveable       = false;
                mTimeToLive     = OgreDotNet.OgreMath.RangeRandom(1.0f, 4.0f);
                mTimeAlive      = 0;
            }

            float r = 0;

            switch (mExplodeType)
            {
            case FWType.None:
                break;

            case FWType.Explode01:
                mPS2 = mSceneManager.CreateParticleSystem(mName + "ps2", "Fireworks/RocketExplode01");
                pe   = mPS2.GetEmitter(0);
                r    = OgreDotNet.OgreMath.RangeRandom(0.1f, 4.0f);
                pe.SetMinTimeToLive(r);
                pe.SetMaxTimeToLive(r + 2.0f);
                pe.SetParticleVelocity(r * 100.0f);
                pe.SetColour(Converter.GetColor(
                                 OgreDotNet.OgreMath.RangeRandom(0.001f, 1.0f),
                                 OgreDotNet.OgreMath.RangeRandom(0.001f, 1.0f),
                                 OgreDotNet.OgreMath.RangeRandom(0.001f, 1.0f)));
                mNode.AttachObject(mPS2);
                break;

            case FWType.Explode02:
                mPS2 = mSceneManager.CreateParticleSystem(mName + "ps2", "Fireworks/RocketExplode01");
                mNode.AttachObject(mPS2);
                break;

            case FWType.Explode03:
                mPS2 = mSceneManager.CreateParticleSystem(mName + "ps2", "Fireworks/RocketExplode01");
                mNode.AttachObject(mPS2);
                break;

            case FWType.Explode04:
                mPS2 = mSceneManager.CreateParticleSystem(mName + "ps2", "Fireworks/RocketExplode01");
                mNode.AttachObject(mPS2);
                break;
            }
        }
Example #3
0
        public void TestMethod1()
        {
            using (MyDB mydb = new MyDB())
            {
                FWType type1 = new FWType
                {
                    ID          = Guid.NewGuid().ToString(),
                    Name        = "发文类别一",
                    FWPrefixes  = "1A发,1B发,1C发",
                    FWTemplates = new[] {
                        new FWTemplate
                        {
                            ID           = Guid.NewGuid().ToString(),
                            Name         = "发文模板1A",
                            TemplateFile = mydb.Files.First()
                        },
                        new FWTemplate
                        {
                            ID           = Guid.NewGuid().ToString(),
                            Name         = "发文模板1B",
                            TemplateFile = mydb.Files.First()
                        }
                    }
                };
                FWType type2 = new FWType
                {
                    ID          = Guid.NewGuid().ToString(),
                    Name        = "发文类别二",
                    FWPrefixes  = "2A发,2B发,2C发",
                    FWTemplates = new[] {
                        new FWTemplate
                        {
                            ID           = Guid.NewGuid().ToString(),
                            Name         = "发文模板2A",
                            TemplateFile = mydb.Files.First()
                        },
                        new FWTemplate
                        {
                            ID           = Guid.NewGuid().ToString(),
                            Name         = "发文模板2B",
                            TemplateFile = mydb.Files.First()
                        }
                    }
                };

                FWInfo fw = new FWInfo
                {
                    ID           = Guid.NewGuid().ToString(),
                    FWType       = type1,
                    FWTemplate   = type1.FWTemplates.First(),
                    FWPrefix     = "1B发",
                    FWYear       = DateTime.Now.Year,
                    FWNO         = 10,
                    Urgency      = "普通",
                    Secrecy      = "保密",
                    Title        = "关于****项目实施的通知",
                    Keywords     = "项目,实施,通知",
                    Summary      = @"****项目已于某年某月某日测试完成,现已进入实施阶段,请各部门在信息部领导下积极参与实施.",
                    Recipient    = "各部门",
                    Participator = "信息部",
                    Drafter      = mydb.Users.First(u => u.Code == "chw"),
                    DraftTime    = DateTime.Now,
                    CopyAmount   = 10,
                    FWInfoFiles  = new [] {
                        new FWInfoFile
                        {
                            ID         = Guid.NewGuid().ToString(),
                            FileName   = "test.ddd",
                            UploadDate = DateTime.Now,
                            File       = mydb.Files.First()
                        }
                    },
                    WFTemplate = mydb.WFTemplates.First(), // 参与流程后,创建业务实例一定要有流程模板
                    Creator    = mydb.Users.First()
                };

                mydb.FWTypes.Add(type1);
                mydb.FWTypes.Add(type2);
                //mydb.SaveChanges();
                mydb.FWInfos.Add(fw);
                mydb.SaveChanges();
            }
        }