public bool Save(FlyScene scene) { try { string directory = SaveFolder; Directory.CreateDirectory(directory); string fullPath = Path.Combine(directory, "test.flys"); using (var stream = new MemoryStream()) { var context = new BinarySerializationContext(stream); Save(scene, context); stream.Flush(); StorageUtilities.CopyToFile(stream, fullPath); } Console.WriteLine("Saved!"); return(true); } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } }
private void OnOwnerRemoved(object sender, FlyScene scene) { if (this.body != null) { scene.PhysicsWorld.RemoveBody(this.body); this.body = null; } this.OnOwnerRemoved(scene); }
private void Save(FlyScene scene, BinarySerializationContext context) { context.WriteDefaultHeader(); context.Write(scene.HalfSize.X); context.Write(scene.HalfSize.Y); context.Write(scene.EntityCount); foreach (IFlyEntity entity in scene.Entities) { context.WriteObject(entity); } }
protected override void OnAdded(FlyScene scene) { float f = GetDistance(from); float t = GetDistance(to); float distance = f + t; float minWidth = distance; float maxWidth = distance + 6.0f; this.joint = JointFactory.CreateSliderJoint(scene.PhysicsWorld, this.from.Physics.Body, this.to.Physics.Body, Xna.Vector2.Zero, Xna.Vector2.Zero, minWidth, maxWidth); this.joint.DampingRatio = 1.0f; this.joint.Frequency = 0.25f; }
private FlyScene Load(BinaryDeserializationContext context) { context.ReadDefaultHeader(this.GetType()); Point2 halfSize; halfSize.X = context.ReadInt32(); halfSize.Y = context.ReadInt32(); FlyScene scene = new FlyScene(halfSize); int entityCount = context.ReadInt32(); for (int i = 0; i < entityCount; ++i) { var entity = context.ReadObject <FlyEntity>(); scene.AddEntity(entity); } return(scene); }
public SceneGravityApplicator(FlyScene scene) { Contract.Requires(scene != null); this.scene = scene; }
protected override void OnOwnerRemoved(FlyScene scene) { this.fixture = null; }
private void OnOwnerAdded(object sender, FlyScene scene) { this.GenerateCore(); }
protected virtual void OnOwnerRemoved(FlyScene scene) { }
protected override void OnRemoved(FlyScene scene) { scene.PhysicsWorld.RemoveJoint(this.joint); }
private void OnTargetRemoved(object sender, FlyScene e) { this.RemoveFromScene(); }
protected virtual void OnAdded(FlyScene scene) { }
private void OnSceneLoaded(FlyScene scene) { var asteroidPusher = new AsteroidPusher(rand); asteroidPusher.Push(scene); }