public void Reset() { // It's possible that this is called before awake InitializeCollectionsIfNecessary(); PlayButton.gameObject.SetActive(false); LobbyName.text = ""; // Cleanup teams foreach (var team in Teams) { TeamsPool.Store(team.Value); team.Value.Reset(); } Teams.Clear(); // Cleanup users foreach (var user in Users) { UsersPool.Store(user.Value); user.Value.Reset(); } Users.Clear(); // Clear the chat if (Chat != null) { Chat.Clear(); } }
public void CancelInternal(Task task) { if (!_active.Contains(task)) { return; } _active.Remove(task); _taskPool.Store(task); }
public void RemoveObserver(int entity, int messageType, System.Action handler) { if (!_entityEvents.TryGetValue(entity, out var hub)) { return; } hub.RemoveObserver(messageType, handler); if (hub.Count == 0) { _entityEvents.Remove(entity); _eventPool.Store(hub); } }
public T Post <T>(T context) where T : struct, IRuleEvent { _eventLog.Add(context); var list = _listPool.New(); _globalHandlers.TryGetValue(typeof(T), out var globalList); if (globalList != null) { list.AddRange(globalList); } if (context.Origin.RuleEvents != null) { list.AddRange(context.Origin.RuleEvents.Handlers); } if (context.Target != context.Origin && context.Target.RuleEvents != null) { list.AddRange(context.Target.RuleEvents.Handlers); } if (context.Action != null && context.Action.RuleEvents != null) { list.AddRange(context.Action.RuleEvents.Handlers); } for (int i = 0; i < list.Count; i++) { if (list[i] is IRuleEventStart <T> startHandler) { if (!startHandler.CanRuleEventStart(ref context)) { _listPool.Store(list); return(context); } } } for (int i = 0; i < list.Count; i++) { if (list[i] is IRuleEventRun <T> handler) { handler.RuleEventRun(ref context); } } for (int i = 0; i < list.Count; i++) { if (list[i] is IRuleEventEnded <T> endHandler) { endHandler.RuleEventEnded(ref context); } } _listPool.Store(list); return(context); }
public bool Remove(Entity entity) { if (!Contains(entity)) { return(false); } _array.Remove(entity); if (_entityLookup.TryGetValue(entity, out var cached)) { _cachePool.Store(cached); _entityLookup.Remove(entity); } ProcessEntityRemoval(entity); OnRefreshItemList.SafeInvoke(); return(true); }
private IEnumerator SetTargetText() { var tr = _floating.transform; tr.position = _start; _floating._text.text = _text; _floating._text.color = _color ?? _floating._defaultColor; _floating._moveTween.Restart(tr.position, _end, _duration); _floating._colorTween.Restart(0, 1, _duration); _timeoutTimer.RestartTimer(); while (_floating._moveTween.Active) { _floating._text.color = Color.Lerp(_floating._defaultColor, _floating._endColor, _floating._colorTween.Get()); tr.position = _floating._moveTween.Get(); tr.LookAt(tr.position + Player.Cam.transform.rotation * Vector3.forward, PlayerCamera.Tr.rotation * Vector3.up); //_text.fontSize = Vector3.Distance(transform.position, Player.Cam.transform.position) * 0.35f; if (!_timeoutTimer.IsActive) { break; } yield return(null); } ItemPool.Despawn(_floating.gameObject); _floating = null; _color = null; SourcePrefab = null; NewPrefab = null; _pool.Store(this); }
private void ClearSavedMuscles() { for (int i = 0; i < _currentMuscles.Count; i++) { _musclePool.Store(_currentMuscles[i]); } _currentMuscles.Clear(); }
public bool Remove(Entity entity) { if (!Contains(entity)) { return(false); } _array.Remove(entity); if (_entityLookup.TryGetValue(entity, out var cached)) { _cachePool.Store(cached); _entityLookup.Remove(entity); } entity.Get <InventoryItem>()?.SetContainer(null); entity.ParentId = -1; var msg = new ContainerStatusChanged(null, entity); entity.Post(msg); this.GetEntity().Post(msg); return(true); }
public void ClearAll() { _threadLock.EnterWriteLock(); foreach (var cell in _cells) { _cellPool.Store(cell.Value); } _cellKeys.Clear(); _cells.Clear(); _oldPlayerOccupied.Clear(); _oldPlayerWalkable.Clear(); CellsCount = 0; _threadLock.ExitWriteLock(); }
public override void OnComplete() { var itemDragDrop = NewPrefab.GetComponent <UIItemDragDrop>(); itemDragDrop.RectTransform.SetParent(_inventory._grid); itemDragDrop.Index = _index; itemDragDrop.SetItem(_item); _inventory._slots[_index] = itemDragDrop; _item = null; _inventory = null; SourcePrefab = null; NewPrefab = null; _pool.Store(this); }
public static void Remove(ITurnBasedUnit unit) { if (_queueActivate.Contains(unit)) { _queueActivate.Remove(unit); } else { var node = GetNode(unit); if (node != null) { _active.Remove(node); _nodePool.Store(node); } } }
//public void AddAnimation1(SpriteAnimation animation, SpriteRenderer renderer, bool unscaled) { // var node = _pool1.New(); // node.Setup(renderer, animation, unscaled); // _current1.Add(node); //} public void OnSystemUpdate(float dt, float unscaledDt) { var time = TimeManager.TimeUnscaled; for (int i = _current.Count - 1; i >= 0; i--) { _current[i].UpdateSpriteFrame(time); if (_current[i].Finished) { _pool.Store(_current[i]); _current.RemoveAt(i); } } //for (int i = _current1.Count - 1; i >= 0; i--) { // _current1[i].UpdateMesh(); // if (_current1[i].Finished) { // _pool1.Store(_current1[i]); // _current1.RemoveAt(i); // } //} }
protected virtual void OnLoadingFinished(EventsChannel.Promise promise) { LoadingUiItem item; _visibleLoadingItems.TryGetValue(promise.EventId, out item); if (item == null) { return; } // Remove the item _visibleLoadingItems.Remove(promise.EventId); _pool.Store(item); // if everything is done loading, we can disable the loading view if (_visibleLoadingItems.Count == 0) { gameObject.SetActive(false); } }
private IEnumerator SetTargetText() { var tr = _floating.transform; tr.position = _start; _floating._text.text = _text; _floating._moveTween.Restart(tr.position, _end, _duration); _floating._colorTween.Restart(0, 1, _duration); _timeoutTimer.RestartTimer(); while (_floating._moveTween.Active) { _floating._text.color = Color.Lerp(_startColor, _floating._endColor, _floating._colorTween.Get()); tr.position = _floating._moveTween.Get(); yield return(null); } ItemPool.Despawn(_floating.gameObject); _floating = null; _parent = null; _icon = null; SourcePrefab = null; NewPrefab = null; _pool.Store(this); }
public override void Pool() { _actionPool.Store(this); }
public static void Store(MenuAction t1) { _actionPool.Store(t1); }