Ejemplo n.º 1
0
        /// <summary>
        /// Constructor for entity
        /// </summary>
        /// <param name="aLayer">Which layer this entity belongs to.</param>
        public Entity(EntityLayer aLayer)
        {
            this._layer = aLayer;

            //always give the entity a transform
            Transform = new TransformComponent(this);
        }
Ejemplo n.º 2
0
        public void refreshEntityTree(EntityLayer layer)
        {
            //this.advTreeEntity.Nodes.Clear();

            //if (layer == null)
            //{
            //    if (advTreeLayer.SelectedNode != null)
            //    {
            //        layer = this.advTreeLayer.SelectedNode.DataKey as EntityLayer;
            //        if (layer == null)
            //        {
            //            return;
            //        }
            //    }
            //}

            //Node entity_root = new Node();
            //entity_root.Text = "物品列表";
            //entity_root.Name = "EntityRoot";
            //entity_root.DataKey = null;
            //this.advTreeEntity.Nodes.Add(entity_root);

            //foreach (Entity entity in layer.OriginBuffer)
            //{
            //    DevComponents.AdvTree.Node node = new DevComponents.AdvTree.Node();
            //    node.Text = entity.Name;
            //    node.DataKey = entity;
            //    entity_root.Nodes.Add(node);
            //}

            //entity_root.Expanded = true;
        }
Ejemplo n.º 3
0
        public static string LayerIdToString(EntityLayer layerId)
        {
            switch (layerId)
            {
                case EntityLayer.DefaultLayer: return "Default Layer";
                case EntityLayer.Zero: return "Layer 0";
                case EntityLayer.One: return "Layer 1";
                case EntityLayer.Two: return "Layer 2";
                case EntityLayer.Three: return "Layer 3";
                case EntityLayer.Four: return "Layer 4";
                case EntityLayer.Five: return "Layer 5";
                case EntityLayer.Six: return "Layer 6";
                case EntityLayer.Seven: return "Layer 7";
                case EntityLayer.Eight: return "Layer 8";
                case EntityLayer.Nine: return "Layer 9";
                case EntityLayer.A: return "Layer A";
                case EntityLayer.B: return "Layer B";
                case EntityLayer.C: return "Layer C";
                case EntityLayer.D: return "Layer D";
                case EntityLayer.E: return "Layer E";
                case EntityLayer.F: return "Layer F";

                default:
                    Console.WriteLine("WARNING: Unknown EntityLayer LayerID when converting to string! {0}", layerId);
                    return "UNKN";
            }
        }
Ejemplo n.º 4
0
        public static Color LayerIdToColor(EntityLayer layerId)
        {
            switch (layerId)
            {
                case EntityLayer.DefaultLayer: return Color.LightGreen;
                case EntityLayer.Zero: return Color.LightBlue;
                case EntityLayer.One: return Color.LightGoldenrodYellow;
                case EntityLayer.Two: return Color.LightPink;
                case EntityLayer.Three: return Color.LightSalmon;
                case EntityLayer.Four: return Color.LightSeaGreen;
                case EntityLayer.Five: return Color.LightSteelBlue;
                case EntityLayer.Six: return Color.LightSlateGray;
                case EntityLayer.Seven: return Color.LightCoral;
                case EntityLayer.Eight: return Color.LightSkyBlue;
                case EntityLayer.Nine: return Color.LightCyan;
                case EntityLayer.A: return Color.MediumAquamarine;
                case EntityLayer.B: return Color.MediumSeaGreen;
                case EntityLayer.C: return Color.MediumSpringGreen;
                case EntityLayer.D: return Color.MediumTurquoise;
                case EntityLayer.E: return Color.SlateBlue;
                case EntityLayer.F: return Color.MediumOrchid;

                default:
                    Console.WriteLine("WARNING: Unknown EntityLayer LayerID when converting to string! {0}", layerId);
                    return Color.Red;
            }
        }
Ejemplo n.º 5
0
 public EntityRemoveNodeAction(EntityLayer entityLayer, Entity entity, int index)
     : base(entityLayer)
 {
     this.entity = entity;
     this.index  = index;
 }
Ejemplo n.º 6
0
 public EntityLayerEditor(LevelEditor levelEditor, EntityLayer layer)
     : base(levelEditor, layer)
 {
     Layer = layer;
 }
Ejemplo n.º 7
0
        private void DrawEntities(RenderInfo info, EntityLayer entities)
        {
            int tiles = layers[currentLayer].Type == LayerType.Entities ? 0: 1;

            Vector2 topLeft = new Vector2(0, 0);

            if (Editing.Camera != null)
            {
                topLeft = new Vector2(info.Camera.Left, info.Camera.Top);
            }
            for (int i = 0; i < entities.Components.Count; i++)
            {
                Entity entity = entities.Components[i] as Entity;
                if (entity != null && entity.Shape != null && entity.Properties.GetInt("isTile", 0) == tiles)
                {
                    info.Canvas.StrokeColor = Color.White;
                    info.Canvas.LineWidth   = 4;
                    topLeft = DrawEntity(info, topLeft, entity);

                    info.Canvas.StrokeColor = Color.Black;
                    if (entity == selectedEntity)
                    {
                        info.Canvas.StrokeColor = Color.Yellow;
                    }
                    else if (entity == hoveringEntity)
                    {
                        info.Canvas.StrokeColor = Color.Cyan;
                    }
                    info.Canvas.LineWidth = 2;
                    topLeft = DrawEntity(info, topLeft, entity);

                    if (info.IsTopState)
                    {
                        if (entity == selectedEntity)
                        {
                            string  name = selectedEntity.Properties.GetString(EntityFactory.PROPERTY_NAME_BLUEPRINT, entity.GetType().Name);
                            Vector2 size = font.MeasureString(name);
                            font.DrawString(info, name, entity.Position - topLeft - size * 0.5f, Color.Yellow);
                        }
                        else if (entity == hoveringEntity)
                        {
                            string  name = hoveringEntity.Properties.GetString(EntityFactory.PROPERTY_NAME_BLUEPRINT, hoveringEntity.GetType().Name);
                            Vector2 size = font.MeasureString(name);
                            font.DrawString(info, name, entity.Position - topLeft - size * 0.5f, Color.Cyan);
                        }
                    }
                }
            }

            if (info.IsTopState)
            {
                info.Canvas.StrokeColor = Color.Red;
                info.Canvas.LineWidth   = 2;
                if (drawingEntity != null && hoveringEntity == null)
                {
                    DrawEntity(info, topLeft, drawingEntity);
                    string  name = drawingEntity.Properties.GetString(EntityFactory.PROPERTY_NAME_BLUEPRINT, drawingEntity.GetType().Name);;
                    Vector2 size = font.MeasureString(name);
                    font.DrawString(info, name, drawingEntity.Position - topLeft - size * 0.5f, Color.Red);
                }
                else if (layers[currentLayer].Type == LayerType.Tiles)
                {
                    Vector2 pos = SnapPosition(mousePosition) - topLeft;
                    info.Canvas.Begin();
                    info.Canvas.MoveTo(pos - Vector2.One * layers[currentLayer].TileSize * 0.5f);
                    info.Canvas.LineTo(pos + Vector2.One * layers[currentLayer].TileSize * 0.5f);
                    info.Canvas.MoveTo(pos + new Vector2(layers[currentLayer].TileSize * 0.5f, -layers[currentLayer].TileSize * 0.5f));
                    info.Canvas.LineTo(pos + new Vector2(-layers[currentLayer].TileSize * 0.5f, layers[currentLayer].TileSize * 0.5f));
                    info.Canvas.Stroke();
                }
            }
        }
Ejemplo n.º 8
0
 public EntityMoveAction(EntityLayer entityLayer, List <Entity> entities, Point move)
     : base(entityLayer)
 {
     this.entities = new List <Entity>(entities);
     this.move     = move;
 }
Ejemplo n.º 9
0
 public ConversationModelView(EntityLayer.Conversation conversation)
 {
     m_conversation = conversation;
 }
Ejemplo n.º 10
0
 public EntityRemoveAction(EntityLayer entityLayer, List <Entity> entities)
     : base(entityLayer)
 {
     toRemove = entities;
 }
Ejemplo n.º 11
0
 public EntityLayerViewModel(EntityLayer layer)
 {
     name = layer.Name;
 }
Ejemplo n.º 12
0
 public CardEntity(EntityLayer entityLayer) : base(entityLayer)
 {
 }
Ejemplo n.º 13
0
 public EntitySetValueAction(EntityLayer entityLayer, Value value, string setTo)
     : base(entityLayer)
 {
     this.value = value;
     this.setTo = setTo;
 }
Ejemplo n.º 14
0
 public EntityAddNodeAction(EntityLayer entityLayer, Entity entity, Point node)
     : base(entityLayer)
 {
     this.entity = entity;
     this.node   = node;
 }
Ejemplo n.º 15
0
 public EntityAddAction(EntityLayer entityLayer, Entity entity)
     : base(entityLayer)
 {
     added = entity;
 }
Ejemplo n.º 16
0
 public ContactModelView(EntityLayer.Contact contact)
 {
     m_contact = contact;
 }
Ejemplo n.º 17
0
        public AEntity(EntityLayer entityLayer)
        {
            this.parentLayer = new WeakReference <EntityLayer>(entityLayer);

            this.isActive = true;
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Creates a New Entity.  Alternately, The entity could be created in the traditional way.
        /// </summary>
        /// <param name="aLayer">The Layer this entity is on.</param>
        /// <returns></returns>
        public static Entity CreateNew(EntityLayer aLayer)
        {
            Entity tempEntity = new Entity(aLayer);

            return tempEntity;
        }
Ejemplo n.º 19
0
 public EntityAction(EntityLayer entityLayer)
 {
     EntityLayer = entityLayer;
 }