Ejemplo n.º 1
0
    public void updatePotentialPartnersSprites(List <Character> potentialConversationPartners)
    {
        for (int i = 0; i < 3; i++)
        {
            Image partnerPortrait   = GameObject.Find("Character " + (i + 1) + " Portrait").GetComponent <Image>();
            Text  partnerNameplate  = GameObject.Find("Character " + (i + 1) + " NamePlate").GetComponent <Text>();
            Text  partnerLoveAmount = GameObject.Find("Character " + (i + 1) + " LoveAmount").GetComponent <Text>();

            if (i < potentialConversationPartners.Count)
            {
                partnerPortrait.sprite = BackgroundSwapper.createSpriteFromTex2D(potentialConversationPartners[i].image);
                partnerNameplate.text  = potentialConversationPartners[i].givenName + " " + potentialConversationPartners[i].surname;
                if (potentialConversationPartners[i] is DateableCharacter)
                {
                    partnerLoveAmount.text =
                        "In Love Amount: " + potentialConversationPartners[i].inLoveAmount.ToString();
                }
                else
                {
                    partnerLoveAmount.text = "";
                }
            }
            else
            {
                myAnimationMaestro.disablePartnerSelectionUI(partnerPortrait, partnerNameplate, partnerLoveAmount);
            }
        }
    }
    void MoveTopToBottom()
    {
        BackgroundBoundFinder topBound    = Backgrounds [CurrentTopIndex].GetComponent <BackgroundBoundFinder> ();
        BackgroundBoundFinder bottomBound = Backgrounds [CurrentBottomIndex].GetComponent <BackgroundBoundFinder> ();

        topBound.transform.position = new Vector3(
            topBound.transform.position.x,
            bottomBound.MinY + (topBound.transform.position.y - topBound.MaxY),
            topBound.transform.position.z
            );
        topBound.GetComponent <BackgroundController> ().Init();


        if (CurrentTopIndex < Backgrounds.Length - 1)
        {
            CurrentTopIndex++;
        }
        else
        {
            CurrentTopIndex = 0;
        }

        if (CurrentBottomIndex < Backgrounds.Length - 1)
        {
            CurrentBottomIndex++;
        }
        else
        {
            CurrentBottomIndex = 0;
        }

        BackgroundSwapper bg = topBound.GetComponent <BackgroundSwapper> ();

        ChangeBG(bg);
    }
    void MoveBackgrounds()
    {
        for (int i = 0; i < Backgrounds.Length; i++)
        {
            BackgroundSwapper bs = Backgrounds [i];

            bs.Move(MovingDistance * Time.deltaTime);

            if (MovingDistance.y > 0)
            {
                // moving up
                if (i == CurrentTopIndex)
                {
                    if (bs.transform.position.y > TopPosition.transform.position.y)
                    {
                        MoveTopToBottom();
                    }
                }
            }
            else
            {
                // moving down
                if (i == CurrentBottomIndex)
                {
                    if (bs.transform.position.y < BottomPosition.transform.position.y)
                    {
                        MoveBottomToTop();
                    }
                }
            }
        }
    }
    void MoveBottomToTop()
    {
        BackgroundBoundFinder topBound    = Backgrounds [CurrentTopIndex].GetComponent <BackgroundBoundFinder> ();
        BackgroundBoundFinder bottomBound = Backgrounds [CurrentBottomIndex].GetComponent <BackgroundBoundFinder> ();

        bottomBound.transform.position = new Vector3(
            bottomBound.transform.position.x,
            topBound.MaxY + (bottomBound.transform.position.y - bottomBound.MinY),
            bottomBound.transform.position.z
            );



        if (CurrentTopIndex > 0)
        {
            CurrentTopIndex--;
        }
        else
        {
            CurrentTopIndex = Backgrounds.Length - 1;
        }

        if (CurrentBottomIndex > 0)
        {
            CurrentBottomIndex--;
        }
        else
        {
            CurrentBottomIndex = Backgrounds.Length - 1;
        }

        BackgroundSwapper bg = bottomBound.GetComponent <BackgroundSwapper> ();

        ChangeBG(bg);
    }
    void ChangeBG(BackgroundSwapper bg)
    {
        if (IsChanging)
        {
            BGSeamModel seam = _CurrentSeamModel;

            // get next seam
            int randomRange = Random.Range(0, seam.NextArea.Length);

            BackgroundSwapper.BGType nextSeam = seam.NextArea [randomRange];

            // change top bound content
            bg.CurrentType = nextSeam;

            bg.CurrentBackgroundModel.BGSprite.Init();

            SetCurrentSeamModel(nextSeam);
        }
    }
Ejemplo n.º 6
0
    private void updateUIComponentsForState(GameState.gameStates currentState)
    {
        this.deactivateUIComponents();

        if (currentState == GameState.gameStates.COMMANDSEQUENCE)
        {
            mainPanel.SetActive(true);
            characterPanel.gameObject.SetActive(true);
            sequenceButtonsPanel.SetActive(true);
            updatePotentialPartnersSprites(myDialogueManager.getAllCurrentLocalPresentConversationPartners());
        }
        else if (currentState == GameState.gameStates.CUTSCENE)
        {
            updateUIForCutSceneState();
        }
        else if (currentState == GameState.gameStates.PROWL)
        {
            mainPanel.SetActive(true);
            mainPanelButtonsPanel.SetActive(true);
            mapButton.SetActive(!mySceneCatalogue.getIsInInteriorScene());
            characterPanel.gameObject.SetActive(true);

            toggleMainPanelIfUIEnabled(mapPanel, this.mapEnabled);
            toggleMainPanelIfUIEnabled(journalPanel, this.journalEnabled);

            if (mainPanel.activeSelf == true)
            {
                myAnimationMaestro.writeDescriptionText(mySceneCatalogue.getLocationDescription(), textPanel);
                updatePotentialPartnersSprites(myDialogueManager.getAllCurrentLocalPresentConversationPartners());
                updateSelectedPartnerButtonUI();
                updateToggleInteriorButtonUI();
            }
        }
        else if (currentState == GameState.gameStates.CONVERSATION)
        {
            dialoguePanel.SetActive(true);
            characterPanel.gameObject.SetActive(true);
            Image speakerPortrait = GameObject.Find("SpeakerPortrait").GetComponent <Image>();
            speakerPortrait.sprite = BackgroundSwapper.createSpriteFromTex2D(myConversationTracker.currentConversation.speaker.portrait);
            askOnDateButton.SetActive(myConversationTracker.canAskOnDateEnabled());
        }
        else if (currentState == GameState.gameStates.DATEINTRO)
        {
            mainPanel.SetActive(true);
            dateButtonsPanel.SetActive(myRelationshipCounselor.isAtDate);
            dateActionButton.SetActive(!myRelationshipCounselor.getDateAbandonedOrExperienced());
            dateActionButton.GetComponentInChildren <Text>().text = mySceneCatalogue.getCurrentLocation().currentDateAction;
            characterPanel.gameObject.SetActive(true);
            updatePotentialPartnersSprites(new List <Character>()
            {
                myRelationshipCounselor.getDatePartner(mySceneCatalogue.getCurrentLocation(), myTimelord.getCurrentTimestep())
            });
            myAnimationMaestro.writeDescriptionText(mySceneCatalogue.getCurrentLocation().descriptionDate, textPanel);
        }
        else if (currentState == GameState.gameStates.DATE)
        {
            mainPanel.SetActive(true);
            dateButtonsPanel.SetActive(myRelationshipCounselor.isAtDate);
            dateActionButton.SetActive(!myRelationshipCounselor.getDateAbandonedOrExperienced());
            dateActionButton.GetComponentInChildren <Text>().text = mySceneCatalogue.getCurrentLocation().currentDateAction;
            characterPanel.gameObject.SetActive(true);
            updatePotentialPartnersSprites(new List <Character>()
            {
                myRelationshipCounselor.getDatePartner(mySceneCatalogue.getCurrentLocation(), myTimelord.getCurrentTimestep())
            });
        }
        else if (currentState == GameState.gameStates.DATECUTSCENE)
        {
            mainPanel.SetActive(true);
            characterPanel.gameObject.SetActive(true);
            sequenceButtonsPanel.SetActive(true);
            updatePotentialPartnersSprites(GameObject.FindObjectOfType <CommandBuilder>().dateCutSceneCharList);
        }
        else if (currentState == GameState.gameStates.DATEOUTRO)
        {
            mainPanel.SetActive(true);
            dateButtonsPanel.SetActive(true);
            dateActionButton.SetActive(!myRelationshipCounselor.getDateAbandonedOrExperienced());
            myAnimationMaestro.writeDescriptionText("One good date can change your life.", textPanel);
        }
    }