Example #1
0
        private void rmdir(string[] cmdLine)
        {
            if (cmdLine.Length < 2)
            {
                Console.WriteLine("Usage: rmdir [directory]");
                Console.WriteLine("Example: rmdir SubDir");
                return;
            }

            string targetDir = "";

            if (!curDirectory.Equals("/"))
            {
                targetDir = curDirectory + "/";
            }
            targetDir += combineCmdArg(cmdLine);

            InventoryFolder iFolder = AgentInventory.getFolder(targetDir);

            if (iFolder == null)
            {
                Console.WriteLine("Could not find directory: " + targetDir);
                return;
            }
            else
            {
                iFolder.Delete();
            }
        }
 public void AddNewAgentsInventory(AgentInventory agentInventory)
 {
     if (!this._agentsInventory.ContainsKey(agentInventory.AgentID))
     {
         this._agentsInventory.Add(agentInventory.AgentID, agentInventory);
     }
 }
Example #3
0
        private string GetClientsInventory(string request, string path, string param)
        {
            string[] line;
            string   delimStr = "/";

            char[] delimiter = delimStr.ToCharArray();
            string responseString;

            responseString = " <p> Listing Inventory </p>";

            line = path.Split(delimiter);
            if (line.Length > 2)
            {
                if (line[1] == "ClientInventory")
                {
                    AgentInventory inven = this._inventoryCache.GetAgentsInventory(new libsecondlife.LLUUID(line[2]));
                    responseString += " <p> Client: " + inven.AgentID.ToStringHyphenated() + " </p>";
                    if (inven != null)
                    {
                        foreach (InventoryItem item in inven.InventoryItems.Values)
                        {
                            responseString += "<p> InventoryItem: ";
                            responseString += item.Name + " , " + item.ItemID + " , " + item.Type + " , " + item.FolderID + " , " + item.AssetID + " , " + item.Description;
                            responseString += "</p>";
                        }
                    }
                }
            }
            return(responseString);
        }
Example #4
0
        private void ls(string[] cmdLine)
        {
            Console.WriteLine("Contents of: " + curDirectory);
            Console.WriteLine("--------------------------------------------------");
            if (!curDirectory.Equals("/"))
            {
                Console.WriteLine("..");
            }

            InventoryFolder iFolder = AgentInventory.getFolder(curDirectory);

            foreach (InventoryBase ib in iFolder.alContents)
            {
                if (ib is InventoryFolder)
                {
                    InventoryFolder folder = (InventoryFolder)ib;
                    Console.WriteLine(TYPE_DIR + folder.Name);
                }
                else
                {
                    InventoryItem item = (InventoryItem)ib;
                    Console.WriteLine(TYPE_ITEM + item.Name);
                }
            }
        }
Example #5
0
    void Update()
    {
        // Hide if the agent died.
        if (!_agent)
        {
            BroadcastMessage("Hide", this, SendMessageOptions.DontRequireReceiver);
            gameObject.SetActive(false);
            return;
        }

        AgentAttributes attributes = _agent.GetComponent <AgentAttributes> ();

        gameIDVal.text = attributes.ID.ToString();

        AgentInventory inventory = _agent.GetComponent <AgentInventory> ();

        capacityVal.text = inventory.carryCount.ToString() + " / " + inventory.capacity.ToString();

        Health health = _agent.GetComponent <Health> ();

        hpVal.text = health.GetCurrentHealth() + " / " + health.GetInitialHealth();

        statusVal.text = _agent.GetComponent <AgentStates> ().GetStatusString();
        taskVal.text   = _agent.GetComponent <AgentStates> ().GetTaskString();

        Attack attack = _agent.GetComponent <Attack> ();

        attackRangeVal.text = attack.GetAttackRadius().ToString();
        damageVal.text      = attack.GetDamage().ToString();
    }
Example #6
0
        /// <summary>
        /// Add an Item in the agent inventory
        /// </summary>
        public UsableItem AddItemInInventory(AgentInventory inventory, CraftingChoice choice)
        {
            UsableItem itemToAdd = GetUsableItemByCraftingChoice(choice);

            inventory.AddItem(itemToAdd);

            return(itemToAdd);
        }
    // Use this for initialization
    void Awake()
    {
        navHelper = GetComponent <NavAgentHelper> ();
        state     = GetComponent <AgentStates> ();
        inventory = GetComponent <AgentInventory> ();
        agentBase = GameObject.FindWithTag("AntHill");

        _resourceManager = FindObjectOfType(typeof(ResourceManager)) as ResourceManager;
    }
Example #8
0
        public void Init()
        {
            adventurerSystemBehaviour = GameObject.FindObjectOfType <AdventurerSystemBehaviour>();
            adventurerSystem          = adventurerSystemBehaviour.system;

            SpawnAgents();

            //Get Adventurer Agent
            getAdventurerAgent = GameObject.FindObjectOfType <GetCurrentAdventurerAgent>();
            adventurerAgent    = getAdventurerAgent.CurrentAgent;

            //Generate travelSubsystem of the adventurerSystem
            travelSubsystem = adventurerSystem.travelSubsystem;
            travelSubsystem.Start();
            adventurerSystem.travelSubsystem = travelSubsystem;

            //Request System
            requestShopSystemBehaviour = GameObject.FindObjectOfType <RequestShopSystemBehaviour>();
            requestShopSystem          = requestShopSystemBehaviour.system;
            requestSystem = requestShopSystem.requestSystem;
            requestSystem.Start();

            //Generate PlayerFighterData of the adventurerAgent
            adventurerAgent.gameObject.GetComponent <AdventurerFighterData>().Start();
            //Generate adventurerInventory of the adventurerAgent
            adventurerInventory = adventurerAgent.adventurerInventory;
            //Generate agentInventory of the adventurerAgent
            adventurerAgentInventory = adventurerAgent.inventory;
            adventurerAgent.ResetEconomyAgent();
            //Generate AdventurerRequestTaker
            adventurerAgent.requestTaker.Start();


            //Get ShopAgent
            getShopAgent = GameObject.FindObjectOfType <GetCurrentShopAgent>();
            shopAgent    = getShopAgent.CurrentAgent;
            shopAgent.shopInput.Awake();
            shopAgent.agentInventory.ResetInventory();
            shopAgent.craftingInventory.ResetInventory();
            shopAgent.wallet.Reset();

            //ShopSystem
            shopCraftingSystemBehaviour = GameObject.FindObjectOfType <ShopCraftingSystemBehaviour>();
            shopCraftingSystemBehaviour.Start();
            agentShopSubSystem = shopCraftingSystemBehaviour.system.shopSubSubSystem;
            craftingSubSystem  = shopCraftingSystemBehaviour.system.craftingSubSubSystem;

            //ResetSystem
            environmentReset = GameObject.FindObjectOfType <EnvironmentReset>();
            environmentReset.Start();

            //Config
            configSystem = GameObject.FindObjectOfType <EconomyProject.Scripts.ConfigSystem>();
            configSystem.Start();
        }
        public AgentInventory FetchAgentsInventory(LLUUID agentID, IUserServer userserver)
        {
            AgentInventory res = null;

            if (!this._agentsInventory.ContainsKey(agentID))
            {
                res = userserver.RequestAgentsInventory(agentID);
                this._agentsInventory.Add(agentID, res);
            }
            return(res);
        }
Example #10
0
        //IUserServer implementation
        public AgentInventory RequestAgentsInventory(LLUUID agentID)
        {
            AgentInventory aInventory = null;

            if (this.userAccounts)
            {
                aInventory = this.userManager.GetUsersInventory(agentID);
            }

            return(aInventory);
        }
        public void FetchInventoryDescendents(SimClient userInfo, FetchInventoryDescendentsPacket FetchDescend)
        {
            if (this._agentsInventory.ContainsKey(userInfo.AgentID))
            {
                AgentInventory agentInventory = this._agentsInventory[userInfo.AgentID];
                if (FetchDescend.InventoryData.FetchItems)
                {
                    if (agentInventory.InventoryFolders.ContainsKey(FetchDescend.InventoryData.FolderID))
                    {
                        InventoryFolder            Folder  = agentInventory.InventoryFolders[FetchDescend.InventoryData.FolderID];
                        InventoryDescendentsPacket Descend = new InventoryDescendentsPacket();
                        Descend.AgentData.AgentID     = userInfo.AgentID;
                        Descend.AgentData.OwnerID     = Folder.OwnerID;
                        Descend.AgentData.FolderID    = FetchDescend.InventoryData.FolderID;
                        Descend.AgentData.Descendents = Folder.Items.Count;
                        Descend.AgentData.Version     = Folder.Items.Count;


                        Descend.ItemData = new InventoryDescendentsPacket.ItemDataBlock[Folder.Items.Count];
                        for (int i = 0; i < Folder.Items.Count; i++)
                        {
                            InventoryItem Item = Folder.Items[i];
                            Descend.ItemData[i]               = new InventoryDescendentsPacket.ItemDataBlock();
                            Descend.ItemData[i].ItemID        = Item.ItemID;
                            Descend.ItemData[i].AssetID       = Item.AssetID;
                            Descend.ItemData[i].CreatorID     = Item.CreatorID;
                            Descend.ItemData[i].BaseMask      = FULL_MASK_PERMISSIONS;
                            Descend.ItemData[i].CreationDate  = 1000;
                            Descend.ItemData[i].Description   = _enc.GetBytes(Item.Description + "\0");
                            Descend.ItemData[i].EveryoneMask  = FULL_MASK_PERMISSIONS;
                            Descend.ItemData[i].Flags         = 1;
                            Descend.ItemData[i].FolderID      = Item.FolderID;
                            Descend.ItemData[i].GroupID       = new LLUUID("00000000-0000-0000-0000-000000000000");
                            Descend.ItemData[i].GroupMask     = FULL_MASK_PERMISSIONS;
                            Descend.ItemData[i].InvType       = Item.InvType;
                            Descend.ItemData[i].Name          = _enc.GetBytes(Item.Name + "\0");
                            Descend.ItemData[i].NextOwnerMask = FULL_MASK_PERMISSIONS;
                            Descend.ItemData[i].OwnerID       = Item.OwnerID;
                            Descend.ItemData[i].OwnerMask     = FULL_MASK_PERMISSIONS;
                            Descend.ItemData[i].SalePrice     = 100;
                            Descend.ItemData[i].SaleType      = 0;
                            Descend.ItemData[i].Type          = Item.Type;
                            Descend.ItemData[i].CRC           = libsecondlife.Helpers.InventoryCRC(1000, 0, Descend.ItemData[i].InvType, Descend.ItemData[i].Type, Descend.ItemData[i].AssetID, Descend.ItemData[i].GroupID, 100, Descend.ItemData[i].OwnerID, Descend.ItemData[i].CreatorID, Descend.ItemData[i].ItemID, Descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS);
                        }

                        userInfo.OutPacket(Descend);
                    }
                }
                else
                {
                    Console.WriteLine("fetch subfolders");
                }
            }
        }
Example #12
0
        private void cd(string[] cmdLine)
        {
            if (cmdLine.Length < 2)
            {
                Console.WriteLine("Usage: cd [directory]");
                Console.WriteLine("Example: cd /Notecards");
                return;
            }

            string targetDir = "";

            if (cmdLine[1].Equals(".."))
            {
                targetDir = curDirectory.Substring(0, curDirectory.LastIndexOf("/"));
            }
            else if (cmdLine[1].StartsWith("/"))
            {
                targetDir += combineCmdArg(cmdLine);
            }
            else
            {
                if (!curDirectory.Equals("/"))
                {
                    targetDir = curDirectory + "/";
                }

                targetDir += combineCmdArg(cmdLine);
            }
            Console.WriteLine("Changing directory to: " + targetDir);


            InventoryFolder iFolder = AgentInventory.getFolder(targetDir);

            if (iFolder == null)
            {
                Console.WriteLine("Could not find directory: " + targetDir);
                return;
            }
            else
            {
                if (targetDir.StartsWith("/"))
                {
                    curDirectory = targetDir;
                }
                else
                {
                    curDirectory = "/" + targetDir;
                }
            }
        }
        public void FetchInventory(SimClient userInfo, FetchInventoryPacket FetchItems)
        {
            if (this._agentsInventory.ContainsKey(userInfo.AgentID))
            {
                AgentInventory agentInventory = this._agentsInventory[userInfo.AgentID];

                for (int i = 0; i < FetchItems.InventoryData.Length; i++)
                {
                    if (agentInventory.InventoryItems.ContainsKey(FetchItems.InventoryData[i].ItemID))
                    {
                        InventoryItem             Item           = agentInventory.InventoryItems[FetchItems.InventoryData[i].ItemID];
                        FetchInventoryReplyPacket InventoryReply = new FetchInventoryReplyPacket();
                        InventoryReply.AgentData.AgentID              = userInfo.AgentID;
                        InventoryReply.InventoryData                  = new FetchInventoryReplyPacket.InventoryDataBlock[1];
                        InventoryReply.InventoryData[0]               = new FetchInventoryReplyPacket.InventoryDataBlock();
                        InventoryReply.InventoryData[0].ItemID        = Item.ItemID;
                        InventoryReply.InventoryData[0].AssetID       = Item.AssetID;
                        InventoryReply.InventoryData[0].CreatorID     = Item.CreatorID;
                        InventoryReply.InventoryData[0].BaseMask      = FULL_MASK_PERMISSIONS;
                        InventoryReply.InventoryData[0].CreationDate  = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
                        InventoryReply.InventoryData[0].Description   = _enc.GetBytes(Item.Description + "\0");
                        InventoryReply.InventoryData[0].EveryoneMask  = FULL_MASK_PERMISSIONS;
                        InventoryReply.InventoryData[0].Flags         = 0;
                        InventoryReply.InventoryData[0].FolderID      = Item.FolderID;
                        InventoryReply.InventoryData[0].GroupID       = new LLUUID("00000000-0000-0000-0000-000000000000");
                        InventoryReply.InventoryData[0].GroupMask     = FULL_MASK_PERMISSIONS;
                        InventoryReply.InventoryData[0].InvType       = Item.InvType;
                        InventoryReply.InventoryData[0].Name          = _enc.GetBytes(Item.Name + "\0");
                        InventoryReply.InventoryData[0].NextOwnerMask = FULL_MASK_PERMISSIONS;
                        InventoryReply.InventoryData[0].OwnerID       = Item.OwnerID;
                        InventoryReply.InventoryData[0].OwnerMask     = FULL_MASK_PERMISSIONS;
                        InventoryReply.InventoryData[0].SalePrice     = 100;
                        InventoryReply.InventoryData[0].SaleType      = 0;
                        InventoryReply.InventoryData[0].Type          = Item.Type;
                        InventoryReply.InventoryData[0].CRC           = libsecondlife.Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, InventoryReply.InventoryData[0].GroupID, 100, InventoryReply.InventoryData[0].OwnerID, InventoryReply.InventoryData[0].CreatorID, InventoryReply.InventoryData[0].ItemID, InventoryReply.InventoryData[0].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS);
                        userInfo.OutPacket(InventoryReply);
                    }
                }
            }
        }
Example #14
0
        /********************************************Adventurer*********************************************/

        /// <summary>
        /// Debug Adventurer Agents items in inventory
        /// </summary>
        public void DebugItemsInInventory(AdventurerAgent agent)
        {
            AgentInventory inventory = agent.inventory;

            Debug.Log("Number of Items : " + inventory.Items.Count);
            foreach (KeyValuePair <string, List <UsableItem> > item in inventory.Items)
            {
                Debug.Log("item : " + item.Key
                          + "\n item list count: " + item.Value.Count
                          );

                foreach (UsableItem usableItem in item.Value)
                {
                    Debug.Log("usableItem name : " + usableItem.itemDetails.itemName
                              + "\n baseDurability: " + usableItem.itemDetails.baseDurability
                              + "\n durability : " + usableItem.itemDetails.durability
                              + "\n damage : " + usableItem.itemDetails.damage
                              + "\n unBreakable : " + usableItem.itemDetails.unBreakable
                              + "\n Broken : " + usableItem.itemDetails.Broken
                              );
                }
            }
        }
Example #15
0
        private void mkdir(string[] cmdLine)
        {
            if (cmdLine.Length < 2)
            {
                Console.WriteLine("Usage: mkdir [directory]");
                Console.WriteLine("Example: mkdir SubDir");
                return;
            }

            string targetDir = combineCmdArg(cmdLine);

            InventoryFolder iFolder = AgentInventory.getFolder(curDirectory);

            InventoryFolder newFolder = iFolder.CreateFolder(targetDir);

            if (newFolder != null)
            {
                Console.WriteLine("Directory created: " + targetDir);
            }
            else
            {
                Console.WriteLine("Error creating directory: " + targetDir);
            }
        }
Example #16
0
 public bool UpdateAgentsInventory(LLUUID agentID, AgentInventory inventory)
 {
     return(true);
 }
Example #17
0
        public bool PurchaseItems(EconomyWallet shopAgentWallet, UsableItemDetails itemDetails, EconomyWallet adventurerAgentWallet, AgentInventory inventory)
        {
            var price = _stockPrices[itemDetails.itemName];

            int GetStock()
            {
                return(_shopItems[itemDetails.itemName].Count);
            }

            if (adventurerAgentWallet.Money <= price)
            {
                Debug.Log("Not enough money : wallet " + adventurerAgentWallet.Money + "- price " + price);
                return(false);
            }

            if (GetStock() <= 0)
            {
                Debug.Log("Not enough stock");
                return(false);
            }

            inventory.AddItem(_shopItems[itemDetails.itemName][0]);
            _shopItems[itemDetails.itemName].RemoveAt(0);

            _stockPrices[itemDetails.itemName] = price;

            if (GetStock() <= 0)
            {
                _stockPrices.Remove(itemDetails.itemName);
                _shopItems.Remove(itemDetails.itemName);
                _previousPrices[itemDetails.itemName] = price;
            }
            adventurerAgentWallet.SpendMoney(price);
            shopAgentWallet.EarnMoney(price);

            return(true);
        }
Example #18
0
    internal float AnimationSpeed = 1.0f;                                //How fast the animations should play.
    #endregion

    void Awake()
    {
        //Cache our frequent lookups.
        Transform = GetComponent<Transform>();
        Self = gameObject;

        //Get our basic components.
        Animation = GetComponent<Animation>();
        NavAgent = GetComponent<NavMeshAgent>();
        ViewController = GetComponent<HeadLookController>();
        CharDetails = GetComponent<CharacterDetails>();

        NavAgent.enabled = false;   //We disable the nav agent, so that we can move the Agent to its starting position (Moving with NavAgent enabled causes path finding and we simply want to "place" them at the start.) 
   
        if(!StaticDemo)
            Transform.position = BedTarget.position;    //Place the agent at the start.

        MoveDirection = Transform.TransformDirection(Vector3.forward);  //Get their initial facing direction.

        //Add the basic animation info.
        AnimationKeys = new Dictionary<string, string>();
        AnimationKeys.Add("run", "VB_Run");
        AnimationKeys.Add("walk", "VB_Walk");
        AnimationKeys.Add("idle", "VB_Idle");
        AnimationKeys.Add("greet", "VB_Greeting");
        AnimationKeys.Add("talk", "VB_Talk");

        Inventory = new AgentInventory(this);
    }
        public void PurchaseItem(ShopAgent shopAgent, UsableItemDetails item, EconomyWallet wallet, AgentInventory inventory)
        {
            var shop    = GetShop(shopAgent);
            var success = shop.PurchaseItems(shopAgent.wallet, item, wallet, inventory);

            if (success)
            {
                OverviewVariables.SoldItem();

                if (item.itemName == endItem.itemDetails.itemName)
                {
                    //resetScript.ResetScript();
                }
            }
            Refresh();
        }