public Particle(ParticleParameters parameters) { createGameObject(parameters.type); setInitialPosition(parameters.birth); setRandomTimeToLive(); setRandomTrajectory(); }
//Special draw method to draw particles public void Draw(SpriteBatch spriteBatch, ParticleParameters particleParams) { Rectangle sourceRectangle = Texture.Bounds; Vector2 origin = new Vector2(Texture.Width / 2f, Texture.Height / 2f); spriteBatch.Draw(Texture, particleParams.Pos, sourceRectangle, particleParams.ParticleCol, particleParams.Rot, origin, particleParams.Scale, SpriteEffects.None, 0f); }
private void UpdateParticleData() { if (spawnedParticleList.Count > 0) { currentParameters = GetParticleParameters(); RegisterParticleData(); } }
public static ParticleParameters GetWithAmount(int amount) { ParticleParameters parameter = new ParticleParameters(); parameter.position = new Vector3[amount]; parameter.scale = new Vector3[amount]; parameter.rotation = new Vector4[amount]; parameter.color = new Vector3[amount]; return(parameter); }
public ParticleParameters GetParticleParameters() { int count = spawnedParticleList.Count; ParticleParameters parameters = ParticleParameters.GetWithAmount(count); for (int i = 0; i < count; i++) { Particle tmp = spawnedParticleList[i]; parameters.position[i] = tmp.position; parameters.rotation[i] = tmp.rotation; parameters.scale[i] = tmp.scale; parameters.color[i] = tmp.color; } return(parameters); }
public Particle(IGame game, float x, float y, ParticleParameters parameters) { Dead = false; this.game = game; this.Type = parameters.Type; this.width = parameters.width; this.height = parameters.height; this.Alpha = parameters.Alpha; this.AngularVelocity = parameters.AngularVelocity; this.Color = parameters.Color; this.Image = parameters.Image; this.LinearVelocity = parameters.LinearVelocity; this.TTL = parameters.TTL; this.VelocityAlpha = parameters.VelocityAlpha; this.radius = parameters.radius; this.x = x; this.y = y; }
public static extern bool SetParticleParams(IntPtr physEnt, ref ParticleParameters parameters);
extern public static bool GetParticleParams(IntPtr physEnt, ref ParticleParameters parameters);
public bool SetParameters(ref ParticleParameters parameters) { return NativePhysicsMethods.SetParticleParams(Handle, ref parameters); }
private void createParticle() { var parameters = new ParticleParameters(primitiveType, birthType); particles.Add(new Particle(parameters)); }
public bool SetParameters(ref ParticleParameters parameters) { return PhysicsInterop.SetParticleParams(Handle, ref parameters); }
public bool GetParameters(ref ParticleParameters parameters) { return(PhysicsInterop.GetParticleParams(Handle, ref parameters)); }
public bool GetParameters(ref ParticleParameters parameters) { return(NativePhysicsMethods.GetParticleParams(Handle, ref parameters)); }
public override void UnParse(Stream stream) { var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian); s.Write(Flags); ParticleParameters.UnParse(stream); mRateCurve.UnParse(stream); s.Write(mRateCurveTime); s.Write(mRateCurveCycles); s.Write(mRateSpeedScale); mSizeCurve.UnParse(stream); s.Write(mSizeVary); mAspectCurve.UnParse(stream); s.Write(mAspectVary); s.Write(mRotationVary); s.Write(mRotationOffset); mRotationCurve.UnParse(stream); mAlphaCurve.UnParse(stream); s.Write(mAlphaVary); mColorCurve.UnParse(stream); mColorVary.UnParse(stream); mDrawInfo.UnParse(stream); s.Write(mPhysicsType); s.Write(mOverrideSet); s.Write(mTileCountU); s.Write(mTileCountV); s.Write(mAlignMode); s.Write(mFrameSpeed); s.Write(mFrameStart); s.Write(mFrameCount); s.Write(mFrameRandom); mDirectionalForcesSum.UnParse(stream); s.Write(mWindStrength); s.Write(mGravityStrength); s.Write(mRadialForce); mRadialForceLocation.UnParse(stream); s.Write(mDrag); s.Write(mVelocityStretch); s.Write(mScrewRate); mWiggles.UnParse(stream); s.Write(mScreenBloomAlphaRate); s.Write(mScreenBloomAlphaBase); s.Write(mScreenBloomSizeRate); s.Write(mScreenBloomSizeBase); mLoopBoxColorCurve.UnParse(stream); mLoopBoxAlphaCurve.UnParse(stream); mSurfaces.UnParse(stream); s.Write(mMapBounce); s.Write(mMapRepulseHeight); s.Write(mMapRepulseStrength); s.Write(mMapRepulseScoutDistance); s.Write(mMapRepulseVertical); s.Write(mMapRepulseKillHeight); //-1000000000.0f s.Write(mProbabilityDeath); //0f mAltitudeRange.UnParse(stream); // (-10000.0f, 10000.0f) s.Write(mForceMapId); s.Write(mEmitRateMapId); s.Write(mEmitColorMapId); mRandomWalk.UnParse(stream); mAttractorOrigin.UnParse(stream); mAttractor.UnParse(stream); mPathPoints.UnParse(stream); //Version 2+ if (mSection.Version >= 0x0002) { mVector01.UnParse(stream); mVector3List01.UnParse(stream); } //Version 3+ if (mSection.Version >= 0x0003) { s.Write(mByte01); } //Version 4+ if (mSection.Version >= 0x0004) { s.Write(mFloat01); } //Version 5+ if (mSection.Version >= 0x0005) { if (isTheSims4) { mVector02.UnParse(stream); s.Write(mUnknown170); } else { s.Write(mVector02.X); } } if (isTheSims4) { //Version 6+ if (mSection.Version >= 0x0006) { mUnknown140.UnParse(stream); } else { s.Write(mUnknown140.X); } //Version 7+ if (mSection.Version >= 0x0007) { mUnknown150.UnParse(stream); } s.Write(mUnknown160); s.Write(mUnknown164); s.Write(mUnknown1C1); if (mUnknown1C1 != 0) { mUnknown180.UnParse(stream); s.Write(mUnknown1C0); if (mSection.Version >= 0x0006) { mUnknown190.UnParse(stream); } else { s.Write(mUnknown190.X); } if (mSection.Version >= 0x0007) { mUnknown1A0.UnParse(stream); } s.Write(mUnknown1B0); s.Write(mUnknown1B4); } if (mSection.Version >= 0x0006) { s.Write(mUnknown208); if (mUnknown208 != 0) { s.Write(mUnknown20C); s.Write(mUnknown209); s.Write(mUnknown20A); s.Write(mUnknown20B); } } } }