예제 #1
0
        protected virtual void loadXml(xElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            mName = convertStringToName(element.Attribute("id") | "");
            setConnectParent(element.Attribute("connect") | false);
            mVisible = (element.Attribute("visible") | true);
            mRect    = bloXml.loadRectangle(element.Element("rectangle"));
            mAngle   = ((element.Element("angle") | 0) % 360);
            if (!Enum.TryParse <bloAnchor>(element.Element("anchor"), true, out mAnchor))
            {
                mAnchor = bloAnchor.TopLeft;
            }
            if (!Enum.TryParse <gxCullMode>(element.Element("cull-mode"), true, out mCullMode))
            {
                mCullMode = gxCullMode.None;
            }
            mAlpha        = (byte)bloMath.clamp((element.Element("alpha") | 255), 0, 255);
            mInheritAlpha = (element.Element("alpha").Attribute("inherit") | true);
        }
예제 #2
0
        protected virtual void loadBlo1(aBinaryReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            int numparams = reader.Read8();

            mVisible = (reader.Read8() != 0);
            reader.Step(2);

            mName = reader.Read32();

            int left   = reader.ReadS16();
            int top    = reader.ReadS16();
            int width  = reader.ReadS16();
            int height = reader.ReadS16();

            mRect.set(left, top, (left + width), (top + height));

            numparams -= 6;

            if (numparams > 0)
            {
                mAngle = reader.Read16();
                --numparams;
            }
            else
            {
                mAngle = 0.0d;
            }

            if (numparams > 0)
            {
                mAnchor = (bloAnchor)reader.Read8();
                --numparams;
            }
            else
            {
                mAnchor = bloAnchor.TopLeft;
            }

            if (numparams > 0)
            {
                mAlpha = reader.Read8();
                --numparams;
            }
            else
            {
                mAlpha = 255;
            }

            if (numparams > 0)
            {
                mInheritAlpha = (reader.Read8() != 0);
                --numparams;
            }
            else
            {
                mInheritAlpha = true;
            }

            reader.Skip(4);
        }
예제 #3
0
 public void setBasePosition(bloAnchor anchor)
 {
     mAnchor = anchor;
 }