private void constructSkaia() { godTierInnerSpiro = new TexturedPlane(new Vector3(0, 8, 0), Quaternion.Identity, new Vector2(45), new Color(182, 251, 255, 100), true, ScreenManager.Content.Load <Texture2D>(".//Miscellaneous//God Tier 1.png")); godTierInnerSpiro.depthBias = -0.02f; godTierInnerSpiro.AddModifier(new BillboardRotateModifier3D(0.0005f, true, false, -1)); godTierInnerFill = new TexturedPlane(new Vector3(0, 8, 0), Quaternion.Identity, new Vector2(45), new Color(0, 197, 255, 66), true, ScreenManager.Content.Load <Texture2D>(".//Miscellaneous//God Tier 2.png")); godTierInnerFill.depthBias = -0.01f; godTierInnerFill.AddModifier(new BillboardRotateModifier3D(0.0005f, true, false, -1)); godTierOuterSpiro = new TexturedPlane(new Vector3(0, 8, 0), Quaternion.Identity, new Vector2(67), new Color(182, 251, 255, 66), true, ScreenManager.Content.Load <Texture2D>(".//Miscellaneous//God Tier 1.png")); godTierOuterSpiro.depthBias = -0.04f; godTierOuterSpiro.AddModifier(new BillboardRotateModifier3D(0.0005f, true, false, -1)); godTierOuterFill = new TexturedPlane(new Vector3(0, 8, 0), Quaternion.Identity, new Vector2(67), new Color(0, 197, 255, 66), true, ScreenManager.Content.Load <Texture2D>(".//Miscellaneous//God Tier 2.png")); godTierOuterFill.depthBias = -0.03f; godTierOuterFill.AddModifier(new BillboardRotateModifier3D(0.0005f, true, false, -1)); glowEffect = new TexturedPlane(new Vector3(0, 8, 0), Quaternion.Identity, new Vector2(40), new Color(0, 197, 255, 128), true, ScreenManager.Content.Load <Texture2D>(".//Miscellaneous//Glow.png")); glowEffect.depthBias = -0.05f; godTierSymbol = new TexturedPlane(new Vector3(0, 8, 0), Quaternion.Identity, new Vector2(7), new Color(0, 0, 0, 255), true, ScreenManager.Content.Load <Texture2D>(".//Miscellaneous//of Breath.png")); godTierSymbol.depthBias = -0.06f; lowerSpirograph = new Spirograph(1f, 10f / 7f, 7, 1, 12, 0, Color.White); lowerSpirograph.Rotation = Quaternion.CreateFromYawPitchRoll(0, 0, MathHelper.PiOver2); lowerSpirograph.WorldPosition = new Vector3(0, 2, 0); lowerSpirograph.AddModifier(new RotateModifier3D(Quaternion.CreateFromYawPitchRoll(-0.01f, 0, 0), false, -1)); lowerSpirograph.Generate(600); reckoningGates = new Spirograph[50]; }
public void Initialize(float distFromCenter, float orbitAngle, float orbitSpeed) { gates = new Spirograph[7]; if (PlayerEntered == true) { plane.Color = Color.White; planeOrbit = new OrbitModifier3D(new Vector3(0, 8, 0), Vector3.Up, distFromCenter, orbitAngle, orbitSpeed, plane, false, -1); plane.AddModifier(planeOrbit); lowerSpirograph = new Spirograph(1f, 10f / 7f, 7, 1, 3, 0, PrimaryColor); lowerSpirograph.AddModifier(new RotateModifier3D(Quaternion.CreateFromYawPitchRoll(0.02f, 0, 0), false, -1)); } else { plane.Color = new Color(50, 50, 50); planeOrbit = new OrbitModifier3D(Vector3.Zero, Vector3.Up, distFromCenter, orbitAngle, orbitSpeed, plane, false, -1); plane.AddModifier(planeOrbit); lowerSpirograph = new Spirograph(1f, 10f / 7f, 7, 0.4f, 3, 0, Color.Lerp(PrimaryColor, Color.Black, 0.8f)); lowerSpirograph.AddModifier(new RotateModifier3D(Quaternion.CreateFromYawPitchRoll(-0.01f, 0, 0), false, -1)); } lowerSpirograph.Generate(300); lowerSpiroOrbit = new OrbitModifier3D(Vector3.Zero, Vector3.Up, distFromCenter, orbitAngle, orbitSpeed, lowerSpirograph, false, -1); lowerSpirograph.AddModifier(lowerSpiroOrbit); lowerSpirograph.Rotation = Quaternion.CreateFromYawPitchRoll(0, 0, MathHelper.PiOver2); for (int i = 0; i < 7; i++) { float gateDist = ((distFromCenter - 20) / 7) * (6 - i) + 20; if (PlayerEntered == true) { gates[i] = new Spirograph(1f, 10f / 7f, 7, 1, 0.2f, 0, SecondaryColor); gates[i].Generate(140); } else { gates[i] = new Spirograph(1f, 10f / 7f, 7, 1, 0.2f, 0, Color.TransparentBlack); gates[i].Generate(140); } gates[i].Rotation = Quaternion.CreateFromYawPitchRoll(orbitAngle, 0, 0);//(MathHelper.TwoPi - (MathHelper.TwoPi / currentSession.Lands.Length)) * i gates[i].AddModifier(new RotateModifier3D(Quaternion.CreateFromYawPitchRoll(-orbitSpeed, 0, 0), false, -1)); gates[i].WorldPosition = new Vector3(0, 8, 0); gates[i].AddModifier(new OrbitModifier3D(new Vector3(0, 8, 0), Vector3.Up, gateDist, orbitAngle, orbitSpeed, gates[i], false, -1)); } }
public override void LoadContent() { ScreenManager.Content = new DynamicContentManager(ScreenManager.StaticGame, ScreenManager.StaticGame.Content.RootDirectory); base.LoadContent(); spirograph = new Spirograph(1, 10f / 7f, 7, 1, 1, 300, new Color(0, 30, 0)); camera = new SphericalCamera(Vector3.Zero, new Vector2(0, 90), 12); ScreenManager.Globals.Camera = camera; camera.InputIndependent = true; spirograph.Generate(600); spirograph.AddModifier(new RotateModifier3D(Quaternion.CreateFromYawPitchRoll(0, -0.01f, 0), false, -1)); spirograph.AddModifier(new SpirographLerpModifier(-1, -1, -1, -1, 1, false, spirograph, 300)); spirograph.AddModifier(new ColorModifier3D(new Color(100, 255, 100), false, spirograph, 300)); flashComplete = false; shrinkComplete = false; growComplete = false; preloadContentThread = new Thread(new ThreadStart(Preload)); preloadContentThread.Start(); ScreenManager.IsMouseVisible = false; }
public void Update() { if (!Paused && Active) { if (frames != 0) { if (owner.smallerRadius != targetSmallRadius) { owner.smallerRadius -= lerpSpeed.X; } if (owner.largerRadius != targetLargeRadius) { owner.largerRadius -= lerpSpeed.Y; } if (owner.radians != targetRadians) { owner.radians -= lerpSpeed.Z; } if (owner.distToPoint != targetDist) { owner.distToPoint -= lerpSpeed.W; } owner.Generate(owner.lineVertices.Length); if ((sRadiusWasSmaller && owner.smallerRadius > targetSmallRadius) || (!sRadiusWasSmaller && owner.smallerRadius < targetSmallRadius)) { owner.smallerRadius = targetSmallRadius; } if ((distWasSmaller && owner.distToPoint > targetDist) || (!distWasSmaller && owner.distToPoint < targetDist)) { owner.distToPoint = targetDist; } if ((lRadiusWasSmaller && owner.largerRadius > targetLargeRadius) || (!lRadiusWasSmaller && owner.largerRadius < targetLargeRadius)) { owner.largerRadius = targetLargeRadius; } if ((radiansWasSmaller && owner.radians > targetRadians) || (!radiansWasSmaller && owner.radians < targetRadians)) { owner.radians = targetRadians; } if (owner.smallerRadius == targetSmallRadius && owner.distToPoint == targetDist && owner.largerRadius == targetLargeRadius && owner.radians == targetRadians) { Active = false; if (Complete != null) { Complete(this, EventArgs.Empty); } } frames--; } else { Active = false; if (Complete != null) { Complete(this, EventArgs.Empty); } } } }