/// <summary> /// Reads MissionData for each mission directory stored in the cached details.txt. /// </summary> public static void Initialize() { // Parse cached mission directories foreach (string directory in Directory.EnumerateDirectories(CachePath.GetCachePath())) { uint missionID; if (!uint.TryParse(new DirectoryInfo(directory).Name, out missionID)) { continue; } // Register all details for mission string detailsPath = CachePath.GetMissionDetailsFilePath(missionID); if (!File.Exists(detailsPath)) { // Folder is corrupted, delete it Directory.Delete(directory, true); continue; } string json = File.ReadAllText(detailsPath); MissionData localData = JsonUtility.FromJson <MissionData>(json); AddMissionData(localData); } }
/// <summary> /// Unregisters mission data from cache details. /// If the mission's SDK version is no longer referenced, it will be deleted. /// </summary> public static void RemoveMissionData(uint missionID) { // Find and remove the mission int index = m_MissionList.FindIndex((mission) => mission.missionID == missionID); if (index < 0) { return; } MissionData missionData = m_MissionList[index]; m_MissionList.RemoveAt(index); // Remove reference to SDK version string sdkVersion = CachePath.GetSDKVersion(missionData); if (string.IsNullOrEmpty(sdkVersion)) { return; } if (RemoveReference(sdkVersion)) { File.Delete(CachePath.GetSDKFilePath(sdkVersion)); } if (RemoveReference("DotNetInterop")) { File.Delete(CachePath.GetInteropFilePath()); interopVersion = null; } }
private void OnBtnPlayClick() { List <BaseSoldier> soldiers = new List <BaseSoldier>(); for (int i = 0; i < _hiredSoldiers.Length; i++) { if (_hiredSoldiers[i] >= 0) { soldiers.Add(new BaseSoldier(_availableSoldiers[_hiredSoldiers[i]], Global.Instance.Player.City.GetSoldierUpgradesInfo(_availableSoldiers[_hiredSoldiers[i]].Key).Level)); } } Global.Instance.CurrentMission.SelectedSoldiers = new ArrayRO <BaseSoldier>(soldiers.ToArray()); //setup random units and map EUnitKey[] availableUnits = new EUnitKey[] { EUnitKey.Scout, EUnitKey.Trooper, EUnitKey.Jawa_1 }; string[] availableMaps = new string[] { "battle1_forest_1", "battle1_forest_2" }; EUnitKey[] units = new EUnitKey[Random.Range(1, 6)]; units[0] = EUnitKey.Hero_Sniper; for (int i = 1; i < units.Length; i++) { units[i] = availableUnits[Random.Range(0, availableUnits.Length)]; } MissionMapData mmd = new MissionMapData(units, availableMaps[Random.Range(0, availableMaps.Length)]); MissionData md = new MissionData(EMissionKey.None, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, new MissionMapData[] { mmd }); FightManager.Setup(EFightMode.PvP, md); LoadingScreen.Instance.Show(); LoadingScreen.Instance.SetProgress(0f); Application.LoadLevel("Fight"); }
public void OpenWindow(MissionData missionData) { ContentContainer.SetActive(true); Mission = missionData; for (int i = 0; i < ClientDishes.Length; i++) { int dish = missionData.Dishes [i]; ClientDishes [i].text = dish.ToString(); Image[] stars = Stars(i); DishRecipe dishRecipe = Restaurant.instance.DishRecipes [dish]; foreach (var star in stars) { star.sprite = Player.instance.gameObject.GetComponent <Storage> ().StarSprites [0]; } for (int j = 0; j < dishRecipe.Level; j++) { stars [j].sprite = Player.instance.gameObject.GetComponent <Storage> ().StarSprites [1]; } int cost = dishRecipe.CostsByLevel [dishRecipe.Level - 1]; int additionalCost = cost - dishRecipe.CostsByLevel [0]; string dishCostString = "$" + cost; if (additionalCost > 0) { dishCostString += " (+$" + additionalCost + ")"; } GoldRewards [i].text = dishCostString; } string dropString = "Possible drop:\n"; foreach (var item in missionData.ItemRewards) { dropString += "- " + Restaurant.instance.ItemNames [item] + "\n"; } DropText.text = dropString; }
private string GetLogRegex(MissionData data) { var speakerNames = string.Join("|", data.Speakers.Keys); var logRegex = $"^(?<stamp>.. .. .. ..) (?<speaker>{speakerNames})"; return(logRegex); }
void LoadMission() { missionList = new List <MissionData>(); string[] lines = missionData.text.Split('\n'); int lineCount = lines.Length; for (int i = 1; i < lineCount; i++) { MissionData mission = new MissionData(); string[] splits = lines[i].Split(','); mission.level = int.Parse(splits[0]); mission.moveCount = int.Parse(splits[1]); mission.redCount = int.Parse(splits[2]); mission.redNo = int.Parse(splits[3]); mission.orangeCount = int.Parse(splits[4]); mission.orangeNo = int.Parse(splits[5]); mission.yellowCount = int.Parse(splits[6]); mission.yellowNo = int.Parse(splits[7]); mission.greenCount = int.Parse(splits[8]); mission.greenNo = int.Parse(splits[9]); mission.blueCount = int.Parse(splits[10]); mission.blueNo = int.Parse(splits[11]); mission.gray = int.Parse(splits[12]); mission.anyBlockCount = int.Parse(splits[13]); mission.anyBlockNo = int.Parse(splits[14]); mission.bit = int.Parse(splits[15]); mission.star1 = int.Parse(splits[16]); mission.star2 = int.Parse(splits[17]); mission.star3 = int.Parse(splits[18]); missionList.Add(mission); } }
public void Init(MissionViewer owner, MissionData missionData) { //this.owner = owner; //MissionData = missionData; //prevValue = missionData.PrevValue; //currentValue = missionData.CurrentValue; //var isComplete = prevValue >= missionData.Info.TargetValue; //missionInfoParent.SetActive(!isComplete); //waitTimeInfoParent.SetActive(isComplete); //getNowButton.gameObject.SetActive(true); //if (MyGameManager.Instance.CurrentLevel < 6) getNowButton.gameObject.SetActive(false); //if (!isComplete) //{ // missionName.Text = MyMissionManager.GetDescription(missionData.Info); // rewardCoinNum.Text = missionData.Info.RewardCoinNum.ToString(); // UpdateProgress(prevValue); // skipButton.gameObject.SetActive(!missionData.IsClear); // if (MyGameManager.Instance.CurrentLevel < 6) skipButton.gameObject.SetActive(false); //} //else //{ // waitTime.Text = string.Format("{0:hh\\:mm\\:ss}", missionData.GetTimeSpanWhenNextMissionUnlock()); //} }
void CreateSelectableMission(MissionData mission) { GameObject geo = Instantiate(selectableMissionPrefab, missionsGroup); SelectableMissionController controller = geo.GetComponent <SelectableMissionController>(); controller.SetupSelecteableMission(mission); }
public void RaidMission(MissionData mission) { if (/*Restaurant.instance.RaidTickets > 0 &&*/ Restaurant.instance.SpendEnergy(Restaurant.instance.EnergyCostPerMission)) { mission.GoldReward = CalculateGoldForMission(mission); raidTickets--; // эта проверка сейчас происходит в клиенте =\ AddGold(mission.GoldReward); stars += 3; List <int> itemsWon = new List <int> (); for (int i = 0; i < mission.ItemRewards.Length; i++) { if (Random.Range(0.0f, 1.0f) < mission.ItemChances[i]) { AddItem(mission.ItemRewards [i]); itemsWon.Add(mission.ItemRewards [i]); } } CheckoutClient(mission.gameObject.GetComponent <Client>()); if (CurrentClients.Count == 0) { WelcomeClients(); } OnMissionEnded(mission.GoldReward, itemsWon); OnRestaurantInfoChanged(); } }
private void UpdateRewardIcon(Transform cardTransform, MissionData gridData) { DeliveryRewardTable.DeliveryRewardData[] rewards = Singleton <DeliveryRewardTable> .I.GetDeliveryRewardTableData(gridData.deliveryData.id); int exp = 0; if (rewards != null && rewards.Length > 0) { SetGrid(cardTransform, UI.GRD_REWARD, string.Empty, rewards.Length, false, delegate(int index, Transform t, bool is_recycle) { DeliveryRewardTable.DeliveryRewardData.Reward reward = rewards[index].reward; bool is_visible = false; if (reward.type == REWARD_TYPE.EXP) { exp += reward.num; } else { is_visible = true; ItemIcon itemIcon = ItemIcon.CreateRewardItemIcon(reward.type, reward.item_id, t, reward.num, null, 0, false, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.REWARD_DELIVERY_DETAIL); SetMaterialInfo(itemIcon.transform, reward.type, reward.item_id, null); itemIcon.SetRewardBG(true); } SetActive(t, is_visible); }); } }
////////////// public static void StartMission(MissionData mission) { m_CurrentMission = mission; m_CurrentStage = 1; SceneManager.LoadScene(SceneName.BattleScene); }
private void StartFight() { PlayerResources playerResources = Global.Instance.Player.Resources; MissionData md = MissionsConfig.Instance.GetPlanet(EPlanetKey.PlanetA).GetMission(EMissionKey.PlanetA_Test1); if (playerResources.Fuel < md.FuelWinCost || playerResources.Fuel < md.FuelLoseCost || playerResources.Credits < md.CreditsWinCost || playerResources.Credits < md.CreditsLoseCost || playerResources.Minerals < md.MineralsWinCost || playerResources.Minerals < md.MineralsLoseCost) { Debug.LogWarning("Not enough resources"); return; } BaseSoldier[] soldiers = new BaseSoldier[_hiredUnits.Count]; for (int i = 0; i < soldiers.Length; i++) { soldiers[i] = new BaseSoldier(UnitsConfig.Instance.GetSoldierData(_hiredUnits[i]), Global.Instance.Player.City.GetSoldierUpgradesInfo(_hiredUnits[i]).Level); } Global.Instance.CurrentMission.PlanetKey = EPlanetKey.PlanetA; Global.Instance.CurrentMission.MissionKey = EMissionKey.PlanetA_Test1; Global.Instance.CurrentMission.SelectedSoldiers = new ArrayRO <BaseSoldier>(soldiers); FightManager.Setup(EFightMode.Campaign, MissionsConfig.Instance.GetPlanet(Global.Instance.CurrentMission.PlanetKey).GetMission(Global.Instance.CurrentMission.MissionKey)); Application.LoadLevel("Fight"); }
private void SetupAttempts(MissionData md) { int attemptsUsed = Global.Instance.Player.StoryProgress.GetMissionAttemptsUsed(_planetKey, _missionKey); _txtAttemptsAmount.text = string.Format("{0}/{1}", md.AttemptsDaily - attemptsUsed, md.AttemptsDaily); if (attemptsUsed >= md.AttemptsDaily) { _btnPlay.interactable = false; } }
private void TestMissionTaskContent(MissionData i_mission, MapAreaTypes i_areaType) { foreach (MissionTaskData taskData in i_mission.Tasks) { TestPowerForMission(taskData.PowerRequirement); } }
/////////////// private void TryUpdateProgress(MissionData completedMission) { switch (completedMission.World) { case MissionWorld.Normal: int number = completedMission.Number; // если первый раз прошли миссию if (number == NormalWorldMissionNumber) { NormalWorldMissionNumber++; // // NOTE: имитация туториала, потом привести в нормальный вид // switch (number) { case 2: InventoryContent.Instance.AddEquipmentItem("axe"); break; case 3: InventoryContent.Instance.AddMaterial("ingot", 15); break; } } break; } GameManager.Instance.SaveGame(); }
public void Clear() { _graphics.Unload(true); _currentMapIndex = 0; _missionData = null; }
private void SetupEnemies(MissionData md) { float enemyImageWidth = _iconEnemy.UnitBG.transform.GetComponent <RectTransform>().rect.width; List <EUnitKey> unitKeys = new List <EUnitKey>(); MissionMapData mmd = null; for (int i = 0; i < md.MapsCount; i++) { mmd = md.GetMap(i); for (int j = 0; j < mmd.Units.Length; j++) { if (unitKeys.IndexOf(mmd.Units[j]) == -1) { unitKeys.Add(mmd.Units[j]); } } } _enemies = unitKeys.ToArray(); _enemyIcons = new UIBattlePreviewUnitInfo[_enemies.Length]; _enemyIcons[0] = _iconEnemy; for (int i = 0; i < _enemies.Length; i++) { if (i > 0) { _enemyIcons[i] = (GameObject.Instantiate(_iconEnemy.gameObject) as GameObject).GetComponent <UIBattlePreviewUnitInfo>(); _enemyIcons[i].transform.SetParent(_iconEnemy.transform.parent, false); _enemyIcons[i].UnitBG.rectTransform.anchoredPosition = _iconEnemy.UnitBG.rectTransform.anchoredPosition + new Vector2(i * (enemyImageWidth + _offsetImageEnemy), 0f); } _enemyIcons[i].Setup(_enemies[i]); } }
private void UpdateReward(CardData cardData, MissionData missionData, bool isComplete = false) { UpdateRewardIcon(cardData.cardTransform, missionData); if (missionData is GridData) { GridData gridData = missionData as GridData; SetActive(cardData.cardTransform, UI.SPR_REWARD_GRID_ITEM, true); SetSprite(cardData.cardTransform, UI.SPR_REWARD_GRID_ITEM, gridData.spriteName); } else { SetActive(cardData.cardTransform, UI.SPR_REWARD_GRID_ITEM, false); } SetBannerActvie(cardData, false); SetActive(cardData.completeRewardTweenlRoot, false); SetActive(cardData.cardTransform, UI.OBJ_COMPLETE_MARK, missionData.isCompleted); DeliveryRewardTable.DeliveryRewardData[] deliveryRewardTableData = Singleton <DeliveryRewardTable> .I.GetDeliveryRewardTableData(missionData.deliveryData.id); if (deliveryRewardTableData != null && deliveryRewardTableData.Length > 0) { DeliveryRewardTable.DeliveryRewardData deliveryRewardData = deliveryRewardTableData[0]; SetLabelText(cardData.cardTransform, UI.LBL_REWARD, missionData.deliveryData.npcComment); MonoBehaviourSingleton <DeliveryManager> .I.GetAllProgressDelivery((int)missionData.deliveryData.id, out int have, out int need); if (isComplete || missionData.isCompleted) { have = need; } SetActive(cardData.cardTransform, UI.LBL_REWRAD_COUNT, true); SetLabelText(cardData.cardTransform, UI.LBL_REWRAD_COUNT, have + "/" + need); } }
//存檔 void SaveMissionData() { //存檔案 //取得目前所有任務資訊 MissionClass[] missionClass = GameObject.FindObjectsOfType <MissionClass>(); Debug.Log("存檔時任務數量:" + missionClass.Length); for (int i = 0; i < missionClass.Length; i++) { } if (missionDatas != null) { missionDatas.Clear(); } foreach (MissionClass ms in missionClass) { MissionData _missiondata = new MissionData(ms.Type, ms.CurrentProgress, ms.Requirment, ms.ExpReward, ms.TotalScoreRequirment); if (missionDatas == null) { missionDatas = new List <MissionData>(); } missionDatas.Add(_missiondata); } //SAVE Save_LoadSystem.SaveMissionData(missionDatas); }
public void FillData() { SQLiteTableReader reader = new SQLiteTableReader(null, Program.DbPath); reader.Connect(); DataTable missionTable = reader.ExecuteQuery("SELECT tm.id as id, tm.item_id as item_id, tm.item_num as item_num, t0.text as MissionText FROM (SELECT id, item_id, item_num FROM mission_data) as tm, (SELECT \"index\", text FROM text_data WHERE category=67) as t0 WHERE tm.id = t0.\"index\""); reader.Disconnect(); for (int i = 0; i < missionTable.Rows.Count; i++) { MissionData data = new MissionData(); data.Id = (long)missionTable.Rows[i]["id"]; data.ItemId = (long)missionTable.Rows[i]["item_id"]; data.ItemCount = (long)missionTable.Rows[i]["item_num"]; data.SetMissionText(((string)missionTable.Rows[i]["MissionText"]).Replace("\\n", "")); if (!MissionDataList.Exists(a => a.MissionText.Equals(data.MissionText))) { string transText = Program.TransDict.GetTranslation(transDict, data.MissionText); if (string.IsNullOrEmpty(transText)) { transText = string.Empty; } data.TransMissionText = transText; MissionDataList.Add(data); } } }
////////////// private void OnDisable() { Enemy.OnEnemyDeath -= TryStartNextWave; m_PlayerHero.OnPlayerDied -= OnPlayerDied; m_CurrentMission = null; }
public void Init(Level level) { if (Data.Instance.playMode == Data.PlayModes.SURVIVAL) { MissionActive = MissionsManager.Instance.videogames[3].missions[0].data[0]; extraAreasManager.Init(); } totalDistance = 0; this.level = level; areasLength = -4; StartNewMission(); if (Data.Instance.isReplay && Data.Instance.playMode == Data.PlayModes.STORYMODE) { AddAreaByName("continue_Multiplayer"); } else { //if (!Data.Instance.DEBUG && Data.Instance.playMode == Data.PlayModes.PARTYMODE) // ShuffleMissions (); AddAreaByName("start_Multiplayer"); } }
/// <summary> /// Load the missions data from the scene. /// </summary> /// <returns>The missions data from the scene.</returns> private List <MissionData> LoadMissionsDataFromScene() { Debug.Log("Loading Missions Data from Scene"); GameObject [] missions = GameObject.FindGameObjectsWithTag("Mission"); if (missions == null) { Debug.Log("No Mission with 'Mission' tag found"); return(null); } Mission tempMission = null; LevelsManager tempLevelManager = null; List <MissionData> tempMissionsData = new List <MissionData> (); MissionData tempMissionData = null; for (int i = 0; i < missions.Length; i++) { tempMission = missions[i].GetComponent <Mission> (); tempLevelManager = missions[i].GetComponent <LevelsManager> (); tempMissionData = new MissionData(); if (i == 0) { tempMissionData.isLocked = false; } tempMissionData.ID = tempMission.ID; tempMissionData.levelsData = GetLevelData(tempLevelManager.levels); tempMissionsData.Add(tempMissionData); } return(tempMissionsData); }
public void Init() { areasetDataLoaded.Clear(); if (Data.Instance.playMode == Data.PlayModes.STORYMODE && Data.Instance.isReplay) { offset -= 40; } videogamesData = GetComponent <VideogamesData>(); data = Data.Instance; if (Data.Instance.playMode == Data.PlayModes.SURVIVAL) { offset -= 40; MissionsManager.Instance.all = null; //MissionActive = MissionsManager.Instance.LoadDataFromMission("survival", "boyland").data[0]; MissionActive = MissionsManager.Instance.videogames[3].missions[0].data[0]; // extraAreasManager.Init(); } else { data.events.StartMultiplayerRace += StartMultiplayerRace; data.events.ResetMissionsBlocked += ResetMissionsBlocked; data.events.OnMissionComplete += OnMissionComplete; data.events.OnBossActive += OnBossActive; } }
/// <summary> /// 收到任务 /// </summary> /// <param name="tid"></param> /// <param name="uid"></param> public void OnReciveMissionList(uint tid, ulong uid) { if (AllMissionList.ContainsKey(uid)) { return; } MissionData mission = GetCfgMissionProxy().GetMissionByKey(tid); if (m_CanAcceptMissions.TryGetValue(tid, out MissionVO missionVO)) { //从可接可借列表移除 m_CanAcceptMissions.Remove(tid); } else //如果不在可接列表的 (比如进入fb的时候 发来一个任务) { //创建任务 missionVO = CreateMission(tid); } missionVO.Uid = uid; missionVO.MissionState = MissionState.Going; AllMissionList.Add(uid, missionVO); AllMissionDic[(MissionType)mission.Type].Add(uid, missionVO); #region 音效 ////HACK gaoyu //这是一个最终需求么? by 张子华 if (missionVO.MissionMainConfig.HasValue && missionVO.MissionMainConfig.Value.StartBGM > 0) { WwiseUtil.PlaySound(missionVO.MissionMainConfig.Value.StartBGM, false, null); } #endregion }
// Returns the SDK version specified in the .OPM file. Otherwise, returns null public static string GetSDKVersion(MissionData missionData) { string missionPath = Path.Combine(GetCachePath(), missionData.missionID.ToString()); // DLL or OPM string dllName = missionData.fileNames.FirstOrDefault((filename) => filename.IndexOf(".dll", System.StringComparison.OrdinalIgnoreCase) >= 0); string opmName = missionData.fileNames.FirstOrDefault((filename) => filename.IndexOf(".opm", System.StringComparison.OrdinalIgnoreCase) >= 0); bool isStandardMission = string.IsNullOrEmpty(dllName) && !string.IsNullOrEmpty(opmName); if (isStandardMission) { // Get the SDK version from the mission file try { string filePath = Path.Combine(missionPath, opmName); MissionRoot root = MissionReader.GetMissionData(filePath); return(root.sdkVersion); } catch (System.Exception ex) { Debug.LogError(ex); } } return(null); }
void OnDestroy() { if (this == instance) { instance = null; } }
public void Setup(EPlanetKey planetKey, EMissionKey missionKey) { _planetKey = planetKey; _missionKey = missionKey; MissionData md = MissionsConfig.Instance.GetPlanet(planetKey).GetMission(missionKey); if (md != null) { _lblExpAmount.text = string.Format("+ {0}", md.RewardExperienceWin); Sprite heroBackIconResource = UIResourcesManager.Instance.GetResource <Sprite>(GameConstants.Paths.GetUnitBGIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName)); if (heroBackIconResource != null) { _imgHeroBG.sprite = heroBackIconResource; _imgHeroBG.enabled = true; } else { _imgHeroBG.enabled = false; } Sprite heroIconResource = UIResourcesManager.Instance.GetResource <Sprite>(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName)); if (heroIconResource != null) { _imgHeroFG.sprite = heroIconResource; _imgHeroFG.enabled = true; } else { _imgHeroFG.enabled = false; } } }
private MissionItem CreateMissionItem(MissionData data) { var item = Instantiate(MissionItemPrefabs); item.SetMissionData(data); return(item); }
public static void ResetSpaceData(MissionData missionData) { SpaceDataMap.Clear(); int spaceID = missionData.scene; string spaceFileName = string.Concat("s", spaceID); ReadSpaceFile(spaceFileName); }
/// <summary> /// Load the missions data from the scene. /// </summary> /// <returns>The missions data from the scene.</returns> private List <MissionData> LoadMissionsDataFromScene() { Debug.Log("Loading Missions Data"); GameObject[] missions = GameObject.FindGameObjectsWithTag("Mission"); if (missions == null) { Debug.Log("No Mission with 'Mission' tag found"); return(null); } Mission tempMission = null; LevelsManager tempLevelManager = null; List <MissionData> tempMissionsData = new List <MissionData> (); MissionData tempMissionData = null; foreach (GameObject missionGameObject in missions) { tempMission = missionGameObject.GetComponent <Mission> (); tempLevelManager = missionGameObject.GetComponent <LevelsManager> (); tempMissionData = new MissionData(); tempMissionData.ID = tempMission.ID; tempMissionData.levelsData = GetLevelData(tempLevelManager.levels); tempMissionsData.Add(tempMissionData); } return(tempMissionsData); }
private void Init() { Logger = new MyLogger("Log.log"); MsgHandle = new MessageHandler(); m_data = new MissionData(); var updatables = new List <IUpdatableAfterSimulation>(); var config = GetConfiguration(); Clean_Loaded = true; if (!MyAPIGateway.Multiplayer.IsServer) { return; } StopallShips(); if (config.PirateGridDeletion_Enabled) { updatables.Add(new PirateDeleter( config.PirateGridDeletion_Interval, //config.PirateGridDeletion_Enabled, config.PirateGridDeletion_PlayerDistanceThreshold, //config.PirateGridDeletion_BlockCountThreshold, config.PirateGridDeletion_MessageAdminsOnly)); } RemoveNPCs(); }
// 刷新难度格子固定信息:次数,推荐等级 //public void SetLevelUIMessage(int missionID, int level, MissionData missionData) //{ // int dayTimes = -1; // int maxDayTimes = -1; // int recommendLevel = -1; // if (enterableMissions[missionID].Contains(level)) // { // maxDayTimes = missionData.dayTimes; // recommendLevel = missionData.recommend_level; // if (missionTimes.ContainsKey(missionID)) // { // if (missionTimes[missionID].ContainsKey(level)) // { // dayTimes = missionTimes[missionID][level]; // SetLevelUIDateTime(level - 1, dayTimes, maxDayTimes); // SetLevelUIRecommendLevel(level - 1, recommendLevel); // } // else // { // dayTimes = 0; // SetLevelUIDateTime(level - 1, dayTimes, maxDayTimes); // SetLevelUIRecommendLevel(level - 1, recommendLevel); // } // } // else // { // dayTimes = 0; // SetLevelUIDateTime(level - 1, dayTimes, maxDayTimes); // SetLevelUIRecommendLevel(level - 1, recommendLevel); // } // } // else // { // dayTimes = -1; // maxDayTimes = -1; // recommendLevel = -1; // SetLevelUIDateTime(level - 1, dayTimes, maxDayTimes); // SetLevelUIRecommendLevel(level - 1, recommendLevel); // } //} public void SetLevelUIMessage(int missionID, int level, MissionData missionData) { int dayTimes = -1; int maxDayTimes = -1; if (enterableMissions[missionID].ContainsKey(level)) { maxDayTimes = missionData.dayTimes; if (missionTimes.ContainsKey(missionID)) { if (missionTimes[missionID].ContainsKey(level)) { dayTimes = missionTimes[missionID][level]; InstanceLevelChooseUIViewManager.Instance.SetEnterEnable(true); InstanceLevelChooseUIViewManager.Instance.SetEnterTimes(MissionType.Normal, maxDayTimes - dayTimes, level - 1); } else { dayTimes = 0; InstanceLevelChooseUIViewManager.Instance.SetEnterEnable(true); InstanceLevelChooseUIViewManager.Instance.SetEnterTimes(MissionType.Normal, maxDayTimes - dayTimes, level - 1); } } else { dayTimes = 0; InstanceLevelChooseUIViewManager.Instance.SetEnterEnable(true); InstanceLevelChooseUIViewManager.Instance.SetEnterTimes(MissionType.Normal, maxDayTimes - dayTimes, level - 1); } } else { InstanceLevelChooseUIViewManager.Instance.SetEnterEnable(false); InstanceLevelChooseUIViewManager.Instance.SetEnterTimes(MissionType.Normal, 0, level - 1); } InstanceLevelChooseUIViewManager.Instance.SetCleanTimes(InstanceUILogicManager.Instance.SweepTimes); }
private void SetupLoot(MissionData md) { float lootImageWidth = _imgLoot.transform.GetChild(0).GetComponent<RectTransform>().rect.width; ArrayRO<ItemDropChance> loot = MissionsConfig.Instance.GetPlanet(_planetKey).GetMission(_missionKey).RewardItems; if (loot.Length == 0) { _imgLoot.gameObject.SetActive(false); } else { _lootItems = new EItemKey[loot.Length]; _lootItemImages = new Image[loot.Length]; _lootItemImages[0] = _imgLoot; for (int i = 0; i < loot.Length; i++) { _lootItems[i] = loot[i].ItemKey; if (i > 0) { _lootItemImages[i] = (GameObject.Instantiate(_imgLoot.gameObject) as GameObject).GetComponent<Image>(); _lootItemImages[i].transform.SetParent(_imgLoot.transform.parent, false); _lootItemImages[i].rectTransform.anchoredPosition = _imgLoot.rectTransform.anchoredPosition + new Vector2(i * (lootImageWidth + _offsetImageLoot), 0f); } Image lootIcon = _lootItemImages[i]; Sprite lootIconResource = UIResourcesManager.Instance.GetResource<Sprite>(GameConstants.Paths.GetLootIconResourcePath(loot[i].ItemKey)); if (lootIconResource != null) { lootIcon.sprite = lootIconResource; } } } }
public static void Setup(EFightMode fightMode, MissionData missionData) { _fightMode = fightMode; _missionData = missionData; }
private void SetupEnemies(MissionData md) { float enemyImageWidth = _iconEnemy.UnitBG.transform.GetComponent<RectTransform>().rect.width; List<EUnitKey> unitKeys = new List<EUnitKey>(); MissionMapData mmd = null; for (int i = 0; i < md.MapsCount; i++) { mmd = md.GetMap(i); for (int j = 0; j < mmd.Units.Length; j++) { if (unitKeys.IndexOf(mmd.Units[j]) == -1) { unitKeys.Add(mmd.Units[j]); } } } EUnitKey firstEnemy = unitKeys[0]; UIHeroCard enemyCard = _enemyCard.GetComponent<UIHeroCard>(); enemyCard.UnitKey = firstEnemy; //_enemies = unitKeys.ToArray(); //_enemyIcons = new UIBattlePreviewUnitInfo[_enemies.Length]; //_enemyIcons[0] = _iconEnemy; //for (int i = 0; i < _enemies.Length; i++) //{ // if (i > 0) // { // _enemyIcons[i] = (GameObject.Instantiate(_iconEnemy.gameObject) as GameObject).GetComponent<UIBattlePreviewUnitInfo>(); // _enemyIcons[i].transform.SetParent(_iconEnemy.transform.parent, false); // _enemyIcons[i].UnitBG.rectTransform.anchoredPosition = _iconEnemy.UnitBG.rectTransform.anchoredPosition + new Vector2(i * (enemyImageWidth + _offsetImageEnemy), 0f); // } // _enemyIcons[i].Setup(_enemies[i]); //} }
private void SetupFuel(MissionData md) { _txtFuelAmount.text = md.FuelWinCost.ToString(); if (Global.Instance.Player.Resources.Fuel < md.FuelWinCost) { _btnPlay.interactable = false; _txtFuelAmount.color = Color.red; } else { _txtFuelAmount.color = Color.white; } }
private void OnBtnPlayClick() { List<BaseSoldier> soldiers = new List<BaseSoldier>(); for (int i = 0; i < _hiredSoldiers.Length; i++) { if (_hiredSoldiers[i] >= 0) { soldiers.Add(new BaseSoldier(_availableSoldiers[_hiredSoldiers[i]], Global.Instance.Player.City.GetSoldierUpgradesInfo(_availableSoldiers[_hiredSoldiers[i]].Key).Level)); } } Global.Instance.CurrentMission.SelectedSoldiers = new ArrayRO<BaseSoldier>(soldiers.ToArray()); //setup random units and map EUnitKey[] availableUnits = new EUnitKey[] { EUnitKey.Scout, EUnitKey.Trooper, EUnitKey.Jawa_1 }; string[] availableMaps = new string[] { "battle1_forest_1", "battle1_forest_2" }; EUnitKey[] units = new EUnitKey[Random.Range(1, 6)]; units[0] = EUnitKey.Hero_Sniper; for (int i = 1; i < units.Length; i++) { units[i] = availableUnits[Random.Range(0, availableUnits.Length)]; } MissionMapData mmd = new MissionMapData(units, availableMaps[Random.Range(0, availableMaps.Length)]); MissionData md = new MissionData(EMissionKey.None, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, new MissionMapData[] { mmd }); FightManager.Setup(EFightMode.PvP, md); LoadingScreen.Instance.Show(); LoadingScreen.Instance.SetProgress(0f); Application.LoadLevel("Fight"); }