public StageTitle(StageDataPackage StageData, string TextureName) : base(StageData, TextureName, (PointF) new Point(0, 0), 0.0f, Math.PI / 2.0) { Rectangle boundRect = this.BoundRect; double num1 = (double)(boundRect.Width / 2); boundRect = this.BoundRect; double num2 = (double)(boundRect.Height / 2 - 80); this.OriginalPosition = new PointF((float)num1, (float)num2); this.LifeTime = 200; this.TransparentValueF = 0.0f; this.Active = false; }
public override void Drama() { if (this.TimeMain == 1) { this.StageData.SetReplayInfo(this.StageName); if (this.MyPlane == null) { StageDataPackage stageData = this.StageData; Rectangle boundRect = this.BoundRect; int width = boundRect.Width; boundRect = this.BoundRect; int y = boundRect.Height - 50; Point Position = new Point(width, y); this.MyPlane = new BaseMyPlane(stageData, Position); } BackgroundRotate backgroundRotate1 = new BackgroundRotate(this.StageData, "Card02b"); backgroundRotate1.Scale = 1.3f; backgroundRotate1.TransparentValueF = (float)byte.MaxValue; backgroundRotate1.AngularVelocityDegree = -0.5f; BackgroundRotate backgroundRotate2 = new BackgroundRotate(this.StageData, "Card02a"); backgroundRotate2.DirectionDegree = 90.0; backgroundRotate2.TransparentValueF = 155f; backgroundRotate2.Scale = 1f; backgroundRotate2.Active = false; backgroundRotate2.AngularVelocityDegree = 0.0f; BackgroundRotate backgroundRotate3 = backgroundRotate2; backgroundRotate3.EventGroupList = new List <EventGroup>(); backgroundRotate3.EventsExecutionList = new List <Execution>(); EventGroup eventGroup = new EventGroup(); eventGroup.index = 0; eventGroup.tag = "0"; eventGroup.t = 200; eventGroup.addtime = 200; Event @event = new Event(); @event.EventString = "当前帧=1:不透明度变化到60,正弦,400"; @event.String2BulletEvent(); eventGroup.EventList.Add(@event); backgroundRotate3.EventGroupList.Add(eventGroup); BackgroundRotate backgroundRotate4 = new BackgroundRotate(this.StageData, "Card02c"); backgroundRotate4.Scale = 0.7f; backgroundRotate4.Active = true; backgroundRotate4.AngularVelocityDegree = 0.2f; } if (this.TimeMain != 50) { } if (this.TimeMain % 400 != 100) { } }
public BaseBullet_Touhou( StageDataPackage StageData, string textureName, PointF OriginalPosition, float Velocity, double Direction) : base(StageData, textureName, OriginalPosition, Velocity, Direction) { this.BulletList.Add(this); this.OriginalPosition = OriginalPosition; this.AngleDegree = 180.0; this.SizeValue = 32; this.SetRegion(textureName); }
public MyPlane_Koishi(StageDataPackage StageData, Point OriginalPosition) : base(StageData, OriginalPosition, "Koishi") { this.WeaponType = "A"; this.SubPlaneList = new List <BaseSubPlane>() { (BaseSubPlane) new SubPlane_Koishi(StageData, this.Position), (BaseSubPlane) new SubPlane_Koishi(StageData, this.Position), (BaseSubPlane) new SubPlane_Koishi(StageData, this.Position), (BaseSubPlane) new SubPlane_Koishi(StageData, this.Position) }; this.HighSpeed = 5f; this.LowSpeed = 2f; }
public EnvironmentSSS04(StageDataPackage StageData) { this.StageData = StageData; this.DeviceMain = StageData.DeviceMain; this.Velocity = 1f; this.CameraPosition = new Vector3(0.0f, 0.0f, 170f); this.CameraTarget = new Vector3(0.0f, 200f, 170f); this.CameraDirection = new Vector3(0.0f, 0.0f, 1f); this.FogStart = 0.0f; this.FogEnd = 200f; this.LightColor = Color.White; this.light = new Light(); this.light.Type = LightType.Directional; }
public BackgroundFix(StageDataPackage StageData, string textureName) : base(StageData, textureName, new PointF(0.0f, 0.0f), 0.0f, 0.0) { this.Background.BackgroundList.Add((BaseObject)this); Rectangle boundRect = this.BoundRect; double num1 = (double)(boundRect.Width / 2); boundRect = this.BoundRect; double num2 = (double)(boundRect.Height / 2); this.OriginalPosition = new PointF((float)num1, (float)num2); this.AngleDegree = 90.0; this.OutsideRegion = 1000; }
public MyPlane_Reimu(StageDataPackage StageData, Point OriginalPosition) : base(StageData, OriginalPosition, "Reimu") { this.WeaponType = "A"; this.SubPlaneList = new List <BaseSubPlane>() { (BaseSubPlane) new Shinmyoumaru(StageData, this.Position), (BaseSubPlane) new SubPlane_Reimu(StageData, this.Position), (BaseSubPlane) new SubPlane_Reimu(StageData, this.Position), (BaseSubPlane) new SubPlane_Reimu(StageData, this.Position) }; this.HighSpeed = 4.5f; this.LowSpeed = 2f; }
public SpellCard_SSS02_FSC(StageDataPackage StageData) : base(StageData) { if (this.Difficulty < DifficultLevel.Hard) { this.SC_Name = "秘术「龙卷旋风之箭」"; } else { this.SC_Name = "秘术「龙卷旋风之箭」"; } this.Boss.DestPoint = (PointF) new Point(this.BoundRect.Width / 2, 120); this.Boss.Velocity = 4f; StageData.SoundPlay("se_cat00.wav"); BackgroundRotate backgroundRotate1 = new BackgroundRotate(StageData, "Card02b"); backgroundRotate1.Scale = 1.3f; backgroundRotate1.TransparentValueF = (float)byte.MaxValue; backgroundRotate1.AngularVelocityDegree = -0.5f; BackgroundMove2 backgroundMove2_1 = new BackgroundMove2(StageData, "Card02a"); backgroundMove2_1.DirectionDegree = -80.0; backgroundMove2_1.TransparentValueF = 155f; backgroundMove2_1.Scale = 1f; backgroundMove2_1.Active = false; BackgroundMove2 backgroundMove2_2 = backgroundMove2_1; backgroundMove2_2.EventGroupList = new List <EventGroup>(); backgroundMove2_2.EventsExecutionList = new List <Execution>(); EventGroup eventGroup = new EventGroup(); eventGroup.index = 0; eventGroup.tag = "0"; eventGroup.t = 200; eventGroup.addtime = 200; Event @event = new Event(); @event.EventString = "当前帧=1:不透明度变化到60,正弦,400"; @event.String2BulletEvent(); eventGroup.EventList.Add(@event); backgroundMove2_2.EventGroupList.Add(eventGroup); BackgroundRotate backgroundRotate2 = new BackgroundRotate(StageData, "Card02c"); backgroundRotate2.Scale = 0.7f; backgroundRotate2.Active = true; backgroundRotate2.AngularVelocityDegree = 0.2f; BulletTitle bulletTitle = new BulletTitle(StageData, this.SC_Name); SpellCardAttack spellCardAttack = new SpellCardAttack(StageData); FullPic2 fullPic2 = new FullPic2(StageData, "FaceRakuki_ct"); }
public EnvironmentSSS05(StageDataPackage StageData) { this.StageData = StageData; this.DeviceMain = StageData.DeviceMain; this.Velocity = 1f; this.CameraPosition = new Vector3(400f, -460f, 210f); this.CameraTarget = new Vector3(400f, 0.0f, 0.0f); this.CameraDirection = new Vector3(0.0f, 0.0f, 1f); this.FogStart = 0.0f; this.FogEnd = 0.0f; this.light = new Light(); this.light.Type = LightType.Directional; Background3DObject background3Dobject = new Background3DObject(StageData, "Stair", new PointF(0.0f, 0.0f), false); }
public EndBoss_Touhou06( StageDataPackage StageData, PointF OriginalPosition, Color Color1, Color Color2) : base(StageData, OriginalPosition, Color1, Color2) { StageData.SlowMode = 300; if (!(this.Boss is Boss_Tensei02) || (double)this.Boss.HealthPoint > 0.0) { return; } this.LifeTime = 95; }
public MenuGroup_Manual(StageDataPackage StageData) : base(StageData) { this.MenuSelectIndex = 0; this.MenuItemList = new List <BaseMenuItem>() { new BaseMenuItem(StageData, "Menu_Manual01"), new BaseMenuItem(StageData, "Menu_Manual02"), new BaseMenuItem(StageData, "Menu_Manual03"), new BaseMenuItem(StageData, "Menu_Manual04"), new BaseMenuItem(StageData, "Menu_Manual05"), new BaseMenuItem(StageData, "Menu_Manual06") }; int num1 = 20; int num2 = 85; foreach (BaseMenuItem menuItem in this.MenuItemList) { menuItem.Position = new PointF((float)num1, 90f); menuItem.DestPoint = new PointF((float)num1, (float)num2); num2 += 30; } this.MenuItemList[this.MenuSelectIndex].Selected = true; this.MenuItemListManual = new List <BaseMenuItem>() { new BaseMenuItem(StageData, "Manual01"), new BaseMenuItem(StageData, "Manual02"), new BaseMenuItem(StageData, "Manual03"), new BaseMenuItem(StageData, "Manual04"), new BaseMenuItem(StageData, "Manual05"), new BaseMenuItem(StageData, "Manual06") }; foreach (BaseMenuItem baseMenuItem in this.MenuItemListManual) { baseMenuItem.Position = new PointF(0.0f, 0.0f); baseMenuItem.DestPoint = new PointF(0.0f, 0.0f); baseMenuItem.UnSelectVisible = false; baseMenuItem.Vibrateable = false; baseMenuItem.Twinkleable = false; baseMenuItem.TransparentValueF = 0.0f; } this.MenuItemListManual[this.MenuSelectIndex].Selected = true; this.TransparentValueF = 0.0f; this.MaxTransparent = (int)byte.MaxValue; this.TransparentVelocity = 5f; this.TxtureObject = this.TextureObjectDictionary["MenuBackground"]; this.OriginalPosition = new PointF((float)(this.BoundRect.Width / 2), (float)(this.BoundRect.Height / 2)); this.AngleDegree = 90.0; this.ColorValue = Color.FromArgb(30, 110, 150); }
public ItemBonus(StageDataPackage StageData) : base(StageData, (string)null, (PointF) new Point(0, 0), 0.0f, Math.PI / 2.0) { Rectangle boundRect = this.BoundRect; double num1 = (double)(boundRect.Width / 2); boundRect = this.BoundRect; double num2 = (double)(boundRect.Height / 2); this.OriginalPosition = new PointF((float)num1, (float)num2); this.LifeTime = 72; this.TransparentValueF = 0.0f; this.Accelerate = 0.1f; }
public BackgroundMySC(StageDataPackage StageData, string textureName) : base(StageData, textureName, new PointF(0.0f, 0.0f), 0.0f, 0.0) { this.Background.BackgroundList.Add((BaseObject)this); Rectangle boundRect = this.BoundRect; double num1 = (double)(boundRect.Width / 2); boundRect = this.BoundRect; double num2 = (double)(boundRect.Height / 2); this.OriginalPosition = new PointF((float)num1, (float)num2); this.Scale = 2.5f; this.AngularVelocityDegree = 0.5f; }
public override void HitCheckAll() { for (int index = this.MyBulletList.Count - 1; index >= 0; --index) { if (this.HitCheck(this.MyBulletList[index])) { float da = MyBulletList[index].Damage; if (MyPlane.SpellList.Count > 0) { da *= 1.25f; } if (MyPlane.EnchantmentState == EnchantmentType.Red) { da *= 1.25f; } if (MyPlane.LastColor == EnchantmentType.Red) { da *= 1.25f; } HealthPoint -= da; this.MyBulletList[index].GiveEndEffect(); this.MyBulletList.RemoveAt(index); this.MyPlane.Score += 10L; PointF originalPosition; if ((double)this.HealthPoint <= 0.0) { this.GiveEndEffect(); this.GiveItems(); this.EnemyPlaneList.Remove(this); StageDataPackage stageData = this.StageData; originalPosition = this.OriginalPosition; double num = (double)originalPosition.X / (double)this.BoundRect.Width; stageData.SoundPlay("se_enep00.wav", (float)num); break; } StageDataPackage stageData1 = this.StageData; originalPosition = this.OriginalPosition; double num1 = (double)originalPosition.X / (double)this.BoundRect.Width; stageData1.SoundPlay("se_damage01.wav", (float)num1); } } if (!this.MyPlane.HitEnabled || !this.HitCheck((BaseObject)this.MyPlane)) { return; } this.MyPlane.PreMiss(); }
public BaseEnemyPlane_Touhou GenerateEnemy(StageDataPackage StageData) { BaseEnemyPlane_Touhou enemyPlaneTouhou; switch (EnemyType) { case 0: ColorType = byte.Parse(EnemyName.Replace("EnemyA", "").Replace("EnemyB", "").Replace("EnemyC", "")); ColorType = ColorType > 3 ? (byte)(ColorType - 4U) : ColorType; enemyPlaneTouhou = new EnemyPlane_TouhouSmall(StageData, EnemyName, new PointF(0.0f, 0.0f), 0.0f, 0.0, ColorType); if (BackFire) { ((EnemyPlane_TouhouSmall)enemyPlaneTouhou).SetBackFire(); break; } break; case 1: enemyPlaneTouhou = new EnemyPlane_TouhouBig(StageData, EnemyName, new PointF(0.0f, 0.0f), 0.0f, 0.0, ColorType); break; case 2: ColorType = byte.Parse(EnemyName.Replace("EnemyGhost", "")); enemyPlaneTouhou = new EnemyPlane_TouhouGhost(StageData, new PointF(0.0f, 0.0f), 0.0f, 0.0, ColorType); break; case 3: ColorType = byte.Parse(EnemyName.Replace("EnemyMaoYu0", "")); enemyPlaneTouhou = new EnemyPlane_TouhouMaoYu(StageData, new PointF(0.0f, 0.0f), 0.0f, 0.0, ColorType); break; case 4: ColorType = (byte)(int.Parse(EnemyName.Replace("EnemyYYY", "")) - 4); enemyPlaneTouhou = new EnemyPlane_TouhouYYY(StageData, new PointF(0.0f, 0.0f), 0.0f, 0.0, ColorType); break; default: enemyPlaneTouhou = new EnemyPlane_TouhouNormal(StageData, EnemyName, new PointF(0.0f, 0.0f), 0.0f, 0.0, ColorType); break; } enemyPlaneTouhou.HealthPoint = HealthPoint; enemyPlaneTouhou.RedCount = RedCount; enemyPlaneTouhou.BlueCount = BlueCount; enemyPlaneTouhou.GreenCount = GreenCount; enemyPlaneTouhou.ClearRadius = ClearRadius; enemyPlaneTouhou.StarFall = StarFall; StageData.EnemyPlaneList.Remove(enemyPlaneTouhou); return(enemyPlaneTouhou); }
public BaseEnemyPlane_Touhou GenerateEnemy(StageDataPackage StageData) { BaseEnemyPlane_Touhou enemyPlaneTouhou; switch (this.EnemyType) { case 0: this.ColorType = byte.Parse(this.EnemyName.Replace("EnemyA", "").Replace("EnemyB", "").Replace("EnemyC", "")); this.ColorType = this.ColorType > (byte)3 ? (byte)((uint)this.ColorType - 4U) : this.ColorType; enemyPlaneTouhou = (BaseEnemyPlane_Touhou) new EnemyPlane_TouhouSmall(StageData, this.EnemyName, new PointF(0.0f, 0.0f), 0.0f, 0.0, this.ColorType); if (this.BackFire) { ((EnemyPlane_TouhouSmall)enemyPlaneTouhou).SetBackFire(); break; } break; case 1: enemyPlaneTouhou = (BaseEnemyPlane_Touhou) new EnemyPlane_TouhouBig(StageData, this.EnemyName, new PointF(0.0f, 0.0f), 0.0f, 0.0, this.ColorType); break; case 2: this.ColorType = byte.Parse(this.EnemyName.Replace("EnemyGhost", "")); enemyPlaneTouhou = (BaseEnemyPlane_Touhou) new EnemyPlane_TouhouGhost(StageData, new PointF(0.0f, 0.0f), 0.0f, 0.0, this.ColorType); break; case 3: this.ColorType = byte.Parse(this.EnemyName.Replace("EnemyMaoYu0", "")); enemyPlaneTouhou = (BaseEnemyPlane_Touhou) new EnemyPlane_TouhouMaoYu(StageData, new PointF(0.0f, 0.0f), 0.0f, 0.0, this.ColorType); break; case 4: this.ColorType = (byte)(int.Parse(this.EnemyName.Replace("EnemyYYY", "")) - 4); enemyPlaneTouhou = (BaseEnemyPlane_Touhou) new EnemyPlane_TouhouYYY(StageData, new PointF(0.0f, 0.0f), 0.0f, 0.0, this.ColorType); break; default: enemyPlaneTouhou = (BaseEnemyPlane_Touhou) new EnemyPlane_TouhouNormal(StageData, this.EnemyName, new PointF(0.0f, 0.0f), 0.0f, 0.0, this.ColorType); break; } enemyPlaneTouhou.HealthPoint = (float)this.HealthPoint; enemyPlaneTouhou.RedCount = this.RedCount; enemyPlaneTouhou.BlueCount = this.BlueCount; enemyPlaneTouhou.GreenCount = this.GreenCount; enemyPlaneTouhou.ClearRadius = this.ClearRadius; enemyPlaneTouhou.StarFall = this.StarFall; StageData.EnemyPlaneList.Remove((BaseEnemyPlane)enemyPlaneTouhou); return(enemyPlaneTouhou); }
public Bullet_RadialLaser( StageDataPackage StageData, PointF OriginalPosition, float Velocity, double Direction, byte ColorType, int Length, int Width) : this(StageData, "Laser0_" + (object)ColorType, OriginalPosition, Velocity, Direction, Length) { this.ColorType = ColorType; this.Active = true; this.Angle = Math.PI / 2.0; this.MaxScaleL = (float)Width / (float)this.TxtureObject.Height; }
public Spell_PlaneB(StageDataPackage StageData) { this.StageData = StageData; this.OriginalPosition = this.MyPlane.OriginalPosition; this.Damage = 0;// 45; this.Region = 30; this.LifeTime = 390; this.Direction = Math.PI / 2.0; this.SpellList.Add((BaseObject)this); new BackgroundBlack(StageData, this.Position).LifeTime = 410; this.MyPlane.HighSpeed = 1.6f; this.MyPlane.LowSpeed = 0.8f; new EmitterSaveEnegy3(StageData, this.Position).SetBinding((BaseObject)this); StageData.SoundPlay("boss_change.wav"); }
public Spell_Sanae(StageDataPackage StageData) { this.StageData = StageData; Position = MyPlane.Position; Damage = 36; Region = 4; LifeTime = 300; ScaleVelocity = 0.1f; MaxScale = 200f; BackgroundBlack backgroundBlack = new BackgroundBlack(StageData, Position); StageData.SoundPlay("se_cat00.wav"); StageData.SoundPlay("se_nep00.wav"); SpellList.Add(this); }
public EndBoss_Touhou( StageDataPackage StageData, PointF OriginalPosition, Color Color1, Color Color2) : this(StageData) { this.OriginalPosition = OriginalPosition; this.R2 = (int)Math.Max(Color1.R, Color2.R); this.R1 = (int)Math.Min(Color1.R, Color2.R); this.G2 = (int)Math.Max(Color1.G, Color2.G); this.G1 = (int)Math.Min(Color1.G, Color2.G); this.B2 = (int)Math.Max(Color1.B, Color2.B); this.B1 = (int)Math.Min(Color1.B, Color2.B); }
public Particle3D1( StageDataPackage StageData, string textureName, PointF OriginalPosition, float Velocity, double Direction, int LifeTime) : base(StageData, textureName, OriginalPosition, Velocity, Direction) { StageData.Particle3D.ParticleList.Add((BaseParticle3D)this); this.Active = true; this.MaxTransparent = 128; this.TransparentValueF = 0.0f; this.LifeTime = LifeTime; }
public ParticleWater(StageDataPackage StageData, PointF p, float v, double drctn) : base(StageData, (string)null, p, v, drctn) { this.TxtureObjects = new TextureObject[6] { this.TextureObjectDictionary["588-1"], this.TextureObjectDictionary["589-1"], this.TextureObjectDictionary["590-1"], this.TextureObjectDictionary["591-1"], this.TextureObjectDictionary["592-1"], this.TextureObjectDictionary["593-1"] }; this.LifeTime = 17; this.Ay = 0.6f; }
public Spell_PlaneB(StageDataPackage StageData) { this.StageData = StageData; OriginalPosition = MyPlane.OriginalPosition; Damage = 45; Region = 30; LifeTime = 390; Direction = Math.PI / 2.0; SpellList.Add(this); new BackgroundBlack(StageData, Position).LifeTime = 410; MyPlane.HighSpeed = 1.6f; MyPlane.LowSpeed = 0.8f; new EmitterSaveEnegy3(StageData, Position).SetBinding(this); StageData.SoundPlay("boss_change.wav"); }
public Spell_Shinmyoumaru(StageDataPackage StageData) { this.StageData = StageData; this.Position = this.MyPlane.Position; this.Damage = 0;// 32; this.Region = 4; this.LifeTime = 300; this.ScaleVelocity = 0.3f; this.MaxScale = 200f; BackgroundBlack backgroundBlack = new BackgroundBlack(StageData, this.Position); StageData.SoundPlay("se_cat00.wav"); StageData.SoundPlay("se_nep00.wav"); this.SpellList.Add((BaseObject)this); }
public CharacterR(StageDataPackage StageData, string textureName) : base(StageData) { Rectangle boundRect = BoundRect; double num1 = boundRect.Right - 100; boundRect = BoundRect; double num2 = boundRect.Top + 200; Position = new PointF((float)num1, (float)num2); Velocity = 0.0f; Direction = 0.0; TxtureObject = TextureObjectDictionary[textureName]; Active = false; TransparentValueF = 0.0f; }
public BackgroundMove(StageDataPackage StageData, string textureName) : base(StageData, textureName, new PointF(0.0f, 0.0f), 0.0f, 0.0) { this.Background.BackgroundList.Add((BaseObject)this); Rectangle boundRect = this.BoundRect; double num1 = (double)(boundRect.Height / 2); boundRect = this.BoundRect; double num2 = (double)(boundRect.Height / 2); this.OriginalPosition = new PointF((float)num1, (float)num2); this.Scale = (float)this.BoundRect.Height / (float)this.TxtureObject.Height; this.Velocity = 2f; this.DirectionDegree = 225.0; this.OutsideRegion = 1000; }
public CharacterName(StageDataPackage StageData, string textureName) : base(StageData) { Rectangle boundRect = BoundRect; double num1 = boundRect.Right - 70; boundRect = BoundRect; double num2 = boundRect.Top + 300; Position = new PointF((float)num1, (float)num2); Velocity = 0.0f; Direction = Math.PI / 2.0; TransparentValueF = 0.0f; TxtureObject = TextureObjectDictionary[textureName]; TransparentVelocityDictionary.Add(10, 20f); TransparentVelocityDictionary.Add(210, -10f); }
public Particle3D4( StageDataPackage StageData, string textureName, PointF OriginalPosition, float Velocity, double Direction, int LifeTime) : base(StageData, textureName, OriginalPosition, Velocity, Direction) { this.Active = true; StageData.Particle3D.ParticleList.Add((BaseParticle3D)this); this.MaxTransparent = 128; this.TransparentValueF = (float)this.MaxTransparent; this.LifeTime = LifeTime; this.Accelerate = (float)this.Ran.Next(10) / 100f; }
public BulletPicEmitter01( StageDataPackage StageData, string BPicName, BaseObject Bullet, PointF OriginalPosition, double Direction, byte ColorType) : base(StageData) { this.OriginalPosition = OriginalPosition; this.BulletPic = StageData.GlobalData.BulletPicDictionary[BPicName]; this.Bullet = Bullet; this.ColorType = ColorType; this.length = (int)Math.Sqrt((double)this.BulletPic.Length); this.LifeTime = this.length * 2 + 10; }
public BulletYukaLaser( StageDataPackage StageData, string textureName, PointF OriginalPosition, float Velocity, double Direction) : base(StageData, textureName, OriginalPosition, Velocity, Direction) { this.OriginalPosition = OriginalPosition; this.ScaleWidth = 0.05f; this.Active = true; this.LifeTime = 500; this.ColorValue = Color.FromArgb((int)byte.MaxValue, 120, 80); this.UnRemoveable = true; this.Angle = 0.0; }