Exemplo n.º 1
0
    void OngiftBtn()
    {
        MusicManager.PlaySe("click");
        IEnumerable <Toggle> gifts = giftGrid.GetComponent <ToggleGroup>().ActiveToggles();

        foreach (var gift in gifts)
        {
            if (gift.isOn)
            {
                string giftId = gift.transform.Find("Image").GetComponent <Image>().sprite.name;
                int    count  = int.Parse(gift.transform.Find("Text").GetComponent <Text>().text);
                if (count >= 1)
                {
                    count--;
                    gift.transform.Find("Text").GetComponent <Text>().text = count.ToString();
                    for (int i = 0; i < Globals.items.Count; i++)
                    {
                        if (Globals.items[i].itemId == giftId)
                        {
                            Globals.items[i].count = count;
                            RoomGlobals.loveDic[RoomGlobals.currentId].love += Globals.items[i].value;
                            if (RoomGlobals.loveDic[RoomGlobals.currentId].love >= RoomGlobals.loveDic[RoomGlobals.currentId].maxLove)
                            {
                                RoomGlobals.loveDic[RoomGlobals.currentId].lv++;
                                RoomGlobals.loveDic[RoomGlobals.currentId].love -= RoomGlobals.loveDic[RoomGlobals.currentId].maxLove;
                            }
                            break;
                        }
                    }
                    RoomFuncs.ChangeLove();
                }
            }
        }
    }
Exemplo n.º 2
0
 void Oncharacter_roomSelectBtnClick(Transform point, string modelPath)
 {
     MusicManager.PlaySe("click");
     RoomFuncs.CreateCharacter(point, modelPath);
     Destroy(gameObject);
     RoomGlobals.currentId = modelPath.Replace("Prefabs/", "");
     RoomFuncs.ChangeLove();
 }
Exemplo n.º 3
0
 void OnExchangeCharacter(Transform point1, string modelPath1,
                          Transform point2, string modelPath2)
 {
     MusicManager.PlaySe("click");
     RoomFuncs.DestroyAll();
     RoomFuncs.CreateCharacter(point1, modelPath2);
     RoomFuncs.CreateCharacter(point2, modelPath1);
     RoomGlobals.currentId = modelPath2.Replace("Prefabs/", "");
     RoomFuncs.ChangeLove();
 }
Exemplo n.º 4
0
    void Start()
    {
        Globals.lastScene = "Room";
        RoomFuncs.LoadStoryDic();
        if (GameObject.Find("point1Btn"))
        {
            Button point1Btn = UIManager.GetButton("point1Btn");
            RoomGlobals.point1Btn = point1Btn.gameObject;
            point1Btn.onClick.AddListener(() => { OnpointBtn(point1Btn.gameObject.name); });
        }
        if (GameObject.Find("point1Btn"))
        {
            Button point2Btn = UIManager.GetButton("point2Btn");
            RoomGlobals.point2Btn = point2Btn.gameObject;
            point2Btn.onClick.AddListener(() => { OnpointBtn(point2Btn.gameObject.name); });
        }
        RoomGlobals.backBtn = GameObject.Find("backBtn");
        GameObject point1 = GameObject.Find("point1");

        RoomGlobals.point1 = point1;
        GameObject point2 = GameObject.Find("point2");

        RoomGlobals.point2 = point2;
        selectCharacter    = GameFuncs.FindHiden("selectCharacterParent");
        //Load RoomImfos
        if (RoomGlobals.roomInfos.Count > 0)
        {
            foreach (var info in RoomGlobals.roomInfos)
            {
                Transform point = GameObject.Find(info.Key).transform;
                RoomFuncs.CreateCharacter(point, info.Value);
                string id = info.Value.Replace("Prefabs/", "");
                if (!RoomGlobals.loveDic.ContainsKey(id))
                {
                    Hero h = GameFuncs.GetHero(id);
                    RoomGlobals.loveDic.Add(id, h.li);
                }
            }
        }
        //如果有人则隐藏添加图标
        if (point1.transform.childCount > 0)
        {
            RoomGlobals.point1Btn.SetActive(false);
        }
        if (point2.transform.childCount > 0)
        {
            RoomGlobals.point2Btn.SetActive(false);
        }
        MusicManager.PlayBgm("room");
    }
Exemplo n.º 5
0
    IEnumerator IShowActs()
    {
        yield return(new WaitForSeconds(1f));

        //Acts
        acts = GameFuncs.FindHiden("ActsParent");
        acts.SetActive(true);
        GameObject menu = acts.transform.Find("menu").gameObject;

        RoomGlobals.menu = menu;
        RoomGlobals.menu.SetActive(true);
        BindActsBtns();
        RoomFuncs.ChangeLove();
    }
Exemplo n.º 6
0
 void Oncharacter_roomSelectBtnClick(Transform point, string modelPath, string btnName)
 {
     MusicManager.PlaySe("click");
     RoomFuncs.CreateCharacter(point, modelPath);
     RoomGlobals.currentId = modelPath.Replace("Prefabs/", "");
     if (!RoomGlobals.roomInfos.ContainsKey(point.gameObject.name))
     {
         RoomGlobals.roomInfos.Add(point.gameObject.name, modelPath);
     }
     if (!RoomGlobals.loveDic.ContainsKey(RoomGlobals.currentId))
     {
         Hero h = GameFuncs.GetHero(RoomGlobals.currentId);
         RoomGlobals.loveDic.Add(RoomGlobals.currentId, h.li);
     }
     GameObject.Find(btnName).SetActive(false);
 }
Exemplo n.º 7
0
    void OnpointBtn(string btnName)
    {
        MusicManager.PlaySe("click");
        GameObject point = GameObject.Find(btnName.Replace("Btn", ""));

        if (point.transform.childCount == 0)//Add Chracter(Select UI->Instantiate)
        {
            if (!selectCharacter.activeInHierarchy)
            {
                selectCharacter.SetActive(true);
                //Create Characters
                Transform grid = selectCharacter.transform.Find("grid");
                for (int i = 0; i < Globals.heroes.Count; i++)
                {
                    if (!RoomFuncs.FindModel(Globals.heroes[i].id))
                    {
                        GameObject character_roomSelect = GameObject.Instantiate(
                            (GameObject)GameFuncs.GetResource("Prefabs/character_roomSelect"), grid);
                        string modelPath = "Prefabs/" + Globals.heroes[i].id;
                        string imagePath = "Character/Portrait/" + Globals.heroes[i].id;
                        Image  image     = character_roomSelect.transform.Find("Image").GetComponent <Image>();
                        image.sprite = Resources.Load <Sprite>(imagePath);

                        Button character_roomSelectBtn = character_roomSelect.GetComponent <Button>();
                        character_roomSelectBtn.onClick.AddListener(() =>
                                                                    { Oncharacter_roomSelectBtnClick(point.transform, modelPath, btnName); });
                    }
                }
            }
            else
            {
                Transform grid = selectCharacter.transform.Find("grid");
                foreach (Transform child in grid)
                {
                    Destroy(child.gameObject);
                }
                selectCharacter.SetActive(false);
            }
        }
    }
Exemplo n.º 8
0
    void OnchangeBtnClick()
    {
        MusicManager.PlaySe("click");
        if (selectCharacter.activeInHierarchy == false)
        {
            selectCharacter.SetActive(true);
            grid = selectCharacter.transform.Find("grid");
            UIManager.GetButton("closeChangeBtn").onClick.AddListener(() =>
            {
                MusicManager.PlaySe("click");
                foreach (Transform t in grid)
                {
                    Destroy(t.gameObject);
                }
                selectCharacter.SetActive(false);
            });
            //Create Characters
            foreach (Transform child in grid)
            {
                Destroy(child.gameObject);
            }
            for (int i = 0; i < Globals.heroes.Count; i++)
            {
                if (!RoomFuncs.FindModel(Globals.heroes[i].id) &&
                    (RoomGlobals.point1.transform.childCount == 0 ||
                     RoomGlobals.point2.transform.childCount == 0))  //替换没有在房间内的
                {
                    bool canCreate = true;
                    foreach (Transform child in grid)
                    {
                        if (child.Find("Image").GetComponent <Image>().sprite.name.Contains(Globals.heroes[i].id))
                        {
                            canCreate = false;
                            break;
                        }
                    }
                    if (canCreate)
                    {
                        GameObject character_roomSelect = GameObject.Instantiate(
                            (GameObject)GameFuncs.GetResource("Prefabs/character_roomSelect"), grid);
                        string modelPath = "Prefabs/" + Globals.heroes[i].id;
                        string imagePath = "Character/Portrait/" + Globals.heroes[i].id;
                        Image  image     = character_roomSelect.transform.Find("Image").GetComponent <Image>();
                        image.sprite = Resources.Load <Sprite>(imagePath);

                        Button character_roomSelectBtn = character_roomSelect.GetComponent <Button>();
                        character_roomSelectBtn.onClick.AddListener(() =>
                                                                    { Oncharacter_roomSelectBtnClick(parent, modelPath); });
                        if (RoomGlobals.roomInfos.ContainsKey(parent.gameObject.name))
                        {
                            RoomGlobals.roomInfos[parent.gameObject.name] = modelPath;
                        }
                        if (!RoomGlobals.loveDic.ContainsKey(Globals.heroes[i].id))
                        {
                            RoomGlobals.loveDic.Add(Globals.heroes[i].id, new LoveInfo(1, 0));
                        }
                    }
                }
                else if (RoomFuncs.FindModel(Globals.heroes[i].id) &&
                         (RoomGlobals.point1.transform.childCount > 0 &&
                          RoomGlobals.point2.transform.childCount > 0))//交换在房间内的
                {
                    parent = GameFuncs.GetParent(RoomGlobals.currentId, GameObject.Find("Points").transform);
                    string    id         = "";   //对方的id
                    Transform p          = null; //对方的point
                    string    modelPath1 = "Prefabs/" + GameFuncs.GetId(parent.transform);
                    if (parent.name == "point1")
                    {
                        id = GameFuncs.GetId(RoomGlobals.point2.transform);
                        p  = RoomGlobals.point2.transform;
                    }
                    else if (parent.name == "point2")
                    {
                        id = GameFuncs.GetId(RoomGlobals.point1.transform);
                        p  = RoomGlobals.point1.transform;
                    }
                    GameObject character_roomSelect = GameObject.Instantiate(
                        (GameObject)GameFuncs.GetResource("Prefabs/character_roomSelect"), grid);
                    string modelPath2 = "Prefabs/" + id;
                    string imagePath  = "Character/Portrait/" + id;
                    Image  image      = character_roomSelect.transform.Find("Image").GetComponent <Image>();
                    image.sprite = Resources.Load <Sprite>(imagePath);

                    Button character_roomSelectBtn = character_roomSelect.GetComponent <Button>();
                    character_roomSelectBtn.onClick.AddListener(() =>
                                                                { OnExchangeCharacter(parent, modelPath1, p, modelPath2); });
                    if (RoomGlobals.roomInfos.ContainsKey(p.gameObject.name))
                    {
                        RoomGlobals.roomInfos[p.gameObject.name] = modelPath1;
                    }
                    if (RoomGlobals.roomInfos.ContainsKey(parent.gameObject.name))
                    {
                        RoomGlobals.roomInfos[parent.gameObject.name] = modelPath2;
                    }
                }
            }
            //如果是自身或重复就销毁
            if (RoomGlobals.isDestroy)
            {
                for (int i = 0; i < grid.childCount; i++)
                {
                    if (i >= Globals.heroes.Count - 1)
                    {
                        Destroy(grid.GetChild(i).gameObject);
                    }
                }
                RoomGlobals.isDestroy = false;
            }
        }
    }