//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, April 11, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.UI
|
{
|
|
public partial class AchievementGoto
|
{
|
public static int guideAchievementId;
|
static DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
static DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
|
static FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
static DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
|
static AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
|
static TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
|
public static void GotoKillNpc(int _achievementId)
|
{
|
var config = SuccessConfig.Get(_achievementId);
|
var npcId = config.Condition[0];
|
GAStaticDefine.NPCLocation location;
|
var find = GAStaticDefine.TryGetMapNPCLocation(npcId, out location);
|
|
if (!find)
|
{
|
return;
|
}
|
|
var mapConfig = MapConfig.Get(location.mapId);
|
if (mapConfig.MapFBType == (int)MapType.OpenCountry)
|
{
|
return;
|
}
|
else
|
{
|
var dataMapId = ModelCenter.Instance.GetModel<DungeonModel>().GetDataMapIdByMapId(location.mapId);
|
switch (dataMapId)
|
{
|
case DemonJarModel.DATA_MAPID:
|
demonJarModel.selectedBoss = npcId;
|
demonJarModel.lockSelectedBoss = true;
|
|
DemonJarBossData bossData = null;
|
if (demonJarModel.TryGetBossData(npcId, out bossData))
|
{
|
if (!findPreciousModel.IsBossUnlock(npcId))
|
{
|
SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
|
}
|
else if (!findPreciousModel.IsBossAlive(npcId))
|
{
|
SysNotifyMgr.Instance.ShowTip("Achievement_36_1");
|
}
|
else
|
{
|
guideAchievementId = _achievementId;
|
}
|
}
|
|
break;
|
case 31140:
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.IceCrystal;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.IceCrystal);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Normal:
|
case DailyQuestModel.DailyQuestState.CanBuyTimes:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.Completed:
|
SysNotifyMgr.Instance.ShowTip("Achievement_36_2");
|
break;
|
case DailyQuestModel.DailyQuestState.Locked:
|
//提示未解锁
|
break;
|
}
|
break;
|
default:
|
break;
|
}
|
}
|
}
|
|
public static void GotoFairyLand(int _achievementId)
|
{
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.FairyLand;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.FairyLand);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Normal:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.CanBuyTimes:
|
SysNotifyMgr.Instance.ShowTip("Achievement_46");
|
break;
|
case DailyQuestModel.DailyQuestState.Completed:
|
SysNotifyMgr.Instance.ShowTip("AchievementDungeonCompleted");
|
break;
|
}
|
}
|
|
public static void GotoTrial(int _achievementId)
|
{
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.Trial;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.Trial);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Normal:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.Completed:
|
SysNotifyMgr.Instance.ShowTip("Achievement_54");
|
break;
|
}
|
}
|
|
public static void GotoIceCrystal(int _achievementId)
|
{
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.IceCrystal;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.IceCrystal);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Normal:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.CanBuyTimes:
|
SysNotifyMgr.Instance.ShowTip("Achievement_125");
|
break;
|
case DailyQuestModel.DailyQuestState.Completed:
|
SysNotifyMgr.Instance.ShowTip("AchievementDungeonCompleted");
|
break;
|
}
|
}
|
|
public static void GotoBuyDungeonTimes(int _achievementId)
|
{
|
var config = SuccessConfig.Get(_achievementId);
|
var dataMapId = config.Condition[0];
|
var canBuyTimes = dungeonModel.GetBuyTimesLimit(dataMapId);
|
var boughtTimes = dungeonModel.GetBoughtTimes(dataMapId);
|
|
if (canBuyTimes > 0 && canBuyTimes > boughtTimes)
|
{
|
guideAchievementId = _achievementId;
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("Achievement_99");
|
}
|
}
|
|
public static void GotoExploreMap(int _achievementId)
|
{
|
guideAchievementId = _achievementId;
|
}
|
|
public static void GotoRuneTower(int _achievementId)
|
{
|
guideAchievementId = _achievementId;
|
}
|
|
public static void GotoDungeonInspire(int _achievementId)
|
{
|
var config = SuccessConfig.Get(_achievementId);
|
var dataMapId = config.Condition[0];
|
|
switch (dataMapId)
|
{
|
case DemonJarModel.DATA_MAPID:
|
var bossId = demonJarModel.GetRecommendBoss();
|
if (bossId > 0)
|
{
|
demonJarModel.selectedBoss = bossId;
|
demonJarModel.lockSelectedBoss = true;
|
|
if (findPreciousModel.IsBossAlive(bossId))
|
{
|
guideAchievementId = _achievementId;
|
}
|
else
|
{
|
DemonJarBossData bossData = null;
|
if (demonJarModel.TryGetBossData(bossId, out bossData))
|
{
|
if (!findPreciousModel.IsBossUnlock(bossId))
|
{
|
SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
|
}
|
}
|
|
if (!findPreciousModel.IsBossAlive(bossId))
|
{
|
SysNotifyMgr.Instance.ShowTip("Achievement_81_2");
|
}
|
}
|
}
|
break;
|
case 31080:
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.FairyLand;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.FairyLand);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Normal:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.CanBuyTimes:
|
SysNotifyMgr.Instance.ShowTip("Achievement_81_1");
|
break;
|
}
|
break;
|
}
|
|
}
|
|
public static void GotoKylin_7(int _achievementId)
|
{
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.Kirin;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.Kirin);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Normal:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.CanBuyTimes:
|
SysNotifyMgr.Instance.ShowTip("Achievement_49");
|
break;
|
case DailyQuestModel.DailyQuestState.Completed:
|
SysNotifyMgr.Instance.ShowTip("AchievementDungeonCompleted");
|
break;
|
}
|
}
|
|
public static void GotoKylin_49(int _achievementId)
|
{
|
var config = SuccessConfig.Get(_achievementId);
|
var dungeon = new Dungeon(31190, config.Condition[0] - 1);
|
dungeonModel.currentDungeon = dungeon;
|
dungeonModel.selectedKylinDungeon = dungeon;
|
guideAchievementId = _achievementId;
|
}
|
|
//日常界面本身有特效,这个是不要的
|
public static void GotoGetDailyActiveValueAward(int _achievementId)
|
{
|
var activeValueRewards = DailyLivenessRewardConfig.GetKeys();
|
|
var rewardable = false;
|
foreach (var key in activeValueRewards)
|
{
|
var config = DailyLivenessRewardConfig.Get(key);
|
DailyQuestActiveValueReward rewardData;
|
if (dailyQuestModel.TryGetActiveValueRewardData(int.Parse(key), out rewardData))
|
{
|
if (!rewardData.got && dailyQuestModel.currentActiveValue >= config.Liveness)
|
{
|
rewardable = true;
|
break;
|
}
|
}
|
}
|
|
if (rewardable)
|
{
|
guideAchievementId = _achievementId;
|
}
|
else
|
{
|
//提示,无奖可领
|
}
|
|
}
|
|
public static void GotoStove(int _achievementId)
|
{
|
if (alchemyModel.stoveLevel < 1)
|
{
|
treasureModel.currentCategory = TreasureCategory.Fairy;
|
treasureModel.selectedTreasure = 301;
|
guideAchievementId = _achievementId;
|
}
|
else
|
{
|
guideAchievementId = _achievementId;
|
}
|
}
|
|
public static void GotoNuwa(int _achievementId)
|
{
|
dailyQuestModel.wannaLookDailyQuest = (int)DailyQuestType.EmperorRelic;
|
var dailyQuestState = dailyQuestModel.GetQuestState((int)DailyQuestType.EmperorRelic);
|
switch (dailyQuestState)
|
{
|
case DailyQuestModel.DailyQuestState.Locked:
|
SysNotifyMgr.Instance.ShowTip("Achievement_63_2");
|
break;
|
case DailyQuestModel.DailyQuestState.Normal:
|
guideAchievementId = _achievementId;
|
break;
|
case DailyQuestModel.DailyQuestState.CanBuyTimes:
|
SysNotifyMgr.Instance.ShowTip("Achievement_63");
|
break;
|
case DailyQuestModel.DailyQuestState.Completed:
|
SysNotifyMgr.Instance.ShowTip("AchievementDungeonCompleted");
|
break;
|
}
|
}
|
|
public static void GotoSpSkillLevelUp(int _achievementId)
|
{
|
//var config = SuccessConfig.Get(_achievementId);
|
//var index = PlayerDatas.Instance.baseData.Job - 1;
|
//var skillId = index < config.Condition.Length ? config.Condition[index] : config.Condition[0];
|
//
|
//var treasureId = 0;
|
//var humanTreasures = treasureModel.GetTreasureCategory(TreasureCategory.Human);
|
//
|
//foreach (var id in humanTreasures)
|
//{
|
// Treasure treasure;
|
// treasureModel.TryGetTreasure(id, out treasure);
|
// if (treasure.GetPotential(skillId) != null)
|
// {
|
// treasureId = treasure.id;
|
// break;
|
// }
|
//}
|
//
|
//var skillConfig = SkillConfig.Get(skillId);
|
//var treasureConfig = TreasureConfig.Get(treasureId);
|
//
|
//if (treasureId != 0)
|
//{
|
// if (!FuncOpen.Instance.IsFuncOpen(82))
|
// {
|
// FuncOpen.Instance.ProcessorFuncErrorTip(82);
|
// return;
|
// }
|
//
|
// Treasure treasure;
|
// if (treasureModel.TryGetTreasure(treasureId, out treasure))
|
// {
|
// if (!treasure.IsHighestStage)
|
// {
|
// SysNotifyMgr.Instance.ShowTip("TreasureSkillUnGet", skillConfig.SkillName, treasureConfig.Name);
|
// return;
|
// }
|
// guideAchievementId = _achievementId;
|
// }
|
//}
|
|
}
|
|
public static void GotoKillMapMonster(int _achievementId)
|
{
|
guideAchievementId = _achievementId;
|
}
|
|
}
|
|
}
|
|
|
|