コード例 #1
0
    public bool IsRestricted(ContainerAction action)
    {
        switch (restrictorState)
        {
        case RestrictorState.Normal:
            return(false);

        case RestrictorState.AddOnly:
            if (action == ContainerAction.add)
            {
                return(false);
            }
            return(true);

        case RestrictorState.RemoveOnly:
            if (action == ContainerAction.remove)
            {
                return(false);
            }
            return(true);

        case RestrictorState.NoAction:
            return(true);
        }
        return(true);
    }
コード例 #2
0
 public bool IsRestricted(ContainerAction containerAction, InstancedItemInformation itemData)
 {
     if (containerAction == ContainerAction.remove)
     {
         Debug.LogWarning("Item Resticted for being removed from container because it has an Add-Only Restriction");
         return true;
     }
     else
         return false;
 }
コード例 #3
0
 public bool IsRestricted(ContainerAction containerAction, InstancedItemInformation itemData)
 {
     if (containerAction == ContainerAction.remove)
     {
         Debug.LogWarning("Item Resticted for being removed from container because it has an Add-Only Restriction");
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #4
0
 public bool IsRestricted(ContainerAction containerAction, ItemData itemData)
 {
     if (containerAction == ContainerAction.add)
     {
         Debug.LogWarning("Item Resticted for being added to container because it has a Remove Only Restriction");
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #5
0
    public bool IsRestricted(ContainerAction containerAction, ItemData itemData)
    {
        if (containerAction == ContainerAction.add)
        {
            if (restrictedContainer.containerItems.Count >= ContainerItemLimit)
            {
                Debug.LogWarning("Item Resticted for being added to container because it has a Item Limit Restriction");
                return(true);
            }
        }

        return(false);
    }
コード例 #6
0
        public bool IsRestricted(ContainerAction containerAction, InstancedItemInformation itemData)
        {
            if (containerAction == ContainerAction.add)
            {
                if (RestrictedContainer.containerItems.Count >= ContainerItemLimit)
                {
                    Debug.LogWarning("Item Resticted for being added to container because it has a Item Limit Restriction");
                    return true;
                }
            }

            return false;
        }
コード例 #7
0
        public static void Main(string[] args)
        {
            // Resolving the Dependencies
            IUnityContainer container = new UnityContainer();

            ContainerAction.RegisterElements(container);

            //Checking for the Charge of the Battery
            IBattery battery = container.Resolve <IBattery>();

            Console.WriteLine(battery.ChargeRemaining());


            //Checking for the Tuner Manufacturer
            ITuner tuner = container.Resolve <ITuner>();

            Console.WriteLine(tuner.Manufacturer());

            Console.ReadKey();
        }
コード例 #8
0
        public bool IsRestricted(ContainerAction action, InstancedItemInformation itemData)
        {
            if (IsExcluded)
            {
                if (ItemIDList.Exists(x => x == itemData.Information.Id))
                {
                    Debug.LogWarning("Item Resticted for being added to container because it has a Item ID Restriction");
                    return true;
                }

                return false;
            }
            else
            {
                if (ItemIDList.Exists(x => x == itemData.Information.Id))
                    return false;

                Debug.LogWarning("Item Resticted for being added to container because it has a Item ID Restriction");
                return true;
            }
        }
コード例 #9
0
        public bool IsRestricted(ContainerAction action, InstancedItemInformation itemData)
        {
            if (IsExcluded)
            {
                if (ClassIDList.Exists(x => x == itemData.Information.ClassId))
                {
                    Debug.LogWarning("Item Resticted for being added to container because it has a Class ID Restriction");
                    return(true);
                }

                return(false);
            }
            else
            {
                if (ClassIDList.Exists(x => x == itemData.Information.ClassId))
                {
                    return(false);
                }

                Debug.LogWarning("Item Resticted for being added to container because it has a Class ID Restriction");
                return(true);
            }
        }
コード例 #10
0
 public bool IsRestricted(ContainerAction action)
 {
     switch (ContainerRestrictorState)
     {
         case RestrictorState.Normal:
             return false;
         case RestrictorState.AddOnly:
             if (action == ContainerAction.add)
             {
                 return false;
             }
             return true;
         case RestrictorState.RemoveOnly:
             if (action == ContainerAction.remove)
             {
                 return false;
             }
             return true;
         case RestrictorState.NoAction:
             return true;
     }
     return true;
 }
コード例 #11
0
    public bool IsRestricted(ContainerAction action, ItemData itemData)
    {
        if (IsExcluded)
        {
            if (CollectionsIDList.Exists(x => x == itemData.CollectionID))
            {
                Debug.LogWarning("Item Resticted for being added to container because it has a Collection ID Restriction");
                return(true);
            }

            return(false);
        }
        else
        {
            if (CollectionsIDList.Exists(x => x == itemData.CollectionID))
            {
                return(false);
            }

            Debug.LogWarning("Item Resticted for being added to container because it has a Collection ID Restriction");
            return(true);
        }
    }
コード例 #12
0
        override public void ShowGUI(List <ActionParameter> parameters)
        {
            if (AdvGame.GetReferences().inventoryManager)
            {
                inventoryManager = AdvGame.GetReferences().inventoryManager;
            }

            if (inventoryManager)
            {
                // Create a string List of the field's names (for the PopUp box)
                List <string> labelList = new List <string>();

                int i = 0;
                if (invParameterID == -1)
                {
                    invNumber = -1;
                }

                if (inventoryManager.items.Count > 0)
                {
                    foreach (InvItem _item in inventoryManager.items)
                    {
                        labelList.Add(_item.label);

                        // If a item has been removed, make sure selected variable is still valid
                        if (_item.id == invID)
                        {
                            invNumber = i;
                        }

                        i++;
                    }

                    if (invNumber == -1)
                    {
                        ACDebug.LogWarning("Previously chosen item no longer exists!");
                        invNumber = 0;
                        invID     = 0;
                    }

                    useActive = EditorGUILayout.Toggle("Affect active container?", useActive);
                    if (!useActive)
                    {
                        parameterID = Action.ChooseParameterGUI("Container:", parameters, parameterID, ParameterType.GameObject);
                        if (parameterID >= 0)
                        {
                            constantID = 0;
                            container  = null;
                        }
                        else
                        {
                            container = (Container)EditorGUILayout.ObjectField("Container:", container, typeof(Container), true);

                            constantID = FieldToID <Container> (container, constantID);
                            container  = IDToField <Container> (container, constantID, false);
                        }
                    }

                    containerAction = (ContainerAction)EditorGUILayout.EnumPopup("Method:", containerAction);

                    if (containerAction == ContainerAction.RemoveAll)
                    {
                        transferToPlayer = EditorGUILayout.Toggle("Transfer to Player?", transferToPlayer);
                    }
                    else
                    {
                        //
                        invParameterID = Action.ChooseParameterGUI("Inventory item:", parameters, invParameterID, ParameterType.InventoryItem);
                        if (invParameterID >= 0)
                        {
                            invNumber = Mathf.Min(invNumber, inventoryManager.items.Count - 1);
                            invID     = -1;
                        }
                        else
                        {
                            invNumber = EditorGUILayout.Popup("Inventory item:", invNumber, labelList.ToArray());
                            invID     = inventoryManager.items[invNumber].id;
                        }
                        //

                        if (containerAction == ContainerAction.Remove)
                        {
                            transferToPlayer = EditorGUILayout.Toggle("Transfer to Player?", transferToPlayer);
                        }

                        if (inventoryManager.items[invNumber].canCarryMultiple)
                        {
                            setAmount = EditorGUILayout.Toggle("Set amount?", setAmount);

                            if (setAmount)
                            {
                                if (containerAction == ContainerAction.Add)
                                {
                                    amount = EditorGUILayout.IntField("Increase count by:", amount);
                                }
                                else if (containerAction == ContainerAction.Remove)
                                {
                                    amount = EditorGUILayout.IntField("Reduce count by:", amount);
                                }
                            }
                        }
                    }

                    AfterRunningOption();
                }

                else
                {
                    EditorGUILayout.LabelField("No inventory items exist!");
                    invID     = -1;
                    invNumber = -1;
                }
            }
        }
コード例 #13
0
        public override void ShowGUI(List<ActionParameter> parameters)
        {
            if (AdvGame.GetReferences ().inventoryManager)
            {
                inventoryManager = AdvGame.GetReferences ().inventoryManager;
            }

            if (inventoryManager)
            {
                // Create a string List of the field's names (for the PopUp box)
                List<string> labelList = new List<string>();

                int i = 0;
                if (invParameterID == -1)
                {
                    invNumber = -1;
                }

                if (inventoryManager.items.Count > 0)
                {
                    foreach (InvItem _item in inventoryManager.items)
                    {
                        labelList.Add (_item.label);

                        // If a item has been removed, make sure selected variable is still valid
                        if (_item.id == invID)
                        {
                            invNumber = i;
                        }

                        i++;
                    }

                    if (invNumber == -1)
                    {
                        ACDebug.LogWarning ("Previously chosen item no longer exists!");
                        invNumber = 0;
                        invID = 0;
                    }

                    useActive = EditorGUILayout.Toggle ("Affect active container?", useActive);
                    if (!useActive)
                    {
                        parameterID = Action.ChooseParameterGUI ("Container:", parameters, parameterID, ParameterType.GameObject);
                        if (parameterID >= 0)
                        {
                            constantID = 0;
                            container = null;
                        }
                        else
                        {
                            container = (Container) EditorGUILayout.ObjectField ("Container:", container, typeof (Container), true);

                            constantID = FieldToID <Container> (container, constantID);
                            container = IDToField <Container> (container, constantID, false);
                        }
                    }

                    containerAction = (ContainerAction) EditorGUILayout.EnumPopup ("Method:", containerAction);

                    if (containerAction == ContainerAction.RemoveAll)
                    {
                        transferToPlayer = EditorGUILayout.Toggle ("Transfer to Player?", transferToPlayer);
                    }
                    else
                    {
                        //
                        invParameterID = Action.ChooseParameterGUI ("Inventory item:", parameters, invParameterID, ParameterType.InventoryItem);
                        if (invParameterID >= 0)
                        {
                            invNumber = Mathf.Min (invNumber, inventoryManager.items.Count-1);
                            invID = -1;
                        }
                        else
                        {
                            invNumber = EditorGUILayout.Popup ("Inventory item:", invNumber, labelList.ToArray());
                            invID = inventoryManager.items[invNumber].id;
                        }
                        //

                        if (containerAction == ContainerAction.Remove)
                        {
                            transferToPlayer = EditorGUILayout.Toggle ("Transfer to Player?", transferToPlayer);
                        }

                        if (inventoryManager.items[invNumber].canCarryMultiple)
                        {
                            setAmount = EditorGUILayout.Toggle ("Set amount?", setAmount);

                            if (setAmount)
                            {
                                if (containerAction == ContainerAction.Add)
                                {
                                    amount = EditorGUILayout.IntField ("Increase count by:", amount);
                                }
                                else if (containerAction == ContainerAction.Remove)
                                {
                                    amount = EditorGUILayout.IntField ("Reduce count by:", amount);
                                }
                            }
                        }
                    }

                    AfterRunningOption ();
                }

                else
                {
                    EditorGUILayout.LabelField ("No inventory items exist!");
                    invID = -1;
                    invNumber = -1;
                }
            }
        }
コード例 #14
0
 public bool IsRestricted(ContainerAction containerAction, InstancedItemInformation itemData)
 {
     Debug.LogWarning("Item Resticted for being added to or removed from container because it has a No Action Restriction");
     return true;
 }
コード例 #15
0
 public bool IsRestricted(ContainerAction containerAction, InstancedItemInformation itemData)
 {
     Debug.LogWarning("Item Resticted for being added to or removed from container because it has a No Action Restriction");
     return(true);
 }
コード例 #16
0
        static void Main(string[] args)
        {
            var configurationRoot = new ConfigurationBuilder().SetBasePath(AppContext.BaseDirectory).AddJsonFile("config.json").Build();

            Config = new KillerConfig
            {
                ImageName       = configurationRoot.GetSection("ImageName").Value,
                ContainerName   = configurationRoot.GetSection("ContainerName").Value,
                ExpectedNetwork = configurationRoot.GetSection("ExpectedNetwork").Value
            };

            CurrentMode = ContainerAction.Kill;
            Containers  = GetContainers();
            try
            {
                NetworkMemory = new NetworkMemory(Containers, Config.ExpectedNetwork);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return;
            }

            ReDraw();
            char input = ' ';

            do
            {
                var key = Console.ReadKey();
                input = key.KeyChar;
                Console.WriteLine("");
                Containers = GetContainers();
                if (int.TryParse(input.ToString(), out var id))
                {
                    id--;
                    ExecuteCommand(id);
                }
                else
                {
                    switch (key.Key)
                    {
                    case ConsoleKey.R:
                    {
                        ReDraw();
                        break;
                    }

                    case ConsoleKey.S:
                    {
                        CurrentMode = ContainerAction.Stop;
                        ReDraw();
                        break;
                    }

                    case ConsoleKey.K:
                    {
                        CurrentMode = ContainerAction.Kill;
                        ReDraw();
                        break;
                    }

                    case ConsoleKey.N:
                    {
                        CurrentMode = ContainerAction.NetworkDown;
                        ReDraw();
                        break;
                    }

                    case ConsoleKey.UpArrow:
                    {
                        if (CurrentIndex > 1)
                        {
                            CurrentIndex--;
                        }
                        ReDraw();
                        break;
                    }

                    case ConsoleKey.DownArrow:
                    {
                        if (CurrentIndex < Containers.Count)
                        {
                            CurrentIndex++;
                        }
                        ReDraw();
                        break;
                    }

                    case ConsoleKey.Spacebar:
                    {
                        ExecuteCommand(CurrentIndex - 1);
                        ReDraw();
                        break;
                    }

                    default:
                    {
                        Write($"Unknown command: {input}");
                        break;
                    }
                    }
                }
            } while(input != 'q');
        }