// public Image Tie; // public Image Shirt; public void SetImages(BodyShapes bodyShape) { Body.sprite = bodyShape.Body; Body.rectTransform.sizeDelta = bodyShape.Body.rect.size;//Im Not Sure Why Sprite.rect.size Should Work, But Looks Like rect.size == Sprite Pixel Size // Tie.sprite = bodyShape.Ties[Random.Range(0, bodyShape.Ties.Length)]; // Shirt.sprite = bodyShape.Shirts[Random.Range(0, bodyShape.Shirts.Length)]; // Tie.transform.localPosition = bodyShape.Ties; // Shirt.transform.localPosition = bodyShape.Shirts; }
/// <summary> /// numEdges must be less than 8 or farseer throws up /// </summary> /// <param name="position"></param> /// <param name="velocity"></param> /// <param name="rotation"></param> /// <param name="w"></param> /// <param name="size"></param> /// <param name="shape"></param> /// <param name="size2"></param> /// <param name="numEdges"></param> protected virtual void AssignBody(Vector2 position, Vector2 velocity, float rotation, World w, float size, BodyShapes shape = BodyShapes.Circle, float size2 = 1, int numEdges = 8) { switch (shape) { case BodyShapes.Circle: { Debugging.AddStack.Push(this.ToString()); Body = BodyFactory.CreateCircle(w, ConvertUnits.ToSimUnits(size), 1); break; } case BodyShapes.Oval: { Debugging.AddStack.Push(this.ToString()); Body = BodyFactory.CreateEllipse(w, ConvertUnits.ToSimUnits(size), ConvertUnits.ToSimUnits(size2), numEdges, 1); break; } } Body.BodyType = BodyType.Dynamic; Body.Mass = _shipStats.BaseWeight; Body.IsBullet = true; Body.Friction = 0; Body.Restitution = 0.5f; //_body.CollisionCategories = Category.Cat10; // This is nice to have but oh man is it brittle Body.OnCollision += _body_OnCollision; Body.LinearDamping = 0.00001f; Body.Position = position; Body.LinearVelocity = velocity; Body.Rotation = rotation; }