Пример #1
0
//    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;
    }
Пример #2
0
        /// <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;
        }