public EmitterGiveOutEnegy3D(StageDataPackage StageData, PointF OriginalPosition, Color color) : base(StageData) { this.OriginalPosition = OriginalPosition; this.Velocity = 0.0f; this.Direction = 0.0; this.LifeTime = 25; this.ColorValue = color; BaseEffect baseEffect = new BaseEffect(StageData, "Effect-2", this.Position, 0.0f, 0.0); baseEffect.LifeTime = 100; baseEffect.Scale = 1f; baseEffect.ScaleVelocity = 0.8f; baseEffect.ColorValue = color; baseEffect.TransparentValueF = 180f; baseEffect.TransparentVelocity = -2f; }
public EmitterSaveEnegy3D(StageDataPackage StageData, PointF OriginalPosition, Color color) : base(StageData) { this.OriginalPosition = OriginalPosition; this.Velocity = 0.0f; this.Direction = 0.0; this.LifeTime = 25; this.ColorValue = color; BaseEffect baseEffect = new BaseEffect(StageData, "Effect-2", this.Position, 0.0f, 0.0); baseEffect.LifeTime = 50; baseEffect.Scale = 14f; baseEffect.ScaleVelocity = -0.25f; baseEffect.ColorValue = color; baseEffect.TransparentValueF = 0.0f; baseEffect.TransparentVelocity = 6f; baseEffect.MaxTransparent = 128; }
public override void Ctrl() { base.Ctrl(); if (this.Time == 1) { BaseEffect baseEffect1 = new BaseEffect(this.StageData, "球", this.Position, 0.0f, 0.0); baseEffect1.ScaleWidth = 0.05f; baseEffect1.ScaleLength = 0.05f; BaseEffect baseEffect2 = baseEffect1; baseEffect2.ScaleLengthVelocityDictionary.Add(1, 0.01666667f); baseEffect2.ScaleWidthVelocityDictionary.Add(1, 0.01666667f); baseEffect2.ScaleLengthVelocityDictionary.Add(120, 1.25f); baseEffect2.ScaleWidthVelocityDictionary.Add(120, 1.25f); baseEffect2.TransparentVelocityDictionary.Add(120, -10f); baseEffect2.AngularVelocityDegree = 10f; } else if (this.Time == 120) { this.StageData.SoundPlay("se_cat00.wav"); EmitterGiveOutEnegy3D emitterGiveOutEnegy3D = new EmitterGiveOutEnegy3D(this.StageData, this.OriginalPosition, Color.Green); this.StageData.VibrateStart(this.LifeTime - this.Time); this.ScaleVelocity = 10f; } else if (120 < this.Time && this.Time <= 170) { this.AngularVelocityDegree = 2.5f; BaseEffect baseEffect1 = new BaseEffect(this.StageData, "bullet50_5", this.Position, 7f, this.Angle - Math.PI / 2.0); baseEffect1.ScaleLength = 15f; baseEffect1.ScaleWidth = 0.3f; BaseEffect baseEffect2 = new BaseEffect(this.StageData, "bullet50_5", this.Position, 7f, -1.0 * Math.PI / 2.0 - this.Angle); baseEffect2.ScaleLength = 15f; baseEffect2.ScaleWidth = 0.3f; } else { if (this.Time != 240) { return; } this.Damage = 0; } }
public override void Shoot() { if (this.Time == 10) { BaseEffect baseEffect = new BaseEffect(this.StageData, this.EDText, this.OriginalPosition, 0.0f, 0.0); baseEffect.Scale = this.Scale; baseEffect.Direction = Math.PI / 2.0; baseEffect.OriginalPosition = this.OriginalPosition; baseEffect.Active = false; baseEffect.TransparentValueF = 0.0f; baseEffect.TransparentVelocity = 10f; baseEffect.LifeTime = 322 + this.Hold; baseEffect.TransparentVelocityDictionary.Add(300 + this.Hold, -12f); } for (int index = 0; index < 5; ++index) { if (this.Time == 1 + index * 3) { new EDPetal(this.StageData, "ED_Petal", this.OriginalPosition, 0.0f, 0.0) { DestAngleDegree = ((double)(72 * index)) } }
public override void HitCheckAll() { if (!this.MyPlane.HitEnabled) { return; } if (this.HitCheck((BaseObject)this.MyPlane)) { this.MyPlane.PreMiss(); if (this.UnRemoveable) { return; } this.GiveEndEffect(); this.BulletList.Remove(this); } else { if (this.Grazed || !this.HitCheck((BaseObject)this.MyPlane, 24f / this.ScaleLength + (float)this.Region)) { return; } this.Grazed = true; ++this.MyPlane.Graze; if (this.MyPlane.Graze % 10 == 0) { this.MyPlane.HighItemScore += 10; } this.StageData.SoundPlay("se_graze.wav"); BaseEffect baseEffect = new BaseEffect(this.StageData, "GrazeG", this.MyPlane.Position, 5f, this.Ran.NextDouble() * Math.PI * 2.0); baseEffect.Scale = 1f; baseEffect.TransparentVelocity = -20f; baseEffect.ScaleVelocity = -0.05f; baseEffect.AngleWithDirection = false; } }
public override void Ctrl() { base.Ctrl(); if (1 < this.Time && this.Time < 60) { int num1 = 7; double num2 = 360.0 / (double)num1; for (int index = 0; index < num1; ++index) { BaseEffect baseEffect1 = new BaseEffect(this.StageData, "bullet23_0", this.Position, 1.5f, 0.0); baseEffect1.DirectionDegree = (double)(this.Time * 18) + num2 * (double)index; baseEffect1.ScaleWidth = 0.3f; baseEffect1.ScaleLength = 0.3f; baseEffect1.LifeTime = 999; BaseEffect baseEffect2 = baseEffect1; baseEffect2.OutBound = false; baseEffect2.DirectionVelocityDegree = -2.8f; baseEffect2.VelocityDictionary.Add(40, 3f); baseEffect2.AccelerateDictionary.Add(115, 2f); baseEffect2.AccelerateDictionary.Add(123, 0.0f); baseEffect2.DirectionVelocityDegreeDictionary.Add(115, (float)((this.Ran.NextPMDouble() - 80.0) / 45.0)); baseEffect2.DirectionVelocityDegreeDictionary.Add(160, 0.0f); baseEffect2.ScaleLengthVelocityDictionary.Add(115, 0.3f); baseEffect2.ScaleWidthVelocityDictionary.Add(115, 0.1f); baseEffect2.ScaleLengthVelocityDictionary.Add(120, 0.0f); baseEffect2.ScaleWidthVelocityDictionary.Add(120, 0.0f); baseEffect2.SetBinding((BaseObject)this); BaseEffect baseEffect3 = new BaseEffect(this.StageData, "bullet23_0", this.Position, 1.5f, 0.0); baseEffect3.DirectionDegree = (double)(180 - this.Time * 18) + num2 * (double)index; baseEffect3.ScaleWidth = 0.3f; baseEffect3.ScaleLength = 0.3f; baseEffect3.LifeTime = 999; BaseEffect baseEffect4 = baseEffect3; baseEffect4.OutBound = false; baseEffect4.DirectionVelocityDegree = 2.8f; baseEffect4.VelocityDictionary.Add(40, 3f); baseEffect4.AccelerateDictionary.Add(115, 2f); baseEffect4.AccelerateDictionary.Add(123, 0.0f); baseEffect4.DirectionVelocityDegreeDictionary.Add(115, (float)((80.0 + this.Ran.NextPMDouble()) / 45.0)); baseEffect4.DirectionVelocityDegreeDictionary.Add(160, 0.0f); baseEffect4.ScaleLengthVelocityDictionary.Add(115, 0.3f); baseEffect4.ScaleWidthVelocityDictionary.Add(115, 0.1f); baseEffect4.ScaleLengthVelocityDictionary.Add(120, 0.0f); baseEffect4.ScaleWidthVelocityDictionary.Add(120, 0.0f); baseEffect4.SetBinding((BaseObject)this); } } if (130 < this.Time && this.Time < 220) { for (int index = 0; index < 3; ++index) { BaseEffect_CS baseEffectCs1 = new BaseEffect_CS(this.StageData); baseEffectCs1.TxtureObject = this.TextureObjectDictionary["bullet50_0"]; BaseEffect_CS baseEffectCs2 = baseEffectCs1; Rectangle boundRect = this.BoundRect; double num1 = (double)(boundRect.Width / 2) + 200.0 * this.Ran.NextPMDouble(); boundRect = this.BoundRect; double num2 = (double)(boundRect.Height / 2) + 280.0 * this.Ran.NextPMDouble(); PointF pointF = new PointF((float)num1, (float)num2); baseEffectCs2.OriginalPosition = pointF; baseEffectCs1.Velocity = (float)this.Ran.NextPMDouble(); baseEffectCs1.Direction = Math.PI / 2.0 * this.Ran.NextPMDouble(); baseEffectCs1.Scale = 0.05f; baseEffectCs1.LifeTime = 40; EventGroup eventGroup = new EventGroup(); eventGroup.index = 0; eventGroup.tag = "0"; eventGroup.t = 15; eventGroup.addtime = 15; Event event1 = new Event(); event1.EventString = "当前帧=1:高比变化到0,正弦,14"; event1.String2BulletEvent(); eventGroup.EventList.Add(event1); Event event2 = new Event(); event2.EventString = "当前帧=1:宽比变化到0,正弦,14"; event2.String2BulletEvent(); eventGroup.EventList.Add(event2); baseEffectCs1.EventGroupList.Add(eventGroup); this.EffectList.Add((BaseEffect)baseEffectCs1); } } if (this.Time != 122) { return; } this.ScaleVelocity = 10f; EmitterGiveOutEnegy3D emitterGiveOutEnegy3D = new EmitterGiveOutEnegy3D(this.StageData, this.OriginalPosition, Color.White); this.StageData.SoundPlay("se_cat00.wav"); this.StageData.VibrateStart(this.LifeTime - this.Time); }
public override void UpdateData() { if (TimeMain == 50) { BaseEffect baseEffect = new BaseEffect(StageData, "woshixingtu", new PointF(385f, 240f), 4f, 0.0); baseEffect.AngleDegree = 90.0; baseEffect.Active = false; baseEffect.DestPoint = new PointF(320f, 240f); baseEffect.AngleWithDirection = false; baseEffect.Scale = 1f; baseEffect.TransparentValueF = 0.0f; baseEffect.TransparentVelocity = 5f; } else if (TimeMain == 100) { BaseEffect baseEffect = new BaseEffect(StageData, "woshibiaotihebaisi", new PointF(385f, 240f), 4f, 0.0); baseEffect.AngleDegree = 90.0; baseEffect.Active = false; baseEffect.DestPoint = new PointF(320f, 240f); baseEffect.AngleWithDirection = false; baseEffect.Scale = 1f; baseEffect.TransparentValueF = 0.0f; baseEffect.TransparentVelocity = 5f; EmitterTitleStarFall emitterTitleStarFall = new EmitterTitleStarFall(StageData); StageData.MenuGroupList.Add(new MenuGroup_Main(StageData)); } else if (TimeMain == 130) { SelectBox selectBox = new SelectBox(StageData); selectBox.Velocity = 100f; selectBox.OriginalPosition = new PointF(0.0f, 500f); SelectFrame = selectBox; } if (StageData.MenuGroupList.Count > 0) { BaseMenuItem menuItem1 = StageData.MenuGroupList[StageData.MenuGroupList.Count - 1].MenuItemList[StageData.MenuGroupList[StageData.MenuGroupList.Count - 1].MenuSelectIndex]; PointF pointF1; if (StageData.MenuGroupList.Count == 1 || StageData.MenuGroupList[StageData.MenuGroupList.Count - 1] is MenuOption) { StageDataPackage stageData = StageData; MyRandom ran = Ran; pointF1 = menuItem1.OriginalPosition; int minValue = (int)pointF1.X - 10; pointF1 = menuItem1.OriginalPosition; int maxValue = (int)pointF1.X + menuItem1.TxtureObject.PosRect.Width + 10; double num1 = ran.Next(minValue, maxValue); pointF1 = menuItem1.OriginalPosition; double num2 = pointF1.Y + 20.0; PointF Position = new PointF((float)num1, (float)num2); double num3 = StageData.Ran.Next(10, 20) / 10; double Direction = -1.0 * Math.PI / 2.0 - StageData.Ran.Next(1, 5) / 10.0; Particle particle = new Particle(stageData, "Star", Position, (float)num3, Direction); particle.Active = true; particle.Scale = StageData.Ran.Next(15, 40) / 100f; particle.LifeTime = 20; } if (SelectFrame != null) { BaseMenuItem menuItem2 = StageData.MenuGroupList[0].MenuItemList[StageData.MenuGroupList[0].MenuSelectIndex]; pointF1 = SelectFrame.DestPoint; double y1 = pointF1.Y; pointF1 = menuItem2.OriginalPosition; double y2 = pointF1.Y; if (Math.Abs((float)(y1 - y2 - 6.0)) >= 1.0) { BaseEffect selectFrame = SelectFrame; pointF1 = SelectFrame.DestPoint; double y3 = pointF1.Y; pointF1 = menuItem2.OriginalPosition; double y4 = pointF1.Y; double num = Math.Abs((float)(y3 - y4 - 6.0)) / 5.0; selectFrame.Velocity = (float)num; if (SelectFrame.Velocity > 16.0) { SelectFrame.Velocity = 16f; } else if (SelectFrame.Velocity < 2.0) { SelectFrame.Velocity = 2f; } } BaseEffect selectFrame1 = SelectFrame; pointF1 = menuItem2.OriginalPosition; PointF pointF2 = new PointF(0.0f, (float)(pointF1.Y + 6.0)); selectFrame1.DestPoint = pointF2; } } base.UpdateData(); if (0 <= TimeMain && TimeMain < 130) { BackgroundLight += 4; if (BackgroundLight <= byte.MaxValue) { return; } BackgroundLight = byte.MaxValue; } else { BackgroundLight = byte.MaxValue; } }