ACR_Wealth.CountWealth.TrackPersistentChestValues C# (CSharp) Method

TrackPersistentChestValues() public static method

public static TrackPersistentChestValues ( CLRScriptBase script, uint Character, uint Chest, int CountedLoot ) : void
script CLRScriptFramework.CLRScriptBase
Character uint
Chest uint
CountedLoot int
return void
        public static void TrackPersistentChestValues(CLRScriptBase script, uint Character, uint Chest, int CountedLoot)
        {
            string tag = script.GetTag(Chest);
            if(!pChestValues.ContainsKey(tag))
            {
                pChestValues.Add(tag, CountedLoot);
            }
            else
            {
                pChestValues[tag] = CountedLoot;
            }

            // TODO: persistently save pChest tags
            if(!pChestAccess.ContainsKey(Character))
            {
                pChestAccess.Add(Character, new List<string>());
            }
            if(!pChestAccess[Character].Contains(tag))
            {
                pChestAccess[Character].Add(tag);
            }
        }

Usage Example

        public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode)
        {
            switch ((WealthCommands)ScriptParameters[0])
            {
            case WealthCommands.CalculateWealthMultiplier:
                return(CountWealth.GetWealthMultiplierInt(this, (uint)ScriptParameters[2], false));

            case WealthCommands.CalculateAppropriateDrop:
                break;

            case WealthCommands.DropWealthInContainer:
                break;

            case WealthCommands.DropUpToWealthInContainer:
                break;

            case WealthCommands.ItemDroppedBy:
                CountWealth.TrackDroppedItem(this, (uint)ScriptParameters[2], (uint)ScriptParameters[3]);
                return(0);

            case WealthCommands.PersistentStorageClosed:
                CountWealth.TrackPersistentChestValues(this, (uint)ScriptParameters[2], (uint)ScriptParameters[3], (int)ScriptParameters[1]);
                return(0);

            case WealthCommands.GetCombatDropMultiplier:
                return(CountWealth.GetWealthMultiplierInt(this, (uint)ScriptParameters[2], true));
            }
            SendMessageToAllDMs(ScriptParameters[0].ToString());
            SendMessageToAllDMs(ScriptParameters[1].ToString());
            SendMessageToAllDMs(ScriptParameters[2].ToString());
            SendMessageToAllDMs(ScriptParameters[3].ToString());

            return(0);
        }