예제 #1
0
    public IEnumerator Start()
    {
        foreach (Transform child in BannerGrid)
        {
            Destroy(child.gameObject);
        }

        foreach (Transform child in PaginationGrid)
        {
            Destroy(child.gameObject);
        }

        foreach (var banner in Banners)
        {
            var instance = Instantiate(BannerPrefab, BannerGrid);
            var button   = instance.GetComponent <Button>();

            button.onClick.RemoveAllListeners();

            if (string.IsNullOrEmpty(banner.Url))
            {
                if (banner.data != null)
                {
                    Banner b = banner;
                    button.onClick.AddListener(delegate { PushData(b); });
                }
                else
                {
                    button.onClick.AddListener(() => { StartCoroutine(ForceScrollDown()); });
                }
            }
            else
            {
                button.onClick.AddListener(() => {
                    Debug.Log(banner.Url);


                    var safeBrowsing = UniWebViewSafeBrowsing.Create(banner.Url);

                    // Show it on screen.
                    safeBrowsing.Show();
                });
            }

            instance.GetComponent <Image>().sprite = banner.Sprite;

            if (Banners.Count > 1)
            {
                var toggle = Instantiate(PagePrefab, PaginationGrid);

                toggle.group = PaginationGrid.GetComponent <ToggleGroup>();
            }
        }

        yield return(null);

        HorizontalScrollSnap.Initialize(Random);
        HorizontalScrollSnap.GetComponent <ScrollRect>().movementType = Elastic ? ScrollRect.MovementType.Elastic : ScrollRect.MovementType.Clamped;
    }
예제 #2
0
    public void EnableScrolling(bool enable)
    {
        ScrollRect scroll = m_HorizontalScrollSnap.GetComponent <ScrollRect>();

        scroll.horizontal = enable;
    }
예제 #3
0
    public void ChangeToSubway()
    {
        Mask.alpha = 1;
        if (isTutorial)
        {
            TutorialManager.scrollControl(true);
            myCameraState = CameraState.Subway;
        }
        else if (LevelManager.isInstruction)//换到鱼界面
        {
            print("Final camera controller clicktime = 7");
            myHSS.GoToScreen(3);
            LevelManager.clicktime = 7;
            Show(fishShoutCG);
        }

        Hide(TakePhoto);
        Hide(Posture);
        transform.position = new Vector3(0, 0, -10);
        if (myCameraState == CameraState.Closet || myCameraState == CameraState.Map ||
            myCameraState == CameraState.App || myCameraState == CameraState.Ad)
        {
            if (lastCameraState != CameraState.Closet && lastCameraState != CameraState.Map &&
                lastCameraState != CameraState.App && myCameraState != CameraState.Ad)
            {
                myCameraState = lastCameraState;
            }
            else
            {
                myCameraState = CameraState.Subway;
            }
        }


        //hide everything
        Hide(Inventory);
        Show(subwayBackground);
        Hide(frontPage);
        Hide(appBackground);
        Hide(NPCPage);
        Hide(SubwayMap);
        Hide(postpage);

        HideAllPersonalPages();

        //for Tutorial
        if (isTutorial)
        {
            if (TutorialManager.tutorialNumber == 14)//从换装界面出来
            {
                TutorialManager.scrollControl(true);
                mySubwayState = SubwayState.Four;
                myHSS.GetComponent <HorizontalScrollSnap>().GoToScreen(4);
                TutorialManager.tutorialNumber = 15;
            }
            else if (TutorialManager.tutorialNumber == 15)//从地铁界面出来
            {
                mySubwayState = SubwayState.One;
                myHSS.GetComponent <HorizontalScrollSnap>().GoToScreen(1);
                TutorialManager.tutorialNumber = 16;
            }
            else if (TutorialManager.tutorialNumber == 16)
            {
                mySubwayState = SubwayState.One;
                myHSS.GetComponent <HorizontalScrollSnap>().GoToScreen(1);
                TutorialManager.tutorialNumber = 15;
            }
        }
    }
예제 #4
0
    public void putClothIn()
    {
        if (!FinalCameraController.isTutorial)
        {
            FinalCameraController.LevelManager.isInstruction = false;
        }

        FinalCameraController.CancelAllUI(false);

        if (FinalCameraController.isSwipping == false)
        {
            if (hitTime == 0)
            {
                myAudio.pitch = 0.5f;

                myAudio.Play();
                //for tutorial
                if (FinalCameraController.isTutorial)
                {
                    WasherControllerList[0].myMachineState = AllMachines.MachineState.bagUnder;
                    //change machine tags to character
                    WasherControllerList[0].transform.gameObject.tag = this.transform.gameObject.tag;

                    this.gameObject.transform.SetParent(WasherControllerList[0].gameObject.transform);

                    transform.position =
                        AllMachines.WashingMachines[0].transform.position + new Vector3(0, -2.5f, 0);

                    FinalCameraController.TutorialManager.scrollControl(true);

                    myHSS.GetComponent <HorizontalScrollSnap>().GoToScreen(2);


                    FinalCameraController.TutorialManager.KararaStandingImage.enabled = false;
                    FinalCameraController.TutorialManager.tutorialNumber = 3;

                    FinalCameraController.TutorialManager.stopDisappear = false;

                    hitTime++;
                }
                else
                {
                    SubwayMovement.bagNum -= 1;
                    for (int i = 0; i < AllMachines.WashingMachines.Count; i++)
                    {
                        //get machine start washing
                        if (WasherControllerList[i].myMachineState == AllMachines.MachineState.empty)
                        {
                            WasherControllerList[i].myMachineState = AllMachines.MachineState.bagUnder;
                            //change machine tags to character
                            WasherControllerList[i].transform.gameObject.tag = this.transform.gameObject.tag;

                            this.gameObject.transform.SetParent(WasherControllerList[i].gameObject.transform);

                            transform.position =
                                AllMachines.WashingMachines[i].transform.position + new Vector3(0, -2.7f, 0);
                            if (i == 0)
                            {
                                myHSS.GetComponent <HorizontalScrollSnap>().GoToScreen(2);
                            }
                            else
                            {
                                myHSS.GetComponent <HorizontalScrollSnap>().GoToScreen(3);
                            }

                            //change the bag position to be empty again
                            SubwayMovement.bagPosAvailable[myBagPosition] = false;

                            hitTime++;
                            break;
                        }
                    }
                }
            }

            else if (hitTime == 1)
            {
                myAudio.pitch = 0.6f;
                myAudio.Play();

                //点第二次换成打开的包
                print("tag = " + tag);
                myImage.sprite = AllMachines.openBagsDic[this.tag];

                //in tutorial
                if (FinalCameraController.isTutorial)
                {
                    FinalCameraController.TutorialManager.tutorialNumber = 4;
//                    FinalCameraController.TutorialManager.bag.GetComponent<Image>().material.DisableKeyword("SHAKEUV_ON");
                }

                for (int i = 0; i < AllMachines.WashingMachines.Count; i++)
                {
                    //get machine start washing
                    if (WasherControllerList[i].myMachineState == AllMachines.MachineState.bagUnder)
                    {
                        if (WasherControllerList[i].transform.CompareTag(this.transform.gameObject.tag))
                        {
                            WasherControllerList[i].myMachineState = AllMachines.MachineState.full;
//                        //change machine tags to character
//                        WasherControllerList[i].transform.gameObject.tag = this.transform.gameObject.tag;

                            hitTime++;
                            break;
                        }
                    }
                }
            }
            //return clothes
            else if (hitTime > 1)
            {
//                else
//                {
                //get the machine with clothes from this bag
                for (int i = 0; i < AllMachines.WashingMachines.Count; i++)
                {
                    if (WasherControllerList[i].CompareTag(this.transform.gameObject.tag))
                    {
                        if (WasherControllerList[i].myMachineState == AllMachines.MachineState.finished)
                        {
                            //WasherControllerList[i].myMachineState = AllMachines.MachineState.empty;

                            if (FinalCameraController.alreadyNotice == false)
                            {
                                AllMachines.currentBag = this.gameObject;    //currentbag 是指产生了notice的这个包

                                print("returnClothhhhhh");
                                if (FinalCameraController.isTutorial)
                                {
                                    if (FinalCameraController.TutorialManager.tutorialNumber == 16)
                                    {
//                                            FinalCameraController.DisableInput(true);
                                        FinalCameraController.TutorialManager.scrollControl(false);
                                        //then return all clothes in the machine
                                        FinalCameraController.generatedNotice = Instantiate(AllMachines.returnNotice,
                                                                                            new Vector3(0, 0, 0),
                                                                                            Quaternion.identity, WasherControllerList[i].gameObject.transform);

                                        FinalCameraController.generatedNotice.tag = this.tag;
                                        FinalCameraController.generatedNotice.transform.SetParent(WasherControllerList[2].gameObject.transform);
                                        //change karara back into work cloth

                                        FinalCameraController.alreadyNotice = true;
                                    }
                                    else if (FinalCameraController.TutorialManager.tutorialNumber == 9)
                                    {
                                        FinalCameraController.TutorialManager.chooseBag = true;
                                        FinalCameraController.TutorialManager.clicktime = 7;
                                    }
                                }
                                else
                                {
                                    //generate the notice
                                    FinalCameraController.generatedNotice = Instantiate(AllMachines.returnNotice,
                                                                                        new Vector3(0, 0, 0),
                                                                                        Quaternion.identity, WasherControllerList[i].gameObject.transform);
                                    FinalCameraController.generatedNotice.tag = this.tag;
                                    FinalCameraController.alreadyNotice       = true;


                                    if (i == 1)
                                    {
                                        FinalCameraController.generatedNotice.transform.SetParent(WasherControllerList[2].gameObject.transform);
                                    }
                                    else
                                    {
                                        FinalCameraController.generatedNotice.transform.SetParent(WasherControllerList[i].gameObject.transform);
                                    }
                                }
                            }

                            //print("AllMachines.currentBag.tag = " + AllMachines.currentBag.tag);

                            hitTime++;
                            break;
                        }
                    }
                }
//                }
            }
        }
    }