Beispiel #1
0
        public FSFixture Clone(FSBody body)
        {
            FSFixture fixture = new FSFixture();

            fixture.Body = body;

            if (FSSettings.ConserveMemory)
            {
                fixture.Shape = Shape;
            }
            else
            {
                fixture.Shape = Shape.Clone();
            }

            fixture.UserData             = UserData;
            fixture.UserBits             = UserBits;
            fixture.Restitution          = Restitution;
            fixture.Friction             = Friction;
            fixture.IsSensor             = IsSensor;
            fixture._collisionGroup      = CollisionGroup;
            fixture._collisionCategories = CollisionCategories;
            fixture._collidesWith        = CollidesWith;

            if (_collisionIgnores != null)
            {
                fixture._collisionIgnores = new Dictionary <int, bool>();

                foreach (KeyValuePair <int, bool> pair in _collisionIgnores)
                {
                    fixture._collisionIgnores.Add(pair.Key, pair.Value);
                }
            }

            fixture.RegisterFixture();
            return(fixture);
        }
Beispiel #2
0
		public FSFixture Clone(FSBody body) {
			FSFixture fixture = new FSFixture();
			fixture.Body = body;

			if (FSSettings.ConserveMemory)
				fixture.Shape = Shape;
			else
				fixture.Shape = Shape.Clone();

			fixture.UserData = UserData;
			fixture.UserBits = UserBits;
			fixture.Restitution = Restitution;
			fixture.Friction = Friction;
			fixture.IsSensor = IsSensor;
			fixture._collisionGroup = CollisionGroup;
			fixture._collisionCategories = CollisionCategories;
			fixture._collidesWith = CollidesWith;

			if (_collisionIgnores != null) {
				fixture._collisionIgnores = new Dictionary<int, bool>();

				foreach (KeyValuePair<int, bool> pair in _collisionIgnores)
					fixture._collisionIgnores.Add(pair.Key, pair.Value);
			}

			fixture.RegisterFixture();
			return fixture;
		}