当前位置: 首页>>代码示例>>C#>>正文


C# IEntity.getVectorProperty方法代码示例

本文整理汇总了C#中IEntity.getVectorProperty方法的典型用法代码示例。如果您正苦于以下问题:C# IEntity.getVectorProperty方法的具体用法?C# IEntity.getVectorProperty怎么用?C# IEntity.getVectorProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IEntity的用法示例。


在下文中一共展示了IEntity.getVectorProperty方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FlyingPhysicsComponent

 public FlyingPhysicsComponent(IEntity owner, PhysicsData data)
     : base(owner)
 {
     this.position = owner.getVectorProperty(EntityProperty.Position);
     this.data = data;
     initialize();
 }
开发者ID:,项目名称:,代码行数:7,代码来源:

示例2: CreateCircle

        /// <summary>
        /// Construye un circulo según las opciones dadas
        /// </summary>
        /// <param name="id">Id del body</param>
        /// <param name="owner">Owner del body</param>
        /// <param name="isSolid">Si el body es sólido</param>
        /// <param name="relativeToFacing">Determina si se debe tomar en cuenta la dirección 
        /// a la que está mirando la entidad para posicionar el body 
        /// relativo a esa dirección</param>
        /// <param name="radius">Radio del circulo</param>
        /// <returns>Circulo generado</returns>
        public static Sphere CreateCircle(string id, IEntity owner, bool isSolid, bool relativeToFacing, float radius)
        {
            Sphere sphere = new Sphere(id, Vector2.Zero, radius, owner, isSolid);

            if (relativeToFacing)
            {
                bool facingRight = owner.getState(EntityState.FacingRight);
                if (facingRight != true)
                {
                    sphere.MirrorHorizontal(owner.getVectorProperty(EntityProperty.Position));
                }
            }

            return sphere;
        }
开发者ID:Towanime,项目名称:FeInwork,代码行数:26,代码来源:ShapeFactory.cs

示例3: CreateShapeFromString

        /// <summary>
        /// Recibe un string delimitado por espcio [campos] y , [registros]
        /// </summary>
        /// <param name="instructions"></param>
        /// <returns></returns>
        public static List<CollisionBody> CreateShapeFromString(String instructions, IEntity owner)
        {
            List<CollisionBody> collisionsResolved = new List<CollisionBody>();
            String[] registers = instructions.Split(',');
            for (int i = 0; i < registers.Length; i++)
            {
                String[] fields = registers[i].Split(' ');
                if (fields.Length > 5)
                {
                    switch (fields[0])
                    {
                        case "Rectangle":
                            collisionsResolved.Add(CreateRectangle(fields[1], owner, Boolean.Parse(fields[2]), true,
                                float.Parse(fields[3]), float.Parse(fields[4]), new Vector2(float.Parse(fields[5]),
                                    float.Parse(fields[6])) + owner.getVectorProperty(EntityProperty.Position), Boolean.Parse(fields[7])));
                            break;
                        case "Circle":
                            collisionsResolved.Add(CreateCircle(fields[1], owner, Boolean.Parse(fields[2]), true, float.Parse(fields[3]),
                                new Vector2(float.Parse(fields[4]), float.Parse(fields[5])) + owner.getVectorProperty(EntityProperty.Position), Boolean.Parse(fields[6])));
                            break;
                        case "Polygon":
                            collisionsResolved.Add(CreatePolygon(fields[1], owner, Boolean.Parse(fields[2]), true, getPointListFromStringArray(fields, 3, fields.Length - 3),
                                new Vector2(float.Parse(fields[fields.Length - 3]), float.Parse(fields[fields.Length - 2])) + owner.getVectorProperty(EntityProperty.Position),
                                Boolean.Parse(fields[fields.Length - 1])));
                            break;
                    }
                }
                else //Crea shapes no relativas a owner
                {
                    switch (fields[0])
                    {
                        case "Rectangle":
                            collisionsResolved.Add(CreateRectangle(fields[1], owner, Boolean.Parse(fields[2]), true,
                                float.Parse(fields[3]), float.Parse(fields[4])));
                            break;
                        case "Circle":
                            collisionsResolved.Add(CreateCircle(fields[1], owner, Boolean.Parse(fields[2]), true, float.Parse(fields[3])));
                            break;
                        case "Polygon":
                            collisionsResolved.Add(CreatePolygon(fields[1], owner, Boolean.Parse(fields[2]), true,
                                getPointListFromStringArray(fields, 3, fields.Length)));
                            break;
                    }
                }
            }

            return collisionsResolved;
        }
开发者ID:Towanime,项目名称:FeInwork,代码行数:53,代码来源:ShapeFactory.cs

示例4: CreateRectangle

        /// <summary>
        /// Construye un rectangulo según las opciones dadas
        /// </summary>
        /// <param name="id">Id del body</param>
        /// <param name="owner">Owner del body</param>
        /// <param name="isSolid">Si el body es sólido</param>
        /// <param name="relativeToFacing">Determina si se debe tomar en cuenta la dirección 
        /// a la que está mirando la entidad para posicionar el body 
        /// relativo a esa dirección</param>
        /// <param name="width">Ancho del rectangulo</param>
        /// <param name="height">Alto del rectangulo</param>
        /// <param name="startPosition">Coordenadas de inicio del body</param>
        /// <param name="startCenter">Determina si las coordenadas de inicio se refieren 
        /// al primer punto del body o al centro de este</param>
        /// <param name="layer">Capa de colisión donde se encontrará el body</param>
        /// <param name="colorTag">Tag de color especifico para responses que solo se activen ante dicho Tag</param>
        /// <returns>Rectangulo generado</returns>
        public static Box CreateRectangle(string id, IEntity owner, bool isSolid, bool relativeToFacing, float width, float height, Vector2 startPosition, bool startCenter, float layer, Color colorTag)
        {
            if (startCenter)
            {
                startPosition.X -= width / 2;
                startPosition.Y -= height / 2;
            }

            Box box = new Box(id, startPosition.X, startPosition.Y, width, height, owner, isSolid);
            box.Layer = layer;
            box.ColorTag = colorTag;

            if (relativeToFacing)
            {
                bool facingRight = owner.getState(EntityState.FacingRight);
                if (facingRight != true)
                {
                    box.MirrorHorizontal(owner.getVectorProperty(EntityProperty.Position));
                }
            }

            return box;
        }
开发者ID:Towanime,项目名称:FeInwork,代码行数:40,代码来源:ShapeFactory.cs

示例5: CreatePolygon

        /// <summary>
        /// Construye un poligono según las opciones dadas
        /// </summary>
        /// <param name="id">Id del body</param>
        /// <param name="owner">Owner del body</param>
        /// <param name="isSolid">Si el body es sólido</param>
        /// <param name="relativeToFacing">Determina si se debe tomar en cuenta la dirección 
        /// a la que está mirando la entidad para posicionar el body 
        /// relativo a esa dirección</param>
        /// <param name="polygonPoints">Coordenadas de cada punto del poligono</param>
        /// <param name="startPosition">Coordenadas de inicio del body</param>
        /// <param name="startCenter">Determina si las coordenadas de inicio se refieren
        /// al punto de inicio desde donde se crea el body o al centro del mismo</param>
        /// <returns>Poligono generado</returns>
        /// <param name="layer">Capa de colisión donde se encontrará el body</param>
        /// <param name="colorTag">Tag de color especifico para responses que solo se activen ante dicho Tag</param>
        /// <returns>Poligono generado</returns>
        public static Polygon CreatePolygon(string id, IEntity owner, bool isSolid, bool relativeToFacing, List<Vector2> polygonPoints, Vector2 startPosition, bool startCenter, float layer, Color colorTag)
        {
            Polygon polygon = new Polygon(id, polygonPoints, owner, isSolid, startPosition);
            polygon.Layer = layer;
            polygon.ColorTag = colorTag;

            if (startCenter)
            {
                polygon.Offset(startPosition.X - polygon.Center.X, startPosition.Y - polygon.Center.Y);
            }

            if (relativeToFacing)
            {
                bool facingRight = owner.getState(EntityState.FacingRight);
                if (facingRight != true)
                {
                    polygon.MirrorHorizontal(owner.getVectorProperty(EntityProperty.Position));
                }
            }

            return polygon;
        }
开发者ID:Towanime,项目名称:FeInwork,代码行数:39,代码来源:ShapeFactory.cs


注:本文中的IEntity.getVectorProperty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。