public override void SpawnBody() { if (CBody != null) { DestroyBody(); } CBody = GenCharCon(); Body = CBody.Body; Shape = CBody.Body.CollisionInformation.Shape; TheRegion.PhysicsWorld.Add(CBody); Jetpack = new JetpackMotionConstraint(this); TheRegion.PhysicsWorld.Add(Jetpack); }
public override void SpawnBody() { base.SpawnBody(); if (CursorMarker == null) { CursorMarker = new ModelEntity("cube", TheRegion); CursorMarker.scale = new Location(0.1f, 0.1f, 0.1f); CursorMarker.mode = ModelCollisionMode.AABB; CursorMarker.CGroup = CollisionUtil.NonSolid; CursorMarker.Visible = false; CursorMarker.CanSave = false; TheRegion.SpawnEntity(CursorMarker); } Jetpack = new JetpackMotionConstraint(this); TheRegion.PhysicsWorld.Add(Jetpack); }
public override void DestroyBody() { if (CBody == null) { return; } if (Jetpack != null) { TheRegion.PhysicsWorld.Remove(Jetpack); Jetpack = null; } base.DestroyBody(); if (CursorMarker.IsSpawned && !CursorMarker.Removed) { CursorMarker.RemoveMe(); CursorMarker = null; } }
public override void DestroyBody() { if (CBody == null) { return; } if (Jetpack != null) { TheRegion.PhysicsWorld.Remove(Jetpack); Jetpack = null; } TheRegion.PhysicsWorld.Remove(CBody); CBody = null; Body = null; }