public void _Enqueue(BasePopUp basePopUp) { WaitingPopUps.Enqueue(basePopUp); if (ActivePopUps.Count == 0) { ShowNextInQueue(); } }
public int GetIndexOf(BasePopUp popUp) { if (HasPopUp(popUp)) { return(allActivePopUps.IndexOf(popUp)); } return(-1); }
private void OnPopUpBeingDestroyedEvent(BasePopUp popUpEffected) { if (allActivePopUps.Contains(popUpEffected)) { popUpEffected.PopUpBeingDestroyedEvent -= OnPopUpBeingDestroyedEvent; allActivePopUps.Remove(popUpEffected); UpdateList(); } }
private void _Show(BasePopUp basePopUp) { ActivePopUps.Push(basePopUp); basePopUp.RegisterOnCloseDone(OnPopUpClose); basePopUp.RegisterOnCloseDone(() => Destroy(basePopUp.gameObject)); basePopUp.Open(); }
public void InitializeDictionary() { popUps = new Dictionary <string, GameObject>(); for (int i = 0; i < defaultPopUps.Count; i++) { BasePopUp popUp = defaultPopUps[i].GetComponent <BasePopUp>(); popUps.Add(popUp.GetConfigType().FullName ?? string.Empty, popUp.gameObject); Debug.Log($"Added: {popUp.GetConfigType().FullName} => {popUp.gameObject}"); } }
private int LayerSort(BasePopUp x, BasePopUp y) { if (x.SortingLayer < y.SortingLayer) { return(-1); } if (x.GetInstanceID() < y.GetInstanceID()) { return(1); } return(-1); }
public bool AddPopUp(BasePopUp popUp) { if (!HasPopUp(popUp)) { popUp.PopUpBeingDestroyedEvent += OnPopUpBeingDestroyedEvent; allActivePopUps.Add(popUp); UpdateList(); return(true); } return(false); }
private void OnThiefEffectEnd(BasePopUp popUpEffected) { popUpEffected.PopUpBeingDestroyedEvent -= OnThiefEffectEnd; int amountTaken = _game.GetGamePlayerBy(_effectedFactionType).TakeCoins(); if (_effectedFactionType != _currentEffectGamePlayer.FactionType) { _currentEffectGamePlayer.GiveCoins(amountTaken); } DoneEffect(_currentEffectGamePlayer, _currentEffectOfSkill); }
public void ClosePopUp(BasePopUp _PopUp) { if (listCurrentPopUp.Contains(_PopUp)) { GameObject.Destroy(_PopUp.transform.parent.gameObject); //GameObject.Destroy (_PopUp.gameObject); listCurrentPopUp.Remove(_PopUp); } if (listCurrentPopUp.Count == 0) { canvas.gameObject.SetActive(false); } }
private void _Show <T>(BasePopUp basePopUp, T config) where T : PopUp.BasePopUpConfig { if (!(basePopUp is IInitializeWith <T> popUp)) { Debug.LogError($"El popUp {basePopUp} no se configura con un {typeof(T).FullName} necesita un {basePopUp.GetConfigType().FullName}"); } else { popUp.Initialize(config); } _Show(basePopUp); }
private void _Enqueue <T>(BasePopUp basePopUp, T config) where T : PopUp.BasePopUpConfig { IInitializeWith <T> popUp = basePopUp as IInitializeWith <T>; if (popUp == null) { Debug.LogError($"El popUp {basePopUp} no se configura con un {typeof(T).FullName} necesita un {basePopUp.GetConfigType().FullName}"); } else { popUp.Initialize(config); } _Enqueue(basePopUp); }
private void OnDestructionEffectEnd(BasePopUp popUpEffected) { popUpEffected.PopUpBeingDestroyedEvent -= OnDestructionEffectEnd; GamePlayer gamePlayerEffected = _game.GetGamePlayerBy(_effectedFactionType); if (gamePlayerEffected.SkillPouch.Skill == Skill.Miracle) { return; } // If Miracle then you can't be effected by destroy skill. BuildField[] buildFieldsOfTargetFaction = _game.Playfield.GetCornerByFaction(_effectedFactionType).GetAllBuildFieldsInUse(); if (buildFieldsOfTargetFaction.Length > 0) { buildFieldsOfTargetFaction[UnityEngine.Random.Range(0, buildFieldsOfTargetFaction.Length)].DestroyCurrentBuilding(); } DoneEffect(_currentEffectGamePlayer, _currentEffectOfSkill); }
public bool HasPopUp(BasePopUp popUp) { return(allActivePopUps.Contains(popUp)); }