コード例 #1
0
ファイル: itemInstance.cs プロジェクト: habb0/Woodpecker
        /// <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();
        }