Пример #1
0
 public void Initial()
 {
     if (gameObject.GetPhotonView().isMine&& !isAI)
     {
         RoomManager.getInstance().localPlayer = this;
         SaveData playerData = EntireGameManager.getInstance().playerData;
         SetCharacterSprite(playerData.nowEquipment.animal, playerData.nowEquipment.cup, playerData.nowEquipment.liquid, playerData.name);
         photonView.RPC("SetCharacterSprite", PhotonTargets.AllBuffered, playerData.nowEquipment.animal, playerData.nowEquipment.cup, playerData.nowEquipment.liquid, playerData.name);
     }
     else
     {
         characterObj.SetActive(true);
         NameText.gameObject.SetActive(true);
         isReadyText.gameObject.SetActive(true);
         if (!PhotonNetwork.isMasterClient || !isAI)
         {
             RoomManager.getInstance().SetPlayerSit(this, gameObject);
         }
     }
     if (PhotonNetwork.isMasterClient)
     {
         if (isAI)
         {
             gameObject.GetPhotonView().RPC("Ready", PhotonTargets.AllBuffered, true);
         }
         else if (gameObject.GetPhotonView().owner.IsMasterClient)
         {
             gameObject.GetPhotonView().RPC("Ready", PhotonTargets.AllBuffered, true);
         }
         else
         {
             gameObject.GetPhotonView().RPC("Ready", PhotonTargets.AllBuffered, false);
         }
     }
 }
Пример #2
0
    public void SetRank(int index, PlayerController player)
    {
        int playerCount = PhotonManager.getInstance().playerList.Count;
        int reward      = MainGameManager.getInstance().rewardSugar[playerCount].num[index];

        if (player.isOwner())
        {
            EntireGameManager.getInstance().playerData.sugar += reward;
            EntireGameManager.getInstance().Save();
        }
        Debug.Log("Rank = " + index);
        if (index <= 2)
        {
            SetWinnerImage(index, player.animal, player.cup, player.liquid);
            if (index == 1 && SceneManager.GetActiveScene().name == "MainGame")
            {
            }
        }
        if (index == 0)
        {
            Debug.Log("第一名");
        }
        PlayerNameText[index].text = player.NickName;
        rewardText[index].text     = reward.ToString();
    }
Пример #3
0
    public void UpdateMoney()
    {
        int sugar = EntireGameManager.getInstance().getPlayerData().sugar;
        int pearl = EntireGameManager.getInstance().getPlayerData().pearl;

        SugarCount.text = sugar.ToString();
        PearlCount.text = pearl.ToString();
    }
Пример #4
0
 public void OnJoinedLobby()
 {
     IsTryingReconnecting          = false;
     PhotonNetwork.player.NickName = EntireGameManager.getInstance().playerData.name;
     Debug.Log(PhotonNetwork.player.NickName);
     //PhotonNetwork.autoCleanUpPlayerObjects = false;
     //LobbyUIManager.instance.changeLobbyText("正在加入房間...");
 }
Пример #5
0
    public void InitialAnimalIcon()
    {
        string animal = EntireGameManager.getInstance().playerData.nowEquipment.animal;

        AnimalIcon    = new Sprite[3];
        AnimalIcon[0] = Resources.Load <Sprite>("Character/IconImage/" + animal);
        AnimalIcon[1] = Resources.Load <Sprite>("Character/IconImage/" + animal + "02");
        AnimalIcon[2] = Resources.Load <Sprite>("Character/IconImage/" + animal + "03");
    }
Пример #6
0
 public static void AddAchievementQueue(string achievementName, int reward)
 {
     if (achievementQueue == null)
     {
         achievementQueue = new List <string>();
     }
     achievementQueue.Add("獲得成就「" + achievementName + "」\n獎勵:珍珠*" + reward);
     EntireGameManager.getInstance().playerData.pearl += reward;
     EntireGameManager.getInstance().Save();
 }
Пример #7
0
 // Use this for initialization
 private void Awake()
 {
     filter   = "";
     instance = this;
     if (EntireGameManager.getInstance().playerData.name == "吉米")
     {
         GameObject enterNameObj = Instantiate(EnterNameUI, GameObject.Find("Canvas").transform);
         enterNameObj.transform.SetAsLastSibling();
     }
 }
Пример #8
0
 public void StartGame()
 {
     PhotonManager.getInstance().ConnectToServer();
     if (EntireGameManager.getInstance().playerData.isNewPlayer)
     {
         StartCoroutine(EntireGameManager.LoadSceneWithLoadingScene("Tutorial"));
     }
     else
     {
         StartCoroutine(EntireGameManager.LoadSceneWithLoadingScene("RoomList"));
     }
 }
Пример #9
0
    public void Initial(int index, int id, bool isAI, string nickName)
    {
        int wait = 1;

        if (SceneManager.GetActiveScene().name == "Tutorial")
        {
            wait = 0;
        }
        CoroutineUtility.GetInstance()
        .Do()
        .Wait(wait)
        .Then(() => SpawnAnimation.SetActive(true))
        .Wait(0.3f)
        .Then(() => playerSprite.SetActive(true))
        .Wait(1f)
        .Then(() => SpawnAnimation.SetActive(false))
        .Go();
        this.isAI = isAI;
        if (PhotonManager.getInstance().playerList == null)
        {
            PhotonManager.getInstance().playerList = new List <PlayerController>();
        }
        PhotonManager.getInstance().playerList.Add(this);
        ID                  = id;
        this.index          = index;
        this.NickName       = nickName;
        PlayerNameText.text = nickName;
        if (isOwner())
        {
            OnSceneLoaded();
            MainGameManager.getInstance().player = this;
            if (SceneManager.GetActiveScene().name == "Tutorial")
            {
                TutorialManager.GetInstance().player = this;
            }
            //MainUIManager.instance.UpdateHealthBar(hp);
            SaveData playerData = EntireGameManager.getInstance().playerData;
            SetCharacterSprite(playerData.nowEquipment.animal, playerData.nowEquipment.cup, playerData.nowEquipment.liquid);
            gameObject.GetPhotonView().RPC("SetCharacterSprite", PhotonTargets.All, playerData.nowEquipment.animal, playerData.nowEquipment.cup, playerData.nowEquipment.liquid);
            GameObject inputer = PhotonNetwork.Instantiate("FakeInputer", Vector3.zero, Quaternion.identity, 0);
            fakeInputer          = inputer.GetComponent <FakeInputer>();
            fakeInputer.playerID = id;
            inputer.GetPhotonView().RPC("SetID", PhotonTargets.MasterClient, id);
            gameObject.GetPhotonView().RPC("SetSkill", PhotonTargets.All, playerData.nowEquipment.animal);
        }
        else if (isAI && PhotonNetwork.isMasterClient)
        {
            OnSceneLoaded();
        }
    }
Пример #10
0
 public void BackToRoomList()
 {
     if (SceneManager.GetActiveScene().name == "Tutorial")
     {
         if (EntireGameManager.getInstance().playerData.isNewPlayer)
         {
             EntireGameManager.getInstance().playerData.isNewPlayer = false;
             EntireGameManager.getInstance().Save();
             EntireGameManager.nextScene = "";
             SocialManager.UnlockAchievement(LiquidKnightResources.achievement);
             SocialManager.AddAchievementQueue("新手貓貓", 5);
         }
     }
     PhotonManager.getInstance().BackToRoomList();
     //StartCoroutine(EntireGameManager.LoadSceneWithLoadingScene("RoomList"));
 }
Пример #11
0
 public void LeaveShop()
 {
     if (EntireGameManager.getInstance().getPlayerData().HaveItem(MerchandiseType.Animal, animals[nowAnimalIndex].indexName))
     {
         EntireGameManager.getInstance().playerData.nowEquipment.animal = animals[nowAnimalIndex].indexName;
     }
     if (EntireGameManager.getInstance().getPlayerData().HaveItem(MerchandiseType.Cup, cups[nowCupIndex].indexName))
     {
         EntireGameManager.getInstance().playerData.nowEquipment.cup = cups[nowCupIndex].indexName;
     }
     if (EntireGameManager.getInstance().getPlayerData().HaveItem(MerchandiseType.Liquid, liquids[nowLiquidIndex].indexName))
     {
         EntireGameManager.getInstance().playerData.nowEquipment.liquid = liquids[nowLiquidIndex].indexName;
     }
     EntireGameManager.getInstance().Save();
     StartCoroutine(EntireGameManager.LoadSceneWithLoadingScene("RoomList"));
 }
Пример #12
0
 public void OnSuccessBuy(Merchandise merchandise, ProductInShop productInShop)
 {
     if (merchandise.costType == CostType.Pearl)
     {
         if (EntireGameManager.getInstance().getPlayerData().pearl < merchandise.cost)
         {
             Debug.Log("珍珠不足");
             MainUIManager.CreateCheckBox(() => { }, "珍珠不足");
             return;
         }
         else
         {
             EntireGameManager.getInstance().playerData.pearl -= merchandise.cost;
         }
     }
     else
     {
         if (EntireGameManager.getInstance().getPlayerData().sugar < merchandise.cost)
         {
             MainUIManager.CreateCheckBox(() => { }, "方糖不足");
             Debug.Log("方糖不足");
             return;
         }
         else
         {
             EntireGameManager.getInstance().playerData.sugar -= merchandise.cost;
         }
     }
     Debug.Log("成功購買" + merchandise.chineseName);
     if (merchandise.type == MerchandiseType.Animal)
     {
         EntireGameManager.getInstance().getPlayerData().animalList.Add(merchandise.indexName);
     }
     else if (merchandise.type == MerchandiseType.Cup)
     {
         EntireGameManager.getInstance().getPlayerData().cupList.Add(merchandise.indexName);
     }
     else if (merchandise.type == MerchandiseType.Liquid)
     {
         EntireGameManager.getInstance().getPlayerData().liquidList.Add(merchandise.indexName);
     }
     productInShop.HaveProduct(true);
     EntireGameManager.getInstance().Save();
     AudioManager.Play("purchase");
     UpdateMoney();
 }
Пример #13
0
    public void InitialProducts()
    {
        for (int i = 0; i < animals.Count; i++)
        {
            AddProduct(animals[i], animals[i].type, i);
            if (animals[i].indexName == EntireGameManager.getInstance().getPlayerData().nowEquipment.animal)
            {
                MoveShopPos(animalShop.gameObject, i);
                nowAnimalIndex = i;
                ChangeSkillDescript(animals[i].skillName, animals[i].skillDescript);
            }
        }
        AddProduct(animals[0], animals[0].type, animals.Count);
        AddProduct(animals[animals.Count - 1], animals[animals.Count - 1].type, -1);

        for (int i = 0; i < cups.Count; i++)
        {
            AddProduct(cups[i], cups[i].type, i);
            if (cups[i].indexName == EntireGameManager.getInstance().getPlayerData().nowEquipment.cup)
            {
                MoveShopPos(cupShop.gameObject, i);
                nowCupIndex = i;
            }
        }
        AddProduct(cups[0], cups[0].type, cups.Count);
        AddProduct(cups[animals.Count - 1], cups[cups.Count - 1].type, -1);
        for (int i = 0; i < liquids.Count; i++)
        {
            AddProduct(liquids[i], liquids[i].type, i);
            if (liquids[i].indexName == EntireGameManager.getInstance().getPlayerData().nowEquipment.liquid)
            {
                MoveShopPos(liquidShop.gameObject, i);
                nowLiquidIndex = i;
            }
        }
        AddProduct(liquids[0], liquids[0].type, liquids.Count);
        AddProduct(liquids[animals.Count - 1], liquids[cups.Count - 1].type, -1);

        ChangeImageSprite(playerAnimalImage, animals[nowAnimalIndex].SelectViewSprite);
        ChangeImageSprite(playerCupImage, cups[nowCupIndex].SelectViewSprite);
        ChangeImageSprite(playerLiquidImage, liquids[nowLiquidIndex].SelectViewSprite);
    }
Пример #14
0
 public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
 {
     // A consumable product has been purchased by this user.
     if (String.Equals(args.purchasedProduct.definition.id, Product_Pearl5, StringComparison.Ordinal))
     {
         Debug.Log("購買了珍珠*5");
         MainUIManager.CreateMiniCheckBox(() => { }, "成功購買珍珠*5");
         EntireGameManager.getInstance().AddPearls(5);
     }
     // Or ... a non-consumable product has been purchased by this user.
     else if (String.Equals(args.purchasedProduct.definition.id, Product_Pearl20, StringComparison.Ordinal))
     {
         Debug.Log("購買了珍珠*20");
         MainUIManager.CreateMiniCheckBox(() => { }, "成功購買珍珠*20");
         EntireGameManager.getInstance().AddPearls(20);
     }
     // Or ... a subscription product has been purchased by this user.
     else if (String.Equals(args.purchasedProduct.definition.id, Product_Pearl50, StringComparison.Ordinal))
     {
         Debug.Log("購買了珍珠*50");
         MainUIManager.CreateMiniCheckBox(() => { }, "成功購買珍珠*50");
         EntireGameManager.getInstance().AddPearls(50);
     }
     // Or ... an unknown product has been purchased by this user. Fill in additional products here....
     else
     {
         Debug.Log(string.Format("ProcessPurchase: FAIL. Unrecognized product: '{0}'", args.purchasedProduct.definition.id));
     }
     if (IAPPanel.instance != null)
     {
         IAPPanel.instance.UpdatePearlCount();
     }
     if (ShopManager.instance != null)
     {
         ShopManager.instance.UpdateMoney();
     }
     // Return a flag indicating whether this product has completely been received, or if the application needs
     // to be reminded of this purchase at next app launch. Use PurchaseProcessingResult.Pending when still
     // saving purchased products to the cloud, and when that save is delayed.
     return(PurchaseProcessingResult.Complete);
 }
Пример #15
0
 void Start()
 {
     roomItemList = new List <GameObject>();
     UpdateRoomList();
     CreateCharacterImage(EntireGameManager.getInstance().getPlayerData().nowEquipment);
 }
Пример #16
0
 public void UpdatePearlCount()
 {
     nowPearlCount.text = EntireGameManager.getInstance().playerData.pearl.ToString();
 }
Пример #17
0
 void AddProduct(Merchandise product, MerchandiseType type, int index)
 {
     if (type == MerchandiseType.Animal)
     {
         RectTransform rect = Instantiate(AnimalProductPrefab, animalShop).GetComponent <RectTransform>();
         float         x    = index * itemWidth;
         rect.anchoredPosition = new Vector2(x, rect.anchoredPosition.y);
         ProductInShop prod = rect.GetComponent <ProductInShop>();
         prod.icon.sprite   = product.SelectViewSprite;
         prod.nameText.text = product.chineseName;
         prod.costText.text = "x" + product.cost;
         prod.SetCostType(product.costType);
         if (EntireGameManager.getInstance().getPlayerData().HaveItem(type, product.indexName))
         {
             prod.HaveProduct(true);
         }
         else
         {
             prod.HaveProduct(false);
         }
         prod.Cover.gameObject.GetComponent <Button>().onClick.AddListener(() => OnBuyClicked(product, prod));
     }
     else if (type == MerchandiseType.Cup)
     {
         RectTransform rect = Instantiate(CupProductPrefab, cupShop).GetComponent <RectTransform>();
         float         x    = index * itemWidth;
         rect.anchoredPosition = new Vector2(x, rect.anchoredPosition.y);
         ProductInShop prod = rect.GetComponent <ProductInShop>();
         prod.icon.sprite   = product.SelectViewSprite;
         prod.nameText.text = product.chineseName;
         prod.costText.text = "x" + product.cost;
         prod.SetCostType(product.costType);
         if (EntireGameManager.getInstance().getPlayerData().HaveItem(type, product.indexName))
         {
             prod.HaveProduct(true);
         }
         else
         {
             prod.HaveProduct(false);
         }
         prod.Cover.gameObject.GetComponent <Button>().onClick.AddListener(() => OnBuyClicked(product, prod));
     }
     else if (type == MerchandiseType.Liquid)
     {
         RectTransform rect = Instantiate(LiquidProductPrefab, liquidShop).GetComponent <RectTransform>();
         float         x    = index * itemWidth;
         rect.anchoredPosition = new Vector2(x, rect.anchoredPosition.y);
         ProductInShop prod = rect.GetComponent <ProductInShop>();
         prod.nameText.text = product.chineseName;
         prod.costText.text = "x" + product.cost;
         prod.SetCostType(product.costType);
         if (EntireGameManager.getInstance().getPlayerData().HaveItem(type, product.indexName))
         {
             prod.HaveProduct(true);
         }
         else
         {
             prod.HaveProduct(false);
         }
         prod.Cover.gameObject.GetComponent <Button>().onClick.AddListener(() => OnBuyClicked(product, prod));
     }
 }
Пример #18
0
    public void StartBoardAnimation()
    {
        if (!MainGameManager.getInstance().isGameOver || SceneManager.GetActiveScene().name == "Tutorial")
        {
            countDownText.gameObject.SetActive(false);
            countDownBackText.gameObject.SetActive(false);
            return;
        }
        CoroutineUtility.GetInstance()
        .Do()
        .Play(GetComponent <Animator>(), "ScoreBoardIn")
        .Wait(0.8f)
        .Then(() => countDownText.text = "9")
        .Wait(0.8f)
        .Then(() => countDownText.text = "8")
        .Wait(0.8f)
        .Then(() => countDownText.text = "7")
        .Wait(0.8f)
        .Then(() => countDownText.text = "6")
        .Wait(0.8f)
        .Then(() => countDownText.text = "5")
        .Then(DestroyAllPlayers)
        .Wait(0.8f)
        .Then(() => countDownText.text = "4")
        .Wait(0.8f)
        .Then(() => countDownText.text = "3")
        .Wait(0.8f)
        .Then(() => countDownText.text = "2")
        .Wait(0.8f)
        .Then(() => countDownText.text = "1")
        .Wait(0.8f)
        .Then(() => {
            PhotonNetwork.LoadLevel("Room");
        })
        .Go();
        if (!EntireGameManager.getInstance().playerData.HavePlayingMultiPlayerGame&& SceneManager.GetActiveScene().name != "Tutorial")
        {
            EntireGameManager.getInstance().playerData.HavePlayingMultiPlayerGame = true;
            SocialManager.UnlockAchievement(LiquidKnightResources.achievement_2);
            SocialManager.AddAchievementQueue("派對!", 5);
        }
        if (MainGameManager.getInstance().player.animal == "cat")
        {
            EntireGameManager.getInstance().playerData.CatPlayTime++;
            if (EntireGameManager.getInstance().playerData.CatPlayTime == 5)
            {
                SocialManager.UnlockAchievement(LiquidKnightResources.achievement_3);
                SocialManager.AddAchievementQueue("貓型玩家", 5);
            }
        }
        else if (MainGameManager.getInstance().player.animal == "dog")
        {
            EntireGameManager.getInstance().playerData.DogPlayTime++;
            if (EntireGameManager.getInstance().playerData.DogPlayTime == 5)
            {
                SocialManager.UnlockAchievement(LiquidKnightResources.achievement_4);
                SocialManager.AddAchievementQueue("狗型玩家", 5);
            }
        }
        else if (MainGameManager.getInstance().player.animal == "fish")
        {
            EntireGameManager.getInstance().playerData.FishPlayTime++;
            if (EntireGameManager.getInstance().playerData.FishPlayTime == 5)
            {
                SocialManager.UnlockAchievement(LiquidKnightResources.achievement_5);
                SocialManager.AddAchievementQueue("魚型玩家", 5);
            }
        }

        EntireGameManager.getInstance().Save();
    }
Пример #19
0
 void SaveName(string newName)
 {
     EntireGameManager.getInstance().playerData.name = newName;
     EntireGameManager.getInstance().Save();
     PhotonNetwork.player.NickName = newName;
 }