示例#1
0
        public RenderContract[] GetRenderers()
        {
            List <RenderContract> retCtrc = new List <RenderContract>();
            bool updateEntBuf             = false;

            foreach (BaseObject b in goList)
            {
                RenderComp r = b.GetComponent <RenderComp>();
                Transform  t = b.GetComponent <Transform>();
                if (r != null && r.Enabled)
                {
                    retCtrc.Add(new RenderContract(t, r));
                    if (!entityBuffer.Contains(b))
                    {
                        if (!b.HasComponent <WorldTile>())
                        {
                            entityBuffer.Add(b);
                        }
                        if (!updateEntBuf)
                        {
                            updateEntBuf = true;
                        }
                    }
                }
            }
            if (updateEntBuf)
            {
                if (OnNewEntity != null)
                {
                    OnNewEntity.Invoke(entityBuffer.ToArray());
                }
            }

            return(retCtrc.ToArray());
        }
示例#2
0
        public override void Start()
        {
            this.AddComponentsFromArchetype("Floor");
            RenderComp rC = GetComponent <RenderComp>();

            rC.Char       = '~';
            rC.Foreground = Color4.DarkGray;
        }
示例#3
0
        public override void Start()
        {
            IComponent[] comps = this.AddComponentsFromArchetype("Player");
            RenderComp   r     = this.GetComponent <RenderComp>();

            r.Char             = '@';
            transform          = GetComponent <Transform>();
            transform.Position = new OpenTK.Vector2(80, 28);
            this.Inject();
        }
    protected override void EditorOnValidate()
    {
        base.EditorOnValidate();

        Renderer[] renderers = this.GetComponentsInChildren <Renderer>();
        renderComps = new RenderComp[renderers.Length];

        for (int i = 0; i < renderers.Length; i++)
        {
            renderComps[i]               = new RenderComp();
            renderComps[i].renderer      = renderers[i];
            renderComps[i].startMaterial = renderers[i].sharedMaterial;
        }
    }
示例#5
0
        public override void Start()
        {
            this.AddComponentsFromArchetype("Wall");
            Metadata mC = this.GetComponent <Metadata>();

            mC.Name        = "Ship hull";
            mC.Description = "Thick metal plates, just inbetween space and you.";
            Physic pC = this.GetComponent <Physic>();

            pC.PassThrough = false;
            RenderComp rC = this.GetComponent <RenderComp>();

            rC.Char       = '#';
            rC.Foreground = Color4.LightGray;
        }