コード例 #1
0
        /// <summary>
        /// Handles the get asset command.
        /// </summary>
        /// <param name="scene">Scene.</param>
        /// <param name="args">Arguments.</param>
        void CmdGetAsset(IScene scene, string [] args)
        {
            if (args.Length < 3)
            {
                MainConsole.Instance.Info("Asset ID required - Syntax: get asset <ID>");
                return;
            }

            AssetBase asset = Get(args[2]);

            if (asset == null)
            {
                MainConsole.Instance.Info("Asset not found");
                return;
            }

            string creatorName = "Unknown";

            if (asset.CreatorID == UUID.Zero)
            {
                creatorName = "System";
            }
            else
            {
                var accountService = m_registry.RequestModuleInterface <IUserAccountService> ();
                if (accountService != null)
                {
                    UserAccount account = null;
                    try {
                        account = accountService.GetUserAccount(null, asset.CreatorID);
                    } catch (Exception e) {
                        MainConsole.Instance.Info("Exception during retrieval of asset creator account\n" + e);
                    }
                    if (account != null)
                    {
                        creatorName = account.Name;
                    }
                }
            }

            MainConsole.Instance.InfoFormat("{0} - {1}",
                                            asset.Name == "" ? "(No name)" : asset.Name,
                                            asset.Description == "" ? "(No description)" : asset.Description
                                            );

            MainConsole.Instance.CleanInfoFormat("{0} created by {1} on {2}",
                                                 asset.AssetTypeInfo(),
                                                 creatorName,
                                                 asset.CreationDate.ToShortDateString()
                                                 );

            asset.Dispose();
        }
コード例 #2
0
        /// <summary>
        /// Handles the get asset command.
        /// </summary>
        /// <param name="scene">Scene.</param>
        /// <param name="args">Arguments.</param>
        void HandleGetAsset(IScene scene, string[] args)
        {
            if (args.Length < 3)
            {
                MainConsole.Instance.Info("Syntax: get asset <ID>");
                return;
            }

            AssetBase asset = RedisGetAsset(args[2]);

            if (asset == null)
            {
                asset = RedisGetAsset(args[2]);
            }

            if (asset == null || asset.Data.Length == 0)
            {
                MainConsole.Instance.Info("Asset not found");
                return;
            }

            string creatorName = "Unknown";

            if (asset.CreatorID == UUID.Zero)
            {
                creatorName = "System";
            }
            else
            {
                var accountService = m_registry.RequestModuleInterface <IUserAccountService> ();
                if (accountService != null)
                {
                    var account = accountService.GetUserAccount(null, asset.CreatorID);
                    if (account != null)
                    {
                        creatorName = account.Name;
                    }
                }
            }

            MainConsole.Instance.InfoFormat("{0} - {1}",
                                            asset.Name == "" ? "(No name)" : asset.Name,
                                            asset.Description == "" ? "(No description)" : asset.Description
                                            );

            MainConsole.Instance.CleanInfoFormat(
                "                  {0} created by {1} on {2}",
                asset.AssetTypeInfo(),
                creatorName,
                asset.CreationDate.ToShortDateString()
                );
        }