Ejemplo n.º 1
0
        /// <summary>
        /// Converts this item instance representation to a string that displays this item on a strip (hand or trading box) and returns it.
        /// </summary>
        /// <param name="slotID">The current slot ID of this item on the strip.</param>
        public string ToStripString(int stripSlotID)
        {
            /*
             * Wallitem:
             * + "SI"
             * + itemID
             * + slotID
             * + stripItemType 'I'
             * + itemID
             * + sprite
             * + color (incase of decoration or post.it pad: customdata)
             * + recycleable 1/0
             * + "/"
             *
             * Flooritem:
             * + "SI"
             * + itemID (negative)
             * + slotID
             * + stripItemType 'S'
             * + itemID
             * + sprite
             * + length
             * + width
             * + customdata
             * + color
             * + recycleable 1/0
             * + sprite
             * + "/"
             */

            fuseStringBuilder FSB = new fuseStringBuilder();

            FSB.appendStripValue("SI");
            //if (!this.Definition.isWallItem) // Floor item ID = negative, so prefix with '-'
            //    FSB.Append("-");
            FSB.appendStripValue(this.ID.ToString());
            FSB.appendStripValue(stripSlotID.ToString());
            if (this.Definition.Behaviour.isWallItem)
            {
                FSB.appendStripValue("I");
            }
            else
            {
                FSB.appendStripValue("S");
            }
            FSB.appendStripValue(this.ID.ToString());
            FSB.appendStripValue(this.Definition.Sprite);
            if (this.Definition.Behaviour.isWallItem)
            {
                FSB.appendStripValue(this.customData);
                FSB.appendStripValue("0"); // Not-recycleable
            }
            else
            {
                FSB.appendStripValue(this.Definition.Length.ToString());
                FSB.appendStripValue(this.Definition.Width.ToString());
                FSB.appendStripValue(this.customData);
                FSB.appendStripValue(this.Definition.Color);
                FSB.appendStripValue("0"); // Not-recycleable
                FSB.appendStripValue(this.Definition.Sprite);
            }
            FSB.Append("/");

            return(FSB.ToString());
        }