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;
            }
        }
    }
Esempio n. 2
0
    public bool IsMissioAvailable(EPlanetKey planetKey, EMissionKey missionKey)
    {
        PlanetData pd = MissionsConfig.Instance.GetPlanet(planetKey);

        if (pd != null)
        {
            for (int i = 0; i < pd.Missions.Length; i++)
            {
                if (pd.Missions[i].Key == missionKey)
                {
                    //first mission
                    if (i == 0)
                    {
                        if (MissionsConfig.Instance.Planets[i].Key == pd.Key)
                        {
                            //first planet
                            return(true);
                        }
                        else
                        {
                            //check prev planet
                            return(IsPlanetCompleted(MissionsConfig.Instance.GetPreviuosPlanet(planetKey).Key));
                        }
                    }
                    else
                    {
                        //check prev mission
                        return(IsMissionCompleted(planetKey, pd.Missions[i - 1].Key));
                    }
                }
            }
        }

        return(false);
    }
	public void Setup(EPlanetKey planetKey, EMissionKey missionKey) {
		_planetKey = planetKey;
		_missionKey = missionKey;

		MissionData md = MissionsConfig.Instance.GetPlanet(planetKey).GetMission(missionKey);
		if (md != null) {
			_lblCreditsAmount.text = string.Format("+ {0}", md.RewardCredits);
			_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;
			}

			SetupLoot(MissionsConfig.Instance.GetPlanet(planetKey).GetMission(missionKey).RewardItems);
		}
	}
	//TODO: reset attempts after midnight

	public int GetMissionAttemptsUsed(EPlanetKey planetKey, EMissionKey missionKey) {
		if (_dailyMissionAttempts.ContainsKey(planetKey) && _dailyMissionAttempts[planetKey].ContainsKey(missionKey)) {
			return _dailyMissionAttempts[planetKey][missionKey];
		}

		return 0;
	}
Esempio n. 5
0
	public MissionData GetMission(EMissionKey missionKey) {
		for (int i = 0; i < _missions.Length; i++) {
			if (_missions[i].Key == missionKey) {
				return _missions[i];
			}
		}
		return null;
	}
Esempio n. 6
0
 public bool IsMissionCompleted(EPlanetKey planetKey, EMissionKey missionKey)
 {
     if (!_progress.ContainsKey(planetKey))
     {
         return(false);
     }
     return(_progress[planetKey].IndexOf(missionKey) != -1);
 }
	public void SaveProgress(EPlanetKey planetKey, EMissionKey missionKey) {
		if (!IsMissionCompleted(planetKey, missionKey)) {
			if (!_progress.ContainsKey(planetKey)) {
				_progress.Add(planetKey, new List<EMissionKey>());
			}
			_progress[planetKey].Add(missionKey);
		}
	}
Esempio n. 8
0
    //TODO: reset attempts after midnight

    public int GetMissionAttemptsUsed(EPlanetKey planetKey, EMissionKey missionKey)
    {
        if (_dailyMissionAttempts.ContainsKey(planetKey) && _dailyMissionAttempts[planetKey].ContainsKey(missionKey))
        {
            return(_dailyMissionAttempts[planetKey][missionKey]);
        }

        return(0);
    }
	public void RegisterAttemptUsage(EPlanetKey planetKey, EMissionKey missionKey) {
		if (!_dailyMissionAttempts.ContainsKey(planetKey)) {
			_dailyMissionAttempts.Add(planetKey, new Dictionary<EMissionKey,int>());
		}
		if(!_dailyMissionAttempts[planetKey].ContainsKey(missionKey)) {
			_dailyMissionAttempts[planetKey].Add(missionKey, 1);
		} else {
			_dailyMissionAttempts[planetKey][missionKey]++;
		}
	}
	public void Setup(EPlanetKey planetKey, EMissionKey missionKey) {
		_planetKey = planetKey;
		_missionKey = missionKey;

		SetupAvailableUnits();
		SetupHiredUnits();

		UpdateLeadership();
		UpdateSoldiersHireAvailability();
	}
Esempio n. 11
0
 public UnitsDialogScene GetScene(EMissionKey missionKey, int mapIndex)
 {
     for (int i = 0; i < _data.Length; i++)
     {
         if (_data[i].MissionKey == missionKey && _data[i].MapIndex == mapIndex)
         {
             return(_data[i]);
         }
     }
     return(null);
 }
Esempio n. 12
0
 public void SaveProgress(EPlanetKey planetKey, EMissionKey missionKey)
 {
     if (!IsMissionCompleted(planetKey, missionKey))
     {
         if (!_progress.ContainsKey(planetKey))
         {
             _progress.Add(planetKey, new List <EMissionKey>());
         }
         _progress[planetKey].Add(missionKey);
     }
 }
    public void Setup(EPlanetKey planetKey, EMissionKey missionKey)
    {
        _planetKey  = planetKey;
        _missionKey = missionKey;

        SetupAvailableUnits();
        SetupHiredUnits();

        UpdateLeadership();
        UpdateSoldiersHireAvailability();
    }
Esempio n. 14
0
 public MissionData GetMission(EMissionKey missionKey)
 {
     for (int i = 0; i < _missions.Length; i++)
     {
         if (_missions[i].Key == missionKey)
         {
             return(_missions[i]);
         }
     }
     return(null);
 }
    public void Setup(EPlanetKey planetKey, EMissionKey missionKey)
    {
        _planetKey = planetKey;
        _missionKey = missionKey;

        SetupCurrentHero();
        //SetupAvailableUnits();
        //SetupHiredUnits();
        _imgCurrrentSoldier.GetComponent<MultiImageButton>();

        UpdateLeadership();
        //UpdateSoldiersHireAvailability();
    }
    public void Setup(EPlanetKey planetKey, EMissionKey missionKey)
    {
        _planetKey  = planetKey;
        _missionKey = missionKey;

        SetupCurrentHero();
        //SetupAvailableUnits();
        //SetupHiredUnits();
        _imgCurrrentSoldier.GetComponent <MultiImageButton>();

        UpdateLeadership();
        //UpdateSoldiersHireAvailability();
    }
	public void Setup(EPlanetKey planetKey, EMissionKey missionKey) {
		_planetKey = planetKey;
		_missionKey = missionKey;

		MissionData md = MissionsConfig.Instance.GetPlanet(planetKey).GetMission(missionKey);
		if (md != null) {
			//TODO: setup title
			SetupAttempts(md);
			SetupFuel(md);
			SetupEnemies(md);
			SetupLoot(md);

		}
	}
    private void OnWindowHide(UIWindow window)
    {
        _planetKey  = EPlanetKey.None;
        _missionKey = EMissionKey.None;

        //hero
        //if (_imgHero.sprite != null) {
        //    _imgHero.sprite = null;
        //    UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
        //}
        //TODO: free resources and clear data
        _slotManager.Clear();
        SetSelectedUnit(null);
    }
Esempio n. 19
0
    public void Play(EMissionKey missionKey, int mapIndex, Action callback)
    {
        UnitsDialogScene missionScene = GetScene(missionKey, mapIndex);

        if (missionScene == null)
        {
            if (callback != null)
            {
                callback();
            }
            return;
        }

        PlayInternal(missionScene, callback);
    }
Esempio n. 20
0
 public void RegisterAttemptUsage(EPlanetKey planetKey, EMissionKey missionKey)
 {
     if (!_dailyMissionAttempts.ContainsKey(planetKey))
     {
         _dailyMissionAttempts.Add(planetKey, new Dictionary <EMissionKey, int>());
     }
     if (!_dailyMissionAttempts[planetKey].ContainsKey(missionKey))
     {
         _dailyMissionAttempts[planetKey].Add(missionKey, 1);
     }
     else
     {
         _dailyMissionAttempts[planetKey][missionKey]++;
     }
 }
    public void Setup(EPlanetKey planetKey, EMissionKey missionKey)
    {
        _planetKey  = planetKey;
        _missionKey = missionKey;

        MissionData md = MissionsConfig.Instance.GetPlanet(planetKey).GetMission(missionKey);

        if (md != null)
        {
            //TODO: setup title
            SetupAttempts(md);
            SetupFuel(md);
            SetupEnemies(md);
            SetupLoot(md);
        }
    }
Esempio n. 22
0
 public MissionData(EMissionKey key, int fuelWinCost, int fuelLoseCost, int creditsWinCost, int creditsLoseCost, int mineralsWinCost, int mineralsLoseCost, int rewardExperienceWin, int rewardExperienceLose, int rewardFuel, int rewardCredits, int rewardMinerals, MissionMapData[] maps)
 {
     _key                  = key;
     _fuelWinCost          = fuelWinCost;
     _fuelLoseCost         = fuelLoseCost;
     _creditsWinCost       = creditsWinCost;
     _creditsLoseCost      = creditsLoseCost;
     _mineralsWinCost      = mineralsWinCost;
     _mineralsLoseCost     = mineralsLoseCost;
     _rewardExperienceWin  = rewardExperienceWin;
     _rewardExperienceLose = rewardExperienceLose;
     _rewardFuel           = rewardFuel;
     _rewardCredits        = rewardCredits;
     _rewardMinerals       = rewardMinerals;
     _maps                 = maps;
 }
	private void OnWindowHide(UIWindow window) {
		_planetKey = EPlanetKey.None;
		_missionKey = EMissionKey.None;

		//clear labels
		_lblExpAmount.text = "+ 0";

		//hero
		if (_imgHeroBG.sprite != null) {
			_imgHeroBG.sprite = null;
			UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitBGIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
		}
		if (_imgHeroFG.sprite != null) {
			_imgHeroFG.sprite = null;
			UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
		}
	}
Esempio n. 24
0
 public PlanetData GetPlanet(EMissionKey missionKey)
 {
     if (missionKey != EMissionKey.None)
     {
         for (int i = 0; i < _planets.Length; i++)
         {
             for (int j = 0; j < _planets[i].Missions.Length; j++)
             {
                 if (_planets[i].Missions[j].Key == missionKey)
                 {
                     return(_planets[i]);
                 }
             }
         }
     }
     return(null);
 }
    private void OnWindowHide(UIWindow window)
    {
        _planetKey  = EPlanetKey.None;
        _missionKey = EMissionKey.None;

        //clear labels
        _lblExpAmount.text = "+ 0";

        //hero
        if (_imgHeroBG.sprite != null)
        {
            _imgHeroBG.sprite = null;
            UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitBGIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
        }
        if (_imgHeroFG.sprite != null)
        {
            _imgHeroFG.sprite = null;
            UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
        }
    }
    private void OnWindowHide(UIWindow window)
    {
        _planetKey  = EPlanetKey.None;
        _missionKey = EMissionKey.None;

        //clear loot
        if (_lootItems != null)
        {
            for (int i = 0; i < _lootItems.Length; i++)
            {
                _lootItemImages[i].sprite = null;
                if (i > 0)
                {
                    GameObject.Destroy(_lootItemImages[i].gameObject);
                }
                UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetLootIconResourcePath(_lootItems[i]));
            }
        }
        _lootItems      = null;
        _lootItemImages = null;

        //clear labels
        _lblCreditsAmount.text = "+ 0";
        _lblExpAmount.text     = "+ 0";

        //hero
        if (_imgHeroBG.sprite != null)
        {
            _imgHeroBG.sprite = null;
            UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitBGIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
        }
        if (_imgHeroFG.sprite != null)
        {
            _imgHeroFG.sprite = null;
            UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
        }
    }
	public bool IsMissioAvailable(EPlanetKey planetKey, EMissionKey missionKey) {
		PlanetData pd = MissionsConfig.Instance.GetPlanet(planetKey);
		if(pd != null) {
			for (int i = 0; i < pd.Missions.Length; i++) {
				if (pd.Missions[i].Key == missionKey) {
					//first mission
					if (i == 0) {
						if (MissionsConfig.Instance.Planets[i].Key == pd.Key) {
							//first planet
							return true;
						} else {
							//check prev planet
							return IsPlanetCompleted(MissionsConfig.Instance.GetPreviuosPlanet(planetKey).Key);
						}
					} else {
						//check prev mission
						return IsMissionCompleted(planetKey, pd.Missions[i - 1].Key);
					}
				}
			}
		}

		return false;
	}
    private void OnWindowHide(UIWindow window)
    {
        _planetKey  = EPlanetKey.None;
        _missionKey = EMissionKey.None;

        //clear enemies
        if (_enemies != null)
        {
            for (int i = 0; i < _enemies.Length; i++)
            {
                _enemyIcons[i].Clear();
                if (i > 0)
                {
                    GameObject.Destroy(_enemyIcons[i].gameObject);
                }
            }
        }
        _enemies    = null;
        _enemyIcons = null;

        //clear loot
        if (_lootItems != null)
        {
            for (int i = 0; i < _lootItems.Length; i++)
            {
                _lootItemImages[i].sprite = null;
                if (i > 0)
                {
                    GameObject.Destroy(_lootItemImages[i].gameObject);
                }
                UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetLootIconResourcePath(_lootItems[i]));
            }
        }
        _lootItems      = null;
        _lootItemImages = null;
    }
 public void Show(EPlanetKey planetKey, EMissionKey missionKey)
 {
     Setup(planetKey, missionKey);
     Show();
 }
Esempio n. 30
0
	public MissionData(EMissionKey key, int fuelWinCost, int fuelLoseCost, int creditsWinCost, int creditsLoseCost, int mineralsWinCost, int mineralsLoseCost, int rewardExperienceWin, int rewardExperienceLose, int rewardFuel, int rewardCredits, int rewardMinerals, MissionMapData[] maps) {
		_key = key;
		_fuelWinCost = fuelWinCost;
		_fuelLoseCost = fuelLoseCost;
		_creditsWinCost = creditsWinCost;
		_creditsLoseCost = creditsLoseCost;
		_mineralsWinCost = mineralsWinCost;
		_mineralsLoseCost = mineralsLoseCost;
		_rewardExperienceWin = rewardExperienceWin;
		_rewardExperienceLose = rewardExperienceLose;
		_rewardFuel = rewardFuel;
		_rewardCredits = rewardCredits;
		_rewardMinerals = rewardMinerals;
		_maps = maps;
	}
	private void OnWindowHide(UIWindow window) {
		_planetKey = EPlanetKey.None;
		_missionKey = EMissionKey.None;

		//clear enemies
		if (_enemies != null) {
			for (int i = 0; i < _enemies.Length; i++) {
				_enemyIcons[i].Clear();
				if (i > 0) {
					GameObject.Destroy(_enemyIcons[i].gameObject);
				}
			}
		}
		_enemies = null;
		_enemyIcons = null;

		//clear loot
		if (_lootItems != null) {
			for (int i = 0; i < _lootItems.Length; i++) {
				_lootItemImages[i].sprite = null;
				if (i > 0) {
					GameObject.Destroy(_lootItemImages[i].gameObject);
				}
				UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetLootIconResourcePath(_lootItems[i]));
			}
		}
		_lootItems = null;
		_lootItemImages = null;
	}
	public bool IsMissionCompleted(EPlanetKey planetKey, EMissionKey missionKey) {
		if (!_progress.ContainsKey(planetKey)) {
			return false;
		}
		return _progress[planetKey].IndexOf(missionKey) != -1;
	}
	private void OnWindowHide(UIWindow window) {
		_planetKey = EPlanetKey.None;
		_missionKey = EMissionKey.None;

		//hero
        //if (_imgHero.sprite != null) {
        //    _imgHero.sprite = null;
        //    UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
        //}
        //TODO: free resources and clear data
        _slotManager.Clear();
        SetSelectedUnit(null);
	}
	private void OnWindowHide(UIWindow window) {
		_planetKey = EPlanetKey.None;
		_missionKey = EMissionKey.None;

		//clear loot
		if (_lootItems != null) {
			for (int i = 0; i < _lootItems.Length; i++) {
				_lootItemImages[i].sprite = null;
				if (i > 0) {
					GameObject.Destroy(_lootItemImages[i].gameObject);
				}
				UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetLootIconResourcePath(_lootItems[i]));
			}
		}
		_lootItems = null;
		_lootItemImages = null;

		//clear labels
		_lblCreditsAmount.text = "+ 0";
		_lblExpAmount.text = "+ 0";

		//hero
		if (_imgHeroBG.sprite != null) {
			_imgHeroBG.sprite = null;
			UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitBGIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
		}
		if (_imgHeroFG.sprite != null) {
			_imgHeroFG.sprite = null;
			UIResourcesManager.Instance.FreeResource(GameConstants.Paths.GetUnitIconResourcePath(Global.Instance.Player.Heroes.Current.Data.IconName));
		}
	}
	public void Show(EPlanetKey planetKey, EMissionKey missionKey) {
		Setup(planetKey, missionKey);
		Show();
	}