コード例 #1
0
 // Start is called before the first frame update
 void Awake()
 {
     COI   = GameObject.FindGameObjectWithTag("CarryOverInventory").GetComponent <CarryOverInventory>();
     SS    = GameObject.FindGameObjectWithTag("Player").GetComponent <SlotSelection>();
     inv   = GameObject.FindGameObjectWithTag("Inventory").GetComponent <Inventory>();
     pause = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Pause>();
 }
コード例 #2
0
        public void MovePieceWhenFirstSelectedSlotIsMovableAndSecondCanReceivePiece()
        {
            //TODO: Slot tem que dar a posição dele e não da peça, pq tem slots q não possuem peça
            Vector2       pieceDestinePosition = new Vector2(1, 2);
            SlotSelection slotSelection        = CreateSlotSelection();
            GameObject    pieceObject          = CreatePieceObject();
            GridItemMover pieceMover           = pieceObject.GetComponent <GridItemMover>();
            PieceTranslationController firstPieceTranslationController = CreatePieceTranslationController(pieceObject);
            PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(firstPieceTranslationController, pieceMover);

            firstPieceDestinationController.SetMovable();
            Positioner slotPositioner = CreateSlotPositioner(pieceDestinePosition);
            Slot       slot1          = CreateSlot(slotSelection, firstPieceDestinationController, slotPositioner);

            GameObject    pieceObject2 = CreatePieceObject();
            GridItemMover pieceMover2  = pieceObject2.GetComponent <GridItemMover>();
            PieceTranslationController secondPieceTranslationController = CreatePieceTranslationController(pieceObject2);
            PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(secondPieceTranslationController, pieceMover2);

            secondPieceDestinationController.SetEmpty();
            Positioner slotPositioner2 = CreateSlotPositioner(pieceDestinePosition);
            Slot       slot2           = CreateSlot(slotSelection, secondPieceDestinationController, slotPositioner2);

            slot1.Touch();
            slot2.Touch();

            Assert.AreEqual(pieceDestinePosition, pieceMover.Position);
        }
コード例 #3
0
ファイル: MainBar.cs プロジェクト: gadoyMdr/Tower-Defense
    private void Awake()
    {
        slotSelection = FindObjectOfType <SlotSelection>();
        placeObject   = FindObjectOfType <PlaceObject>();

        selectedSlotInstance = Instantiate(selectedSlotPrefab);
        Initiate();
    }
コード例 #4
0
        private GridItemFactory CreateGridItemFactory(ItemNeighborRetriever itemNeighborRetriever)
        {
            GameObject      slotPrefab    = LoadSlotPrefab();
            SlotSelection   slotSelection = CreateSlotSelection();
            GridItemFactory pieceFactory  = CreatePieceFactory();

            return(new SlotFactoryImplementation(slotPrefab, slotSelection, pieceFactory, itemNeighborRetriever, new StubWinController()));
        }
コード例 #5
0
        public void SelectOneSlot()
        {
            SlotSelection       slotSelection       = CreateSlotSelection();
            SlotSelectionServer slotSelectionServer = CreateSlotSelectionServer(true, true);

            slotSelection.SelectSlot(slotSelectionServer);

            Assert.AreEqual(1, slotSelection.SelectedSlotSevers.Count);
        }
コード例 #6
0
        public void SelectOneSlotByTouching()
        {
            SlotSelection slotSelection = CreateSlotSelection();
            Slot          slot          = CreateSlot(slotSelection);

            slot.Touch();

            Assert.AreEqual(1, slotSelection.SelectedSlotSevers.Count);
        }
コード例 #7
0
    public void GetScripts() //get script components
    {
        try
        {
            PC = GameObject.FindWithTag("Player").GetComponent <PlayerController>();
        }
        catch
        {
            PC = null;
        }

        try
        {
            PS = GameObject.Find("Pistol").GetComponent <PlayerShooting>();
            if (PS != null)
            {
                PS.CancelReload();
            }
        }
        catch
        {
            PM = null;
        }

        try
        {
            PM = GameObject.Find("Machete").GetComponent <PlayerMelee>();
        }
        catch
        {
            PM = null;
        }

        try
        {
            UCI = GameObject.Find("Player").GetComponent <UseConsumableItem>();
            if (UCI != null && UseConsumableItem.playerIsHealing)
            {
                UCI.StopHeal();
            }
        }
        catch
        {
            UCI = null;
        }

        try
        {
            SS = GameObject.FindWithTag("Player").GetComponent <SlotSelection>();
        }
        catch
        {
            SS = null;
        }
    }
コード例 #8
0
        public void AfterSelectingTwoSlotsSelectionResets()
        {
            SlotSelection       slotSelection        = CreateSlotSelection();
            SlotSelectionServer slotSelectionServer1 = CreateSlotSelectionServer(true, true);
            SlotSelectionServer slotSelectionServer2 = CreateSlotSelectionServer(true, true);

            slotSelection.SelectSlot(slotSelectionServer1);
            slotSelection.SelectSlot(slotSelectionServer2);

            Assert.AreEqual(0, slotSelection.SelectedSlotSevers.Count);
        }
コード例 #9
0
        public void DontMoveAndReceiveIfCantReceive()
        {
            SlotSelection           slotSelection        = CreateSlotSelection();
            StubSlotSelectionServer slotSelectionServer1 = CreateSlotSelectionServer(true, true) as StubSlotSelectionServer;
            StubSlotSelectionServer slotSelectionServer2 = CreateSlotSelectionServer(true, false) as StubSlotSelectionServer;

            slotSelection.SelectSlot(slotSelectionServer1);
            slotSelection.SelectSlot(slotSelectionServer2);

            Assert.IsFalse(slotSelectionServer1.TakePieceWasCalled);
            Assert.IsFalse(slotSelectionServer2.ReceivePieceWasCalled);
        }
コード例 #10
0
        public void SelectingTwoSlotsWillCheckIfTheyCanMoveAndReceivePiece()
        {
            SlotSelection           slotSelection        = CreateSlotSelection();
            StubSlotSelectionServer slotSelectionServer1 = CreateSlotSelectionServer(true, true) as StubSlotSelectionServer;
            StubSlotSelectionServer slotSelectionServer2 = CreateSlotSelectionServer(true, true) as StubSlotSelectionServer;

            slotSelection.SelectSlot(slotSelectionServer1);
            slotSelection.SelectSlot(slotSelectionServer2);

            Assert.IsTrue(slotSelectionServer1.CanMovePieceWasCalled);
            Assert.IsTrue(slotSelectionServer2.CanReceivePieceWasCalled);
        }
コード例 #11
0
        public SlotFactoryImplementation(GameObject gridItemObjectPrefab, SlotSelection slotSelection, GridItemFactory pieceFactory, ItemNeighborRetriever itemNeighborRetriever, WinController winController)
        {
            this.gridItemObjectPrefab  = gridItemObjectPrefab;
            this.slotSelection         = slotSelection;
            this.pieceFactory          = pieceFactory;
            this.itemNeighborRetriever = itemNeighborRetriever;
            this.winController         = winController;

            GridItem gridItem = gridItemObjectPrefab.GetComponent <GridItem>();

            GridItemWidthInUnit  = gridItem.WidthInUnit;
            GridItemHeightInUnit = gridItem.HeightInUnit;
        }
コード例 #12
0
ファイル: Inventory.cs プロジェクト: Westonini/Dreadworks
    void Awake()
    {
        SS = GameObject.FindGameObjectWithTag("Player").GetComponent <SlotSelection>();

        try
        {
            COI = GameObject.FindGameObjectWithTag("CarryOverInventory").GetComponent <CarryOverInventory>();
        }
        catch
        {
            COI = null;
        }
    }
コード例 #13
0
        public void SelectingThreeStartNewSelection()
        {
            SlotSelection       slotSelection        = CreateSlotSelection();
            SlotSelectionServer slotSelectionServer1 = CreateSlotSelectionServer(true, true);
            SlotSelectionServer slotSelectionServer2 = CreateSlotSelectionServer(true, true);
            SlotSelectionServer slotSelectionServer3 = CreateSlotSelectionServer(true, true);

            slotSelection.SelectSlot(slotSelectionServer1);
            slotSelection.SelectSlot(slotSelectionServer2);
            slotSelection.SelectSlot(slotSelectionServer3);

            Assert.AreEqual(1, slotSelection.SelectedSlotSevers.Count);
            Assert.AreEqual(slotSelectionServer3, slotSelection.SelectedSlotSevers[0]);
        }
コード例 #14
0
        public void SelectTwoSlotsByTouching()
        {
            SlotSelection slotSelection = CreateSlotSelection();
            PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController();

            firstPieceDestinationController.SetMovable();
            PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController();

            firstPieceDestinationController.SetEmpty();
            Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController);
            Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController);

            slot1.Touch();
            slot2.Touch();

            Assert.AreEqual(0, slotSelection.SelectedSlotSevers.Count);
        }
コード例 #15
0
ファイル: ClearSlotSettings.cs プロジェクト: yakoder/NRaas
        protected override OptionResult Run(GameHitParameters <GameObject> parameters)
        {
            SlotSelection selection = SlotSelection.Create(mTarget as CraftersConsignmentDisplay);
            OptionResult  result    = selection.Perform();

            if (result != OptionResult.SuccessClose)
            {
                return(OptionResult.Failure);
            }

            foreach (int slot in selection.selectedItems)
            {
                Cupcake.Settings.RemoveDisplaySettingsForSlot(mTarget.ObjectId, slot);
            }

            Common.Notify(Common.Localize("General:Success"));

            return(OptionResult.SuccessClose);
        }
コード例 #16
0
        public void TouchingFirstThatCanNotTakePieceAndSecondThatCanReceive()
        {
            SlotSelection slotSelection = CreateSlotSelection();
            PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController();

            firstPieceDestinationController.SetEmpty();
            PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController();

            secondPieceDestinationController.SetEmpty();
            Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController);
            Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController);

            slot1.Touch();
            slot2.Touch();

            Assert.IsTrue(firstPieceDestinationController.CanReceivePiece());
            Assert.IsTrue(secondPieceDestinationController.CanReceivePiece());
            Assert.IsFalse(firstPieceDestinationController.CanMovePiece());
            Assert.IsFalse(secondPieceDestinationController.CanMovePiece());
        }
コード例 #17
0
ファイル: SetDisplaySettings.cs プロジェクト: yakoder/NRaas
        protected override OptionResult Run(GameHitParameters <GameObject> parameters)
        {
            SlotSelection slotSelection = SlotSelection.Create(mTarget as CraftersConsignmentDisplay);
            OptionResult  result        = slotSelection.Perform();

            if (result != OptionResult.SuccessClose)
            {
                return(OptionResult.Failure);
            }

            RecipeSelection recipeSelection = RecipeSelection.Create(Cupcake.Settings.BuildSlotsWithRecipes(Cupcake.Settings.GetDisplaySettings(mTarget.ObjectId)));
            OptionResult    recipeResult    = recipeSelection.Perform();

            if (recipeResult != OptionResult.SuccessClose)
            {
                return(OptionResult.Failure);
            }

            QualitySelection qualitySelection = QualitySelection.Create(Cupcake.Settings.BuildSlotsWithQualities(Cupcake.Settings.GetDisplaySettings(mTarget.ObjectId)));
            OptionResult     qualityResult    = qualitySelection.Perform();

            if (qualityResult != OptionResult.SuccessClose)
            {
                return(OptionResult.Failure);
            }

            foreach (Recipe recipe in recipeSelection.selectedItems)
            {
                Cupcake.Settings.AddDisplayRecipe(mTarget.ObjectId, slotSelection.selectedItems, recipe.Key, false);
            }

            foreach (Quality quality in qualitySelection.selectedItems)
            {
                Cupcake.Settings.SetRecipeQuality(mTarget.ObjectId, slotSelection.selectedItems, quality, false);
            }

            Common.Notify(Common.Localize("General:Success"));

            return(OptionResult.SuccessClose);
        }
コード例 #18
0
        public void SelectingTheThirdWillResetSelecting()
        {
            SlotSelection slotSelection = CreateSlotSelection();
            PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController();

            firstPieceDestinationController.SetMovable();
            PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController();

            secondPieceDestinationController.SetEmpty();
            PieceDestinationController thirdPieceDestinationController = CreatePieceDestinationController();

            thirdPieceDestinationController.SetMovable();
            Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController);
            Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController);
            Slot slot3 = CreateSlot(slotSelection, thirdPieceDestinationController);

            slot1.Touch();
            slot2.Touch();
            slot3.Touch();

            Assert.AreEqual(1, slotSelection.SelectedSlotSevers.Count);
            Assert.AreEqual(slot3, slotSelection.SelectedSlotSevers[0]);
        }
コード例 #19
0
ファイル: MainSlot.cs プロジェクト: gadoyMdr/Tower-Defense
 private void Awake()
 {
     slotSelection = FindObjectOfType <SlotSelection>();
 }
コード例 #20
0
ファイル: CopySlotsToSlots.cs プロジェクト: yakoder/NRaas
        protected override OptionResult Run(GameHitParameters <GameObject> parameters)
        {
            if (Cupcake.activeDisplay == null)
            {
                Common.Notify(Common.Localize("SlotCopy:NoSelection"));
                return(OptionResult.Failure);
            }

            if (Cupcake.activeDisplay == mTarget)
            {
                Common.Notify(Common.Localize("SlotCopy:SameDisplay"));
                return(OptionResult.Failure);
            }

            DisplayHelper.DisplayTypes targetType = DisplayHelper.GetDisplayType(mTarget as CraftersConsignmentDisplay);
            DisplayHelper.DisplayTypes activeType = DisplayHelper.GetDisplayType(Cupcake.activeDisplay as CraftersConsignmentDisplay);

            if (targetType != activeType)
            {
                Common.Notify(Common.Localize("SlotCopy:TypeMismatch"));
                return(OptionResult.Failure);
            }

            if (!Cupcake.Settings.HasSettings(Cupcake.activeDisplay.ObjectId))
            {
                Common.Notify(Common.Localize("SlotCopy:NoSettings"));
                return(OptionResult.Failure);
            }

            SimpleMessageDialog.Show(Common.Localize("SlotCopy:MessageTitle"), Common.Localize("SlotCopy:MessageBody"));

            SlotSelection activeSlotSelection = SlotSelection.Create(Cupcake.activeDisplay as CraftersConsignmentDisplay);
            OptionResult  result = activeSlotSelection.Perform();

            if (result != OptionResult.SuccessClose)
            {
                return(OptionResult.Failure);
            }

            SlotSelection targetSlotSelection = null;

            if (activeSlotSelection.selectedItems.Count == 1 && !activeSlotSelection.all)
            {
                targetSlotSelection = SlotSelection.Create(mTarget as CraftersConsignmentDisplay);
                OptionResult targetResult = targetSlotSelection.Perform();

                if (targetResult != OptionResult.SuccessClose)
                {
                    return(OptionResult.Failure);
                }
            }

            if (targetSlotSelection == null)
            {
                // selected multiple from active display, we are doing carbon copying
                foreach (int slot in activeSlotSelection.selectedItems)
                {
                    if (Cupcake.Settings.SlotHasSettings(Cupcake.activeDisplay.ObjectId, slot))
                    {
                        Cupcake.Settings.RemoveDisplaySettingsForSlot(mTarget.ObjectId, slot);
                        Cupcake.Settings.SetDisplaySettingsForSlot(mTarget.ObjectId, Cupcake.Settings.GetDisplaySettingsForSlot(Cupcake.activeDisplay.ObjectId, slot), slot);
                    }
                }
            }
            else
            {
                // selected single from active display, we are doing multiple copy to target display
                foreach (int slot in targetSlotSelection.selectedItems)
                {
                    if (Cupcake.Settings.SlotHasSettings(Cupcake.activeDisplay.ObjectId, activeSlotSelection.selectedItems[0]))
                    {
                        Cupcake.Settings.RemoveDisplaySettingsForSlot(mTarget.ObjectId, slot);
                        Cupcake.Settings.SetDisplaySettingsForSlot(mTarget.ObjectId, Cupcake.Settings.GetDisplaySettingsForSlot(Cupcake.activeDisplay.ObjectId, activeSlotSelection.selectedItems[0]), slot);
                    }
                }
            }

            Common.Notify(Common.Localize("General:Success"));

            return(OptionResult.SuccessClose);
        }
コード例 #21
0
 void Awake()
 {
     SS  = GameObject.FindGameObjectWithTag("Player").GetComponent <SlotSelection>();
     EDM = gameObject.GetComponentInParent <EnemyDetectionMovement>();
 }
コード例 #22
0
 public StubSlotFactory(GameObject slotPrefab, SlotSelection slotSelection, ItemNeighborRetriever itemNeighborRetriever)
 {
     gridItemFactory = new SlotFactoryImplementation(slotPrefab, slotSelection, pieceFactory, itemNeighborRetriever, new StubWinController());
 }
コード例 #23
0
 void Awake()
 {
     inv  = GameObject.FindGameObjectWithTag("Inventory").GetComponent <Inventory>();
     SS   = GameObject.FindGameObjectWithTag("Player").GetComponent <SlotSelection>();
     EODS = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <EnableOrDisableScripts>();
 }
コード例 #24
0
 void Start()
 {
     slotSelection = GameObject.Find("SlotSelection").GetComponent <SlotSelection> ();
     inventory     = GameObject.Find("Inventory").GetComponent <Inventory> ();
 }
コード例 #25
0
        private Slot CreateSlot(SlotSelection slotSelection, PieceDestinationController pieceDestinationController)
        {
            Positioner slotPositioner = CreateSlotPositioner(Vector2.zero);

            return(new SlotImplementation(slotSelection, pieceDestinationController, slotPositioner));
        }
コード例 #26
0
 void Awake()
 {
     WC  = GameObject.FindGameObjectWithTag("Interact").GetComponent <WorkbenchCrafting>();
     SS  = GameObject.FindGameObjectWithTag("Player").GetComponent <SlotSelection>();
     inv = GameObject.FindGameObjectWithTag("Inventory").GetComponent <Inventory>();
 }
コード例 #27
0
 public SlotImplementation(SlotSelection slotSelection, PieceDestinationController pieceDestinationController, Positioner positioner)
 {
     this.slotSelection = slotSelection;
     this.pieceDestinationController = pieceDestinationController;
     this.positioner = positioner;
 }
コード例 #28
0
 private Slot CreateSlot(SlotSelection slotSelection, PieceDestinationController pieceDestinationController, Positioner positioner = null)
 {
     return(new SlotImplementation(slotSelection, pieceDestinationController, positioner));
 }
コード例 #29
0
 public SlotImplementation(SlotSelection slotSelection, Positioner positioner)
 {
     this.slotSelection = slotSelection;
     this.positioner    = positioner;
 }
コード例 #30
0
        private Slot CreateSlot(SlotSelection slotSelection)
        {
            Positioner slotPositioner = CreateSlotPositioner(Vector2.zero);

            return(new SlotImplementation(slotSelection, slotPositioner));
        }