示例#1
0
        /// <summary>
        /// Quick method to return a pre-defined conversation string from Data.ovl
        /// </summary>
        /// <param name="index">index into string array (use DataOvlReference.CHUNK__PHRASES_CONVERSATION)</param>
        /// <returns>associated string</returns>
        public string GetConversationStr(DataOvlReference.ChunkPhrasesConversation index)
        {
            char[] trimChars = new[] { '"' };
            string convStr   = _dataOvlRef.GetStringFromDataChunkList(DataOvlReference.DataChunkName.PHRASES_CONVERSATION, (int)index).Trim();

            convStr = convStr.Trim(trimChars);
            return(convStr);
        }
示例#2
0
        public string GetLocationName(SmallMapReferences.SingleMapReference.Location location)
        {
            Func <DataOvlReference.LocationStrings, string> getLocationNameStr = delegate(DataOvlReference.LocationStrings index)
            {
                return(_dataRef.GetStringFromDataChunkList(DataOvlReference.DataChunkName.LOCATION_NAMES, (int)index));
            };

            // filthy way to convert our more commonly used _location enum to the less used LOCATION_STRINGS
            // they didn't even bother having them all match, and then decided to leave some out
            DataOvlReference.LocationStrings newLocStrEnum = (DataOvlReference.LocationStrings)Enum.Parse(typeof(DataOvlReference.LocationStrings), location.ToString());

            // if the DataOVL didn't provide a name, then we are forced to set our own... :(
            if ((int)newLocStrEnum < 0)
            {
                switch (newLocStrEnum)
                {
                case DataOvlReference.LocationStrings.Suteks_Hut:
                    return("SUTEK'S HUT");

                case DataOvlReference.LocationStrings.SinVraals_Hut:
                    return("SIN VRAAL'S HUT");

                case DataOvlReference.LocationStrings.Grendels_Hut:
                    return("GRENDAL'S HUT");

                case DataOvlReference.LocationStrings.Lord_Britishs_Castle:
                    return("LORD BRITISH'S CASTLE");

                case DataOvlReference.LocationStrings.Palace_of_Blackthorn:
                    return("PALACE OF BLACKTHORN");

                default:
                    throw new Ultima5ReduxException("Ummm asked for a location name and wasn't on the guest list.");
                }
            }
            else
            {
                return(getLocationNameStr(newLocStrEnum));
            }
        }