示例#1
0
        public int AddQuery(FrontEndQuery.QueryInfo info)
        {
            Globals.Assert(numQueries < (int)Enum.kMaxQueries);
            if (query[numQueries] == null)
            {
                query[numQueries] = new FrontEndQuery();
            }

            (query[numQueries]).Initialise(info);
            numQueries++;
            return(numQueries - 1);
        }
        public void InitialiseNew(QueryInfoNew info)
        {
            waitToHide = 0.0f;

            if (unityText == null)
            {
                unityText = new FunnyWord();
            }

            if (info.numButtons > 0)
            {
                myColour = Constants.kColourRed;
            }

            if (Globals.g_main.usingTextureResolution == TextureResolutionEnum.kTextureResolution_High)
            {
                info.inTextScale *= 2.0f;
            }

            if (Globals.g_world.DoesCurrentLanguageUseNSString() || info.useNSStringForAnyLanguage)
            {
                useNSString = true;
            }
            else
            {
                useNSString = false;
            }

            FunnyWord.WordInfo wInfo;
            wInfo.position    = info.position;
            wInfo.isCentrePos = true;
            wInfo.scale       = info.inTextScale * 0.32f;      // * 0.25f;

            if (useNSString)
            {
                unityText.InitWithWordNewP1(wInfo, info.queryText);
            }
            else
            {
                position = info.position;
                this.DivideStringIntoFunnyWords(info.queryText);

                wInfo.scale = info.inTextScale * 0.012f;                // * 0.1f;// * 0.25f;
                //unityText.SetFont(Globals.g_world.font);
                //unityText.SetColourAtlas(Globals.g_world.GetAtlas(AtlasType.kAtlas_FontColours));
                //unityText.InitWithWordP1(wInfo,info.queryText);
            }

            unityText.SetColour(myColour);

            if (useNSString)
            {
                unityText.myTextWrapper.SetBoundThing();
                unityText.SetUseTextureInstead(true);
                unityText.myTextWrapper.SetFontSize(info.inTextScale * 0.32f);
            }

            newStyleWithAtlas = info.newStyleWithAtlas;
            newStyleQuery     = true;
            useActualText     = false;
            FrontEndQuery.QueryInfo qInfo = new FrontEndQuery.QueryInfo();
            qInfo.noButton  = info.noButton;
            qInfo.yesButton = info.yesButton;
            position        = info.position;
            state           = QueryState.e_Inactive;
            chosenButton    = (QueryButton)(-1);
            queryText       = (info.queryText);
            boxDimensions   = Utilities.CGPointMake(info.boxDimensions.Width, info.boxDimensions.Height);
            scale.x         = info.scale;
            scale.y         = info.scale;
            atlas           = info.inAtlas;
            if (newStyleWithAtlas)
            {
                this.SetupButtonsNew(info);
            }

            Zobject.ZobjectInfo zInfo = new Zobject.ZobjectInfo();
            if (newStyleWithAtlas)
            {
                zInfo.texture = null;
            }
            else
            {
                zInfo.texture = info.backdropTexture;
            }

            zInfo.startState  = ZobjectState.kZobjectHidden;
            zInfo.position    = position;
            zInfo.isMapObject = false;
            backdrop.Initialise(zInfo);
            backdrop.SetShowScale(scale.x * 1.2f);
            if (newStyleWithAtlas)
            {
                backdrop.SetAtlasAndSubtextureP1(atlas, info.backdropId);
            }
            else
            {
//                backdrop.SetShowScale(1.2f);
            }

            if (backdrop.myAtlasBillboard != null)
            {
                backdrop.myAtlasBillboard.myObject.layer = LayerMask.NameToLayer("guistuff");
            }

            numButtons     = info.numButtons;
            zInfo.position = Utilities.CGPointMake(160.0f, 240.0f);
            zInfo.texture  = info.dimOverlayTexture;
            dimZob.Initialise(zInfo);
            dimZob.SetStretchToScreen(true);
            dimZob.SetShowStyle((int)ZobjectShowStyle.kZobjectShow_FadeIn);
            dimZob.SetHideStyle((int)ZobjectHideStyle.kZobjectHide_FadeOut);
            dimZob.SetShowAlpha(0.7f);
            if (newStyleWithAtlas)
            {
                dimZob.SetAtlasAndSubtextureP1(atlas, info.dimId);
            }

            if (dimZob.myAtlasBillboard != null)
            {
                dimZob.myAtlasBillboard.myObject.layer = LayerMask.NameToLayer("guistuff");
            }


            if (textTexture != null)
            {
            }

            CGSize dimensionsForText = info.boxDimensions;
            float  textScale         = info.inTextScale;

            if (Globals.deviceIPad)
            {
                dimensionsForText.Height *= 2.0f;
                dimensionsForText.Width  *= 2.0f;
                textScale *= 2.0f;
            }

            textTexture    = null;         //new Texture2D_Ross(info.queryText, dimensionsForText, UITextAlignment.UITextAlignmentCenter, "Arial", textScale);
            zInfo.texture  = textTexture;
            zInfo.position = position;
            if (Globals.g_currentLanguage == World.Enum11.kLanguage_Japanese)
            {
                if ((!Globals.deviceIPhone4) && (!Globals.deviceIPad))
                {
                    zInfo.position.y += 3.0f;
                }
                else
                {
                    zInfo.position.y += 15.0f;
                }
            }

            text.Initialise(zInfo);
            text.SetShowScale(scale.x);

            if (text.myAtlasBillboard != null)
            {
                text.myAtlasBillboard.myObject.layer = LayerMask.NameToLayer("guistuff");
            }


            if (!newStyleWithAtlas)
            {
                boxDimensions.x = 200.0f;
                boxDimensions.y = 180.0f;
                if (info.numButtons == 0)
                {
                    this.SetupButtons(qInfo);
                }
            }


            if (info.numButtons > 0)
            {
                queryButtonStyle = QueryButtonStyle.kQButtonsCentral;
                this.SetupCentralButtons(info);

                //This means we want the new style central hanging buttons
            }
            else
            {
                queryButtonStyle = QueryButtonStyle.kQButtonsEdges;
            }

            backdrop.SetShowStyle(ZobjectShowStyle.kZobjectShow_SlideInLeft);
            backdrop.SetHideStyle(ZobjectHideStyle.kZobjectHide_SlideToRight);
            backdrop.SetHideAcc(0.02f);

            unityText.SetPositionZob(backdrop);
        }