Example #1
0
    public override void SetParams(bool is_new, object[] parms)
    {
        base.SetParams(is_new, parms);

        m_AdventureInfos = AdventureInfoManager.Instance.GetList();

        PopupAdventureItem select_adventure = null;

        foreach (var adventure in m_AdventureInfos)
        {
            var adventure_btn = AdventureItemPrefab.GetNewObject <PopupAdventureItem>(GridAdventure.transform, Vector3.zero);

            adventure_btn.Init(adventure, SetAdventure);
            if (is_new && select_adventure == null)
            {
                select_adventure    = adventure_btn;
                m_SelectedAdventure = adventure;
            }
            else if (adventure == m_SelectedAdventure)
            {
                select_adventure = adventure_btn;
            }
        }

        select_adventure.Select();

        GridAdventure.Reposition();
        ScrollVieAdventure.ResetPosition();
    }
Example #2
0
    public void Init(AdventureInfo map_info, System.Action <AdventureInfo> callback)
    {
        m_AdvantureInfo = map_info;

        var detail = AdventureInfoManager.Instance.GetInfo(map_info.IDN);

        m_Progress.SetActive(false);
        m_Complete.SetActive(false);

        if (detail != null && detail.is_rewarded == false)
        {
            if (Network.Instance.ServerTime > detail.end_at)
            {
                m_Complete.SetActive(true);
            }
            else if (detail.is_begin && Network.Instance.ServerTime < detail.end_at)
            {
                m_Progress.SetActive(true);
                m_EndTime = detail.end_at;
            }
        }

        m_labelTitle.text = m_AdvantureInfo.Name;
        m_ToggleSprite.SetSpriteActive(false);
        m_Toggle.value = false;
        m_Toggle.Set(false);

        this.callback = callback;

        m_SpriteLock.gameObject.SetActive(m_AdvantureInfo.CheckCondition() != null);
    }
Example #3
0
    void Start()
    {
        myInfo = WorldMapCore.WMCore.adventureInfoHandler.adventureInfo[core.chosenAdventure.ID];

        //myMob.myBossTalk.myTextMesh = bossEmote;

        myHealthBar = transform.GetChild(5).GetChild(0).gameObject;
        myPortrait  = transform.GetChild(0).GetChild(0).gameObject;
        myName      = transform.GetChild(3).gameObject;

        myPortrait.GetComponent <Image>().sprite = myMob.LoadPortrait();
    }
Example #4
0
 public void SetChosenAdventure(int _advID, Vector3 _position)
 {
     if (MissionMarkUpdate(_advID, _position))
     {
         chosenAdventure = _advID;
         GameCore.Core.chosenAdventure = new Adventure(_advID);
         AdventureInfo adv = adventureInfoHandler.GetInfo(_advID);
         GameObject.Find("MissionTitle").GetComponent <scrMissionTitle>().SetContent(adv.MissionTitle);
         GameObject.Find("MissionDescription").GetComponent <scrMissionDescription>().SetContent(adv.MissionDescription);
         GameObject.Find("Requirements").GetComponent <scrMissionRequirements>().SetContent(adv.Requirements.GetRequirements());
         Sprite[] temp = adv.encountersInfo.GetEncountersPortraits();
         GameObject.Find("EncounterPortrait1").GetComponent <RawImage>().texture = temp[0].texture;
         GameObject.Find("EncounterPortrait2").GetComponent <RawImage>().texture = temp[1].texture;
         GameObject.Find("EncounterPortrait3").GetComponent <RawImage>().texture = temp[2].texture;
         GameObject.Find("EncounterPortrait4").GetComponent <RawImage>().texture = temp[3].texture;
     }
 }
Example #5
0
    void Start()
    {
        AdventureInfo myInfo = WorldMapCore.WMCore.adventureInfoHandler.adventureInfo[GameCore.Core.chosenAdventure.ID];

        myEnc = WorldMapCore.WMCore.adventureInfoHandler.GetEncounter(GameCore.Core.chosenAdventure, GameCore.difficulty);
        encounterPortrait.sprite = EncountersInfo.GetPortrait(myInfo.encountersInfo.encInf[GameCore.Core.chosenAdventure.progress]);
        myBossName.text          = myEnc.name;

        for (int i = 0; i < myEnc.spellsAmount; i++)
        {
            GameObject myIcon = Instantiate(Resources.Load("BossAbilityIcon"), new Vector3(-8f, 4.25f - (i * 1.25f), 0), Quaternion.Euler(0, 0, 0)) as GameObject;
            myIcon.transform.parent     = GameObject.Find("Canvas").transform;
            myIcon.transform.localScale = new Vector3(1, 1, 1);
            myIcon.GetComponent <scrBossAbility>().espell = myEnc.mySpell[i];
            myIcon.GetComponent <scrBossAbility>().myText = myTip;
            myIcon.GetComponent <Image>().sprite          = Resources.Load <Sprite>(myEnc.mySpell[i].icon);
        }
    }
        // Start is called before the first frame update
        void Start()
        {
            PlayerInfo = PlayerInfo.CreateFromPersistence();

            if (CycleController.CurrentAdventureCycleState != null)
            {
                AdventureInfo = CycleController.CurrentAdventureCycleState.AdventureNodeInfo.ToAdventureInfo();
            }

            OptionButtons.Add(OptionButton.GetComponent <Button>());

            if (AdventureInfo != null)
            {
                MainText.parseCtrlCharacters = false;
                MainText.text = AdventureInfo.TextContent.Normalize();
                MainText.parseCtrlCharacters = true;

                for (var I = 0; I < AdventureInfo.Options.Count; I++)
                {
                    if (OptionButtons.Count < I + 1)
                    {
                        var NewButton = Instantiate(OptionButton, OptionButton.transform.parent);
                        NewButton.name = NewButton.name.Replace("(Clone)", "");
                        OptionButtons.Add(NewButton.GetComponent <Button>());
                    }
                    OptionButtons[I].GetComponentInChildren <Text>().text = AdventureInfo.Options[I].OptionText;
                }
            }

            var Index = 0;

            foreach (var Btn in OptionButtons)
            {
                var TempIndex = Index;
                Btn.onClick.AddListener(() =>
                {
                    OnOptionClick(TempIndex);
                });
                Index++;
            }
        }
Example #7
0
 private void AddNewAdventure(string _title, string _desc, AdventureRequirements _req, EncountersInfo _enc)
 {
     adventureInfo[advCounter] = new AdventureInfo(_title, _desc, _req, _enc);
     advCounter++;
 }
Example #8
0
    public void SetAdventure(AdventureInfo map_info)
    {
        m_SelectedAdventure = map_info;

        var detail = AdventureInfoManager.Instance.GetInfo(m_SelectedAdventure.IDN);

        m_State   = eAdventureState.IDLE;
        m_EndTime = DateTime.MinValue;
        if (detail != null && detail.is_rewarded == false)
        {
            if (Network.Instance.ServerTime > detail.end_at)
            {
                m_State = eAdventureState.COMPLETE;
            }
            else if (detail.is_begin && Network.Instance.ServerTime < detail.end_at)
            {
                m_EndTime = detail.end_at;
                m_State   = eAdventureState.PROGRESS;
            }
        }
        DungeonHeroPrefab.Clear();
        RewardItemPrefab.Clear();
        ToggleStage.value = m_State == eAdventureState.IDLE;
        if (m_State == eAdventureState.IDLE)
        {
            LabelTitle.text       = m_SelectedAdventure.ShowName;
            LabelDungeonInfo.text = m_SelectedAdventure.Description;
            LabelCondition.text   = m_SelectedAdventure.ShowCondition;
            foreach (var loot_group in m_SelectedAdventure.DropInfo[0].groups)
            {
                if (string.IsNullOrEmpty(loot_group.show_id) == true)
                {
                    continue;
                }
                var reward_item = RewardItemPrefab.GetNewObject <RewardItem>(GridRewards.transform, Vector3.zero);
                reward_item.InitReward(loot_group.show_id, loot_group.show_value);
            }
            GridRewards.Reposition();
            ScrollViewRewards.ResetPosition();
            LabelTimeLimit.text = Localization.Format("HourMinute", m_SelectedAdventure.Period / 60, m_SelectedAdventure.Period % 60);
        }
        else if (detail != null)
        {
            var team_data = TeamDataManager.Instance.GetTeam((pe_Team)m_SelectedAdventure.IDN);
            foreach (var hero in team_data.Creatures)
            {
                var item = DungeonHeroPrefab.GetNewObject <DungeonHero>(GridHeroes.transform, Vector3.zero);
                item.Init(hero.creature, false, false);
            }
            GridHeroes.Reposition();
            foreach (var reward in detail.rewards)
            {
                var reward_item = RewardItemPrefab.GetNewObject <RewardItem>(GridRewardsComplete.transform, Vector3.zero);
                if (CreatureInfoManager.Instance.ContainsIdn(reward.reward_idn) == true)
                {
                    reward_item.InitCreature(CreatureInfoManager.Instance.GetInfoByIdn(reward.reward_idn), (short)reward.reward_value);
                }
                else
                {
                    reward_item.InitReward(reward.reward_idn, reward.reward_value);
                }
            }
            GridRewardsComplete.Reposition();
            ScrollViewRewardsComplete.ResetPosition();
            if (m_State == eAdventureState.COMPLETE)
            {
                LabelTimeRemain.text = Localization.Get("RemainComplete");
                m_BtnComplete.gameObject.SetActive(true);
                m_BtnInstant.gameObject.SetActive(false);
            }
            else
            {
                var  remain = m_EndTime - Network.Instance.ServerTime;
                long cost   = (long)Math.Ceiling(remain.TotalMinutes / AdventureInfoManager.Instance.InstantCompletePeriod) * AdventureInfoManager.Instance.Price.goods_value;
                m_LabelCost.text        = Localization.Format("GoodsFormat", cost);
                m_SpriteCost.spriteName = AdventureInfoManager.Instance.Price.goods_type.ToString();
                m_BtnComplete.gameObject.SetActive(false);
                m_BtnInstant.gameObject.SetActive(true);
            }
        }
    }
Example #9
0
    public override void SetParams(bool is_new, object[] parms)
    {
        base.SetParams(is_new, parms);

        if (parms != null && parms.Length >= 1)
        {
            m_Info = parms[0] as AdventureInfo;
        }

        var team_data = TeamDataManager.Instance.GetTeam((pe_Team)m_Info.IDN);

        if (team_data != null && team_data.NoDuplicate)
        {
            return;
        }

        RewardItemPrefab.Clear();
        foreach (var loot_group in m_Info.DropInfo[0].groups)
        {
            if (string.IsNullOrEmpty(loot_group.show_id) == true)
            {
                continue;
            }
            var reward_item = RewardItemPrefab.GetNewObject <RewardItem>(GridRewards.transform, Vector3.zero);
            reward_item.InitReward(loot_group.show_id, loot_group.show_value);
        }
        GridRewards.Reposition();

        m_Selected.Clear();
        for (int i = 0; i < m_Info.NeedCreature; ++i)
        {
            var item = EnchantHeroPrefab.GetNewObject <EnchantHero>(GridSelected.transform, Vector3.zero);
            m_Selected.Add(item);
            item.InitDummy(null, 0, 0, 0);
        }
        GridSelected.Reposition();


        var heroes = CreatureManager.Instance.GetFilteredList(c => c.Grade >= m_Info.MinGrade && c.Info.ContainsTags(m_Info.AvailableTags)).OrderBy(s => TeamDataManager.Instance.CheckTeam(s.Idx));

        m_Creatures.Clear();
        foreach (var hero in heroes)
        {
            var item = EnchantHeroPrefab.GetNewObject <EnchantHero>(GridHeroes.transform, Vector3.zero);
            item.Init(hero, OnToggleCharacter);
            m_Creatures.Add(item);
            if (team_data != null && team_data.Contains(hero.Idx))
            {
                item.OnBtnCreatureClick();
            }
        }

        for (int i = 0; i < 5; ++i)
        {
            var item = EnchantHeroPrefab.GetNewObject <EnchantHero>(GridHeroes.transform, Vector3.zero);
            item.Init(null);
        }

        EmptyString.SetActive(heroes.Count() == 0);

        LabelTimeLimit.text = Localization.Format("HourMinute", m_Info.Period / 60, m_Info.Period % 60);
        LabelTitle.text     = m_Info.ShowName;
        LabelCondition.text = m_Info.ShowCondition;

        GridHeroes.Reposition();
        ScrollViewHeroes.ResetPosition();
    }