Example #1
0
        public IShaderProgram GetShader(DrawableType type)
        {
            IShaderProgram shader = deferredGeometryShader;

            switch (type)
            {
            case DrawableType.particleMesh:
                shader = deferredParticleShader;
                break;

            case DrawableType.lightViewMesh:
                shader = shadowLightViewShader;
                break;

            case DrawableType.shadowMapMesh:
                shader = shadowMapShader;
                break;

            case DrawableType.particleShadowLightView:
                shader = shadowLightViewShaderParticle;
                break;

            case DrawableType.particleShadowMap:
                shader = shadowMapShaderParticle;
                break;
            }

            return(shader);
        }
Example #2
0
 public Drawable(int id, Shape s, Vector p)
 {
     _elemShape = s;
     _position  = p;
     _type      = DrawableType.full;
     _id        = id;
     _color     = Color.Blue;
     _penWidth  = 1;
 }
Example #3
0
        public static string DrawableTypeToString(DrawableType type)
        {
            switch (type)
            {
            case DrawableType.Head: return("head");

            case DrawableType.Mask: return("berd");

            case DrawableType.Hair: return("hair");

            case DrawableType.Body: return("uppr");

            case DrawableType.Legs: return("lowr");

            case DrawableType.Bag: return("hand");

            case DrawableType.Shoes: return("feet");

            case DrawableType.Accessories: return("teef");

            case DrawableType.Undershirt: return("accs");

            case DrawableType.Armor: return("task");

            case DrawableType.Decal: return("decl");

            case DrawableType.Top: return("jbib");

            case DrawableType.PropHead: return("p_head");

            case DrawableType.PropEyes: return("p_eyes");

            case DrawableType.PropEars: return("p_ears");

            case DrawableType.PropMouth: return("p_mouth");

            case DrawableType.PropLHand: return("p_lhand");

            case DrawableType.PropRHand: return("p_rhand");

            case DrawableType.PropLWrist: return("p_lwrist");

            case DrawableType.PropRWrist: return("p_rwrist");

            case DrawableType.PropHip: return("p_hip");

            case DrawableType.PropLFoot: return("p_lfoot");

            case DrawableType.PropRFoot: return("p_rfoot");

            case DrawableType.PropUnk1: return("p_unk1");

            case DrawableType.PropUnk2: return("p_unk2");

            default: return("");
            }
        }
Example #4
0
        public VAO GetDrawable(DefaultMesh mesh, DrawableType type)
        {
            MeshAttribute uvs = mesh.GetAttribute("uv");

            int elems = uvs.ToArray().Length;

            if (elems == 0)
            {
                mesh.SetConstantUV(new Vector2(0, 0));
            }
            IShaderProgram shader = GetShader(type);
            VAO            res    = VAOLoader.FromMesh(mesh, shader);

            return(res);
        }
Example #5
0
        void reloadProperties(XElement element)
        {
            // Ensure we are drawables
            if (!IsDrawable)
            {
                throw new MarkupException($"Type '{DrawableType}' is not a drawable.");
            }

            // Parse properties
            Properties.Clear();

            foreach (var attribute in element.Attributes())
            {
                // Ignore namespace attributes
                if (attribute.Name.LocalName == "xmlns" ||
                    element.GetPrefixOfNamespace(attribute.Name.Namespace) == "xmlns")
                {
                    continue;
                }

                var property = DrawableType.GetFieldOrProperty(attribute.Name.LocalName);

                if (property == null)
                {
                    throw new MarkupException($"Drawable '{DrawableType}' [{GivenName}] does not contain a property named '{attribute.Name.LocalName}'.");
                }

                try
                {
                    Properties.Add(DrawableProperty.Parse(property, attribute.Value));
                }
                catch (Exception e)
                {
                    throw new MarkupException($"Could not parse property '{attribute.Name}' of Drawable '{DrawableType}' [{GivenName}].", e);
                }
            }
        }
Example #6
0
 public SliderHandler(DrawableType drawableType) : base(DrawMapper, PropertyMapper)
 {
     _drawableType = drawableType;
 }
Example #7
0
 public EntryHandler(DrawableType drawableType) : base(DrawMapper, PropertyMapper)
 {
     _drawableType = drawableType;
 }
        public static MauiAppBuilder ConfigureGraphicsControls(this MauiAppBuilder builder, DrawableType drawableType = DrawableType.Material)
        {
            builder.ConfigureMauiHandlers(handlers =>
            {
                handlers.AddGraphicsControlsHandlers(drawableType);
            });

            return(builder);
        }
        public static IMauiHandlersCollection AddGraphicsControlsHandlers(this IMauiHandlersCollection handlersCollection, DrawableType drawableType = DrawableType.Material)
        {
            handlersCollection.AddTransient(typeof(Button), h => new ButtonHandler(drawableType));
            handlersCollection.AddTransient(typeof(CheckBox), h => new CheckBoxHandler(drawableType));
            handlersCollection.AddTransient(typeof(DatePicker), h => new DatePickerHandler(drawableType));
            handlersCollection.AddTransient(typeof(Editor), h => new EditorHandler(drawableType));
            handlersCollection.AddTransient(typeof(Entry), h => new EntryHandler(drawableType));
            handlersCollection.AddTransient(typeof(GraphicsView), typeof(GraphicsViewHandler));
            handlersCollection.AddTransient(typeof(ProgressBar), h => new ProgressBarHandler(drawableType));
            handlersCollection.AddTransient(typeof(Slider), h => new SliderHandler(drawableType));
            handlersCollection.AddTransient(typeof(Stepper), h => new StepperHandler(drawableType));
            handlersCollection.AddTransient(typeof(Switch), h => new SwitchHandler(drawableType));
            handlersCollection.AddTransient(typeof(TimePicker), h => new TimePickerHandler(drawableType));

            return(handlersCollection);
        }
Example #10
0
        public ClothNameResolver(string filename)
        {
            var parts = Path.GetFileNameWithoutExtension(filename)?.Split('_');

            if (parts == null || parts.Length < 3)
            {
                throw new Exception("Wrong drawable name");
            }

            if (parts[0].ToLower() == "p")
            {
                clothType = Type.PedProp;

                string drName = parts[1].ToLower();
                switch (drName)
                {
                case "head": drawableType = DrawableType.PropHead; break;

                case "eyes": drawableType = DrawableType.PropEyes; break;

                case "ears": drawableType = DrawableType.PropEars; break;

                case "mouth": drawableType = DrawableType.PropMouth; break;

                case "lhand": drawableType = DrawableType.PropLHand; break;

                case "rhand": drawableType = DrawableType.PropRHand; break;

                case "lwrist": drawableType = DrawableType.PropLWrist; break;

                case "rwrist": drawableType = DrawableType.PropRWrist; break;

                case "hip": drawableType = DrawableType.PropHip; break;

                case "lfoot": drawableType = DrawableType.PropLFoot; break;

                case "rfoot": drawableType = DrawableType.PropRFoot; break;

                case "unk1": drawableType = DrawableType.PropUnk1; break;

                case "unk2": drawableType = DrawableType.PropUnk2; break;

                default: break;
                }

                bindedNumber = parts[2];
            }
            else
            {
                clothType = Type.Component;

                string drName = parts[0].ToLower();
                switch (drName)
                {
                case "head": drawableType = DrawableType.Head; break;

                case "berd": drawableType = DrawableType.Mask; break;

                case "hair": drawableType = DrawableType.Hair; break;

                case "uppr": drawableType = DrawableType.Body; break;

                case "lowr": drawableType = DrawableType.Legs; break;

                case "hand": drawableType = DrawableType.Bag; break;

                case "feet": drawableType = DrawableType.Shoes; break;

                case "teef": drawableType = DrawableType.Accessories; break;

                case "accs": drawableType = DrawableType.Undershirt; break;

                case "task": drawableType = DrawableType.Armor; break;

                case "decl": drawableType = DrawableType.Decal; break;

                case "jbib": drawableType = DrawableType.Top; break;

                default: break;
                }

                bindedNumber = parts[1];
                postfix      = parts[2].ToLower();
                if (parts.Length > 3)
                {
                    isVariation = true;
                }
            }
        }
Example #11
0
 private void toolStripButton4_Click(object sender, EventArgs e)
 {
     drawableTypeSelected = DrawableType.Ellipse;
 }
Example #12
0
 private void toolStripButton3_Click(object sender, EventArgs e)
 {
     drawableTypeSelected = DrawableType.Rect;
 }
 public TimePickerHandler(DrawableType drawableType) : base(DrawMapper, PropertyMapper)
 {
     _drawableType = drawableType;
 }
Example #14
0
 public ButtonHandler(DrawableType drawableType) : base(DrawMapper, PropertyMapper)
 {
     _drawableType = drawableType;
 }
 public CheckBoxHandler(DrawableType drawableType) : base(DrawMapper, PropertyMapper)
 {
     _drawableType = drawableType;
 }
 public ProgressBarHandler(DrawableType drawableType) : base(DrawMapper, PropertyMapper)
 {
     _drawableType = drawableType;
 }