Exemple #1
0
    void Start()
    {
        isShowSettingsScreen = false;
        isStartingGame       = false;
        blackScreen.GetComponent <Image>().color = new Color(0.0f, 0.0f, 0.0f, 0.0f);
        blackScreen.SetActive(false);
        currScreen = SCREENS.MAINMENU;

        SaveLoad.Load();
        UpdateBGMButton();
        UpdateSFXButton();
        UpdateVibrateButton();
    }
Exemple #2
0
 /// <summary>
 /// Enables a given screen and disable all others
 /// </summary>
 /// <param name="screen">Screen enum</param>
 public void EnableScreen(SCREENS screen)
 {
     //Loop the screenes
     foreach (KeyValuePair <SCREENS, GameObject> e in allScreenes)
     {
         if (e.Key == screen)
         {
             //Debug.Log("Show: " + screen.ToString("g"));
             e.Value.SetActive(true);
         }
         else
         {
             //Debug.Log("Hide: " + e.Key);
             e.Value.SetActive(false);
         }
     }
 }
Exemple #3
0
        public static void NavigateToScreen(SCREENS screen)
        {
            UIViewController controller = null;
            switch(screen)
            {
                case SCREENS.Start:
                    controller = new GameStartScreenController ();
                    break;
                case SCREENS.GameType:
                    controller = new GameTypeController ();
                    break;
                case SCREENS.SinglePlayerGame:
                    controller = new GameMainController ();
                    break;
                case SCREENS.NetworkBrowser:
                    controller = new GameContainerController(SCREENS.GameType, new GameNetworkInstanceDiscoveryController (AppDelegate.NetworkGameInstance));
                    break;
            }

            var del = UIApplication.SharedApplication.Delegate as AppDelegate;
            del.window.RootViewController = controller;
        }
Exemple #4
0
    public GameObject[] screens;                    // Holds screens for Instantiation

    public void create(SCREENS which)
    {
        Instantiate(screens[(int)which], GameObject.Find("Camera").GetComponent <Transform>().position, Quaternion.identity);
    }
Exemple #5
0
        private void processButtonAction(Button button)
        {
            if (button == mButtonPlay)
            {
                SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                mFade = new Fade(this, "fades\\blackfade");
                //
                //TODO if.....
                //ObjectSerialization.Save<ProgressObject>(Game1.sPROGRESS_FILE_NAME, new ProgressObject(1, ProgressObject.PlayerColor.GREEN));

                Game1.progressObject = ExtraFunctions.loadProgress();

                if (Game1.progressObject != null)
                {
                    if (Game1.progressObject.getCurrentStage() > 1)
                    {
                        configureToContinueScreen(true);
                    }
                    else
                    {
                        //SoundManager.stopMusic();

                        ObjectSerialization.Save <ProgressObject>(Game1.sPROGRESS_FILE_NAME, Game1.progressObject.setStageAndColor(1, ProgressObject.PlayerColor.BLUE));
                        executeFade(mFade, Fade.sFADE_OUT_EFFECT_GRADATIVE);
                        mFadeParam = FADE_PARAM.START_GAME;
                    }
                }

                /*
                 */
            }
            else
            if (button == mButtonContinue)
            {
                //SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                //mFade = new Fade(this, "fades\\blackfade");
                //executeFade(mFade, Fade.sFADE_OUT_EFFECT_GRADATIVE);

                SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                executeFade(mFade, Fade.sFADE_OUT_EFFECT_GRADATIVE);
                mFadeParam = FADE_PARAM.CONTINUE_GAME;
            }
            else
            if (button == mButtonNewGame)
            {
                //SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                //mFade = new Fade(this, "fades\\blackfade");
                //executeFade(mFade, Fade.sFADE_OUT_EFFECT_GRADATIVE);
                SoundManager.PlaySound(cSOUND_HIGHLIGHT);

                ObjectSerialization.Save <ProgressObject>(Game1.sPROGRESS_FILE_NAME, Game1.progressObject.setStageAndColor(1, ProgressObject.PlayerColor.BLUE));
                executeFade(mFade, Fade.sFADE_OUT_EFFECT_GRADATIVE);
                mFadeParam = FADE_PARAM.START_GAME;
            }
            else if (button == mButtonHelp)
            {
                currentScreen = new HelpScreen(this);
                cSCREEN       = SCREENS.HELP_SCREEN;
                SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                // Game1.getInstance().getScreenManager().changeScreen(ScreenManager.SCREEN_ID_MAIN_MENU_HELP, false);
            }
            else if (button == mButtonCredits)
            {
                currentScreen = new CreditsScreen(this);
                cSCREEN       = SCREENS.CREDITS_SCREEN;
                SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                //Game1.getInstance().getScreenManager().changeScreen(ScreenManager.SCREEN_ID_MAIN_MENU_CREDITS, false);
            }
            else if (button == mButtonFullscreen)
            {
                SoundManager.PlaySound(cSOUND_HIGHLIGHT);
                Game1.getInstance().toggleFullscreen();
            }
            else if (button == mButtonExit)
            {
                executeFade(mFade, Fade.sFADE_OUT_EFFECT_GRADATIVE);
                mFadeParam = FADE_PARAM.EXIT_GAME;
            }
        }
Exemple #6
0
 /// <summary>
 /// Returns the game object for a given screen
 /// </summary>
 /// <param name="screen">Screen enum</param>
 /// <returns></returns>
 public GameObject GetScreen(SCREENS screen)
 {
     return(allScreenes[screen]);
 }
Exemple #7
0
    // NGUI Mouse Handler
    public void BtnClick(int btn_)
    {
        // No buttons should work while the screen is transiting.
        if (MenuHandler.GetComponent <MainMenuScript>().moveScreen)
        {
            return;
        }

        switch ((BUTTONTYPES)btn_)
        {
        case BUTTONTYPES.MAIN_SINGLEPLAYER:
            isStartingGame = true;
            GlobalScript.Instance.gameMode = 0;
            GlobalScript.Instance.SetSinglePlayerName();
            GlobalScript.Instance.SetSinglePlayerIcon();

            if (GameData.current.finishedTutorial && AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.STARTGAME);
            }

            break;

        case BUTTONTYPES.MAIN_LOCALPLAY:
            currScreen = SCREENS.LOCALPLAY;
            GlobalScript.Instance.gameMode = 1;
            Camera.main.GetComponent <MainMenuScript>().ChangeScreen(1);
            Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(false);
            Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(false);
            GlobalScript.Instance.avatarState = 1;
            AvatarHandler.Instance.UpdateUnlockedAvatarsStatus();
            AvatarHandler.Instance.SetAvatarPlaceHolderText();

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.MAIN_NETWORK:
            currScreen = SCREENS.ONLINEPLAY;
            GlobalScript.Instance.gameMode = 2;
            Camera.main.GetComponent <MainMenuScript>().ChangeScreen(2);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.MAIN_GACHA:
            currScreen = SCREENS.GACHA_POINTS;
            GlobalScript.Instance.network_allowButtonClicks = 0;
            Camera.main.GetComponent <MainMenuScript>().ChangeScreen(3);
            Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(false);
            Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(false);
            AvatarHandler.Instance.UpdateUnlockedAvatarsStatus();

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.MAIN_SETTINGS:
            if (currScreen == SCREENS.MAINMENU)
            {
                currScreen = SCREENS.SETTINGS_MAIN;
            }
            else
            {
                currScreen = SCREENS.MAINMENU;
            }
            isShowSettingsScreen = !isShowSettingsScreen;
            Camera.main.GetComponent <MainMenuScript>().SettingsScreen.SetActive(isShowSettingsScreen);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.MAIN_AVATAR:
            currScreen = SCREENS.AVATAR;
            GlobalScript.Instance.network_allowButtonClicks = 0;
            Camera.main.GetComponent <MainMenuScript>().ChangeScreen(4);
            Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(false);
            Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(false);
            GlobalScript.Instance.avatarState = 3;
            AvatarHandler.Instance.UpdateUnlockedAvatarsStatus();

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        // Back To Main Menu
        case BUTTONTYPES.LOCAL_BACKTOMAINMENU:
            currScreen = SCREENS.MAINMENU;
            Camera.main.GetComponent <MainMenuScript>().ChangeScreen(0, true);

            Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(true);
            Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(true);
            GlobalScript.Instance.avatarState = 0;

            if (GachaScript.Instance)
            {
                GachaScript.Instance.ResetGachaText();
                GachaScript.Instance.ResetSpecialText();
            }

            AvatarHandler.Instance.OnClickLocalPlayIcon1(false);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.BACK);
            }

            //GlobalScript.Instance.LeaveRoom();
            //GlobalScript.Instance.ResetCountdown();
            break;

        case BUTTONTYPES.LOCALPLAY_START:
            isStartingGame = true;
            GlobalScript.Instance.SetLocalMultiPlayerName();
            GlobalScript.Instance.SetLocalMultiPlayerIcon();

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.STARTGAME);
            }
            break;

        case BUTTONTYPES.NETWORK_PUBLICGAME:
            GlobalScript.Instance.FindPublicGame();
            Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(false);
            Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(false);
            Camera.main.GetComponent <MainMenuScript>().noofPlayers.SetActive(true);
            Camera.main.GetComponent <MainMenuScript>().networkMenuAnimStage = 1;
            GameObject.FindGameObjectWithTag("MainCamera").GetComponent <MainMenuScript>().SetAnim(1);
            GlobalScript.Instance.SetGreyBtns();

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.NETWORK_PRIVATEGAME:
            GlobalScript.Instance.FindFriendGame();
            Camera.main.GetComponent <MainMenuScript>().networkMenuAnimStage = 1;

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.NETWORK_PRIVATEGAME_SEARCH:

            if (GameObject.Find("Password").GetComponent <InputField>().text == "")
            {
                Camera.main.GetComponent <MainMenuScript>().UpdateText.GetComponent <Text>().text = "Password field cannot be blank!";
                Camera.main.GetComponent <MainMenuScript>().UpdateText.SetActive(true);
            }
            else
            {
                Camera.main.GetComponent <MainMenuScript>().UpdateText.SetActive(false);
                GlobalScript.Instance.SearchFriend();
                Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(false);
                GameObject.FindGameObjectWithTag("MainCamera").GetComponent <MainMenuScript>().SearchGrey.SetActive(true);
                GameObject.FindGameObjectWithTag("MainCamera").GetComponent <MainMenuScript>().SetAnim(2);
                GlobalScript.Instance.SetGreyBtns();
            }

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.SETTINGS_CREDITS:
            if (currScreen == SCREENS.SETTINGS_MAIN)
            {
                currScreen = SCREENS.SETTINGS_CREDITS;
            }
            else
            {
                currScreen = SCREENS.SETTINGS_MAIN;
            }
            isShowCreditsScreen = !isShowCreditsScreen;
            Camera.main.GetComponent <MainMenuScript>().CreditsPage.SetActive(isShowCreditsScreen);
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.SETTINGS_HOWTOPLAY:
            GameData.current.finishedTutorial = false;
            SaveLoad.Save();
            isStartingGame = true;

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            //isShowHowToPlayScreen = !isShowHowToPlayScreen;
            //Camera.main.GetComponent<MainMenuScript>().HowToPlayPage.SetActive(isShowHowToPlayScreen);
            break;

        case BUTTONTYPES.ADS_WATCH_VIDEO:
            if (GachaScript.Instance.CanFreeRoll())
            {
                                #if UNITY_ANDROID || UNITY_IOS
                var options = new ShowOptions {
                    resultCallback = Adverts.Instance.FreeGachaHandler
                };
                Adverts.Instance.ShowAd(AdVidType.video, options);
                Adverts.Instance.freeGacha = true;
                                #endif

                                #if UNITY_ANDROID && !UNITY_EDITOR
                //NotificationManager.SendWithAppIcon(System.TimeSpan.FromSeconds(Defines.FREE_ROLL_TIMER), "Ultimate Tic Tac Toe", "Get your free roll now!", Color.black);
                                #endif

                                #if UNITY_IOS && !UNITY_EDITOR
                // @todo apple notification here
                                #endif

                Adverts.Instance.freeGacha = true;
            }

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.NETWORK_BACKTOMAINMENU:
            if (GlobalScript.Instance.network_allowButtonClicks == 1)
            {
                currScreen = SCREENS.ONLINEPLAY;
                Camera.main.GetComponent <MainMenuScript>().networkMenuAnimStage = 2;

                if (GameObject.Find("Password"))
                {
                    GameObject.Find("Password").GetComponent <InputField>().interactable = true;
                }

                GameObject.FindGameObjectWithTag("MainCamera").GetComponent <MainMenuScript>().SearchGrey.SetActive(false);

                Camera.main.GetComponent <MainMenuScript>().UpdateText.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().UpdateConnectingText.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().UpdateText_PublicGame.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().UpdateText_Connecting.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().PasswordText.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().PasswordField.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().SearchBtn.SetActive(false);
                Camera.main.GetComponent <MainMenuScript>().noofPlayers.SetActive(false);

                Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(true);
                Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(true);

                GlobalScript.Instance.network_allowButtonClicks = 0;

                GlobalScript.Instance.LeaveRoom();
                GlobalScript.Instance.ResetCountdown();
                GlobalScript.Instance.ResetGreyBtns();

                if (AudioManager.Instance)
                {
                    AudioManager.Instance.PlaySoundEvent(SOUNDID.BACK);
                }
            }
            else
            {
                currScreen = SCREENS.MAINMENU;
                Camera.main.GetComponent <MainMenuScript>().ChangeScreen(0, true);
                Camera.main.GetComponent <MainMenuScript>().Avatar.SetActive(true);
                Camera.main.GetComponent <MainMenuScript>().Settings.SetActive(true);

                if (AudioManager.Instance)
                {
                    AudioManager.Instance.PlaySoundEvent(SOUNDID.BACK);
                }

                //GlobalScript.Instance.LeaveRoom();
                //GlobalScript.Instance.ResetCountdown();
            }
            break;

        case BUTTONTYPES.SETTIME_1:
            GlobalScript.Instance.SetTurnTime(1);
            Camera.main.GetComponent <MainMenuScript>().SetTimerImage(GlobalScript.Instance.gameMode, 1);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.AVATARSELECT);
            }
            break;

        case BUTTONTYPES.SETTIME_2:
            GlobalScript.Instance.SetTurnTime(2);
            Camera.main.GetComponent <MainMenuScript>().SetTimerImage(GlobalScript.Instance.gameMode, 2);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.AVATARSELECT);
            }
            break;

        case BUTTONTYPES.SETTIME_3:
            GlobalScript.Instance.SetTurnTime(3);
            Camera.main.GetComponent <MainMenuScript>().SetTimerImage(GlobalScript.Instance.gameMode, 3);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.AVATARSELECT);
            }
            break;

        case BUTTONTYPES.SETTINGS_DIABLE_ADS:
            Camera.main.GetComponent <MainMenuScript>().EnableDisableAdsButton(false);

            GameObject     IAPManager   = GameObject.Find("IAPManager");
            InAppPurchaser iapPurchaser = IAPManager.GetComponent <InAppPurchaser>();
            iapPurchaser.BuyProduct(InAppProductList.ProductType.ADS, (int)Defines.AdsInAppPurchase.DISABLE);

            Analytics.CustomEvent("PreBuy_Ads", new Dictionary <string, object> {
            });

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.RATE_OUR_APP:
            PlatformUtilies.Instance.DisplayRateUs();
            Camera.main.GetComponent <MainMenuScript>().RateAppScreen.SetActive(false);
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.NO_RATE_OUR_APP:
            Camera.main.GetComponent <MainMenuScript>().RateAppScreen.SetActive(false);
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.LIKE_OUR_FACEBOOK:
            PlatformUtilies.Instance.DisplayFacebookPage();
            Camera.main.GetComponent <MainMenuScript>().LikeFacebookScreen.SetActive(false);
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.NO_LIKE_OUR_FACEBOOK:
            Camera.main.GetComponent <MainMenuScript>().LikeFacebookScreen.SetActive(false);
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.SETTINGS_BGM:
            GameData.current.hasBGM = !GameData.current.hasBGM;
            SaveLoad.Save();
            UpdateBGMButton();
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.SETTINGS_SFX:
            GameData.current.hasSFX = !GameData.current.hasSFX;
            SaveLoad.Save();
            UpdateSFXButton();
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.SETTINGS_VIBRATION:
            GameData.current.hasVibrate = !GameData.current.hasVibrate;
            SaveLoad.Save();
            UpdateVibrateButton();
            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        case BUTTONTYPES.ALERT_BACK:
            Camera.main.GetComponent <MainMenuScript>().AlertBox.SetActive(false);

            if (GlobalScript.Instance.network_allowButtonClicks == 1)
            {
                BtnClick((int)BUTTONTYPES.NETWORK_BACKTOMAINMENU);
            }
            BtnClick((int)BUTTONTYPES.NETWORK_BACKTOMAINMENU);

            if (AudioManager.Instance)
            {
                AudioManager.Instance.PlaySoundEvent(SOUNDID.CLICK);
            }
            break;

        default:
            break;
        }
    }