public void Execute() { foreach (var entity in _entities.GetEntities()) { if (!entity.hasTranslateToPosition) { continue; } var dir = GameExtension.GetCanvasPosition(entity.gridPosition.value) - entity.canvasPosition.value; var newPosition = entity.canvasPosition.value + dir.normalized * entity.translateToPosition.startSpeed * Time.deltaTime; entity.ReplaceCanvasPosition(newPosition); var dist = dir.magnitude; if (dist <= _contexts.game.sharedVal.value.minDistance) { //complete entity.ReplaceCanvasPosition(GameExtension.GetCanvasPosition(entity.gridPosition.value)); entity.RemoveTranslateToPosition(); entity.isMoveComplete = true; entity.isOutOfRange = false; entity.isInterpolationComplete = true; } } }
/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { using (GameExtension game = new GameExtension()) { game.Run(); } }
public void Play(ulong amount, Vector3 position, bool isCircle) { var finalDuration = isCircle ? duration * 1.5f : duration; var durationSection = finalDuration / 4; transform.localScale = startScale; rectTransform.anchoredPosition = position; canvasGroup.alpha = 0f; goldTxt.text = GameExtension.ConvertGold(amount); var targetScale = startScale + scaleRange; transform.DOScale(targetScale, finalDuration).SetEase(ease).OnComplete(Remove); transform.DOShakeScale(finalDuration, shakeStrength); canvasGroup.DOFade(1, durationSection); canvasGroup.DOFade(0, durationSection).SetDelay(durationSection * 3); if (targetPos != Vector3.zero) { rectTransform.DOAnchorPos(targetPos, finalDuration).SetEase(ease); } else { var targetYPos = transform.position.y + upAmount; rectTransform.DOAnchorPosY(targetYPos, finalDuration).SetEase(ease); } }
protected override void OnDeactivated(DeactivationEventArgs eventArgs) { if (eventArgs.Closed) { _gameExtension.GameLogicUpdating -= OnGameLogicUpdating; _gameExtension = null; Document.PropertyChanged -= OnDocumentPropertyChanged; Reset(true, true); } base.OnDeactivated(eventArgs); }
protected override void OnActivated(ActivationEventArgs eventArgs) { if (eventArgs.Opened) { _gameExtension = Document.Editor.Extensions.OfType <GameExtension>().FirstOrDefault().ThrowIfMissing(); _gameExtension.GameLogicUpdating += OnGameLogicUpdating; Document.PropertyChanged += OnDocumentPropertyChanged; Initialize(); } base.OnActivated(eventArgs); }
void Start() { this._contexts = Contexts.sharedInstance; this._contexts.game.SetSharedVal(this.sharedValues); this._contexts.game.SetPayLines(this.paylines); this._contexts.game.SetTesting(testing); SetPayLines(); this._contexts.game.SetPayLinesTries(this._trie); GameExtension.SetContexts(this._contexts); this._systems = CreateSystems(); this._systems.Initialize(); LoadPayLines(); }
public void Initialize() { var dimension = this._contexts.game.sharedVal.value.dimension; for (var y = 0; y < dimension.y; y++) { for (var x = 0; x < dimension.x; x++) { GameExtension.CreateEntity( this._contexts, new Dimension(x, y), y != 0 ); } } }
public void Spin(float delay, float acceleration, float speed) { if (_spinSettings.endSpin == SpinType.All) { _delayAmount = 0f; } else { _delayAmount = _index * delay; } _acceleration = acceleration <= 0 ? GameExtension.GetRandomValue(_spinSettings.acceleration) : acceleration; _timeCounter = 0f; _currentSpeed = speed <= 0f ? GameExtension.GetRandomValue(_spinSettings.startSpeed) : speed; _yOffset = 0f; _increaseSpeed = true; _inClamp = false; _inSpin = true; OnSpinStart?.Invoke(this._index); }
public void Spin() { if (!_inSpin) { horizontalLayout.enabled = false; _inSpin = true; _acceleration = settings.spinSettings.useSameAcceleration ? GameExtension.GetRandomValue(settings.spinSettings.acceleration) : 0f; _speed = settings.spinSettings.useSameSpeed ? GameExtension.GetRandomValue(settings.spinSettings.startSpeed) : 0f; _delayAmongReel = GameExtension.GetRandomValue(settings.spinSettings.delayAmongReels); if (settings.spinSettings.startSpin == SpinType.All) { foreach (var reel in reels) { reel.ResetShape(); reel.Spin(_delayAmongReel, _acceleration, _speed); } } else if (settings.spinSettings.startSpin == SpinType.Single) { //start spin the first reel reels[0].ResetShape(); reels[0].Spin(_delayAmongReel, _acceleration, _speed); //init delay variables _timeCounter = 0; _reelIndex = 1; _isSingleSpin = true; } } UIManager.Instance.UpdateSpinBtn(_inSpin); }
public void OnClickSpin() { GameExtension.OnClickSpinButton(); }
public void OnClickStopSpin() { GameExtension.OnStopSpin(); }
private void UpdateCircleCost() { addNewCircleBtn.GetComponentInChildren <Text>().text = GameExtension.ConvertGold(_parent.GetNextCircleCost); }
private void ConvertGold(ulong amount) { print(GameExtension.ConvertGold(amount)); }
private void SetGold(ulong value) { goldTxt.text = GameExtension.ConvertGold(value); }
public void UpdateUpgradeCircleCost() { upgradeCircleBtn.GetComponentInChildren <Text>().text = GameExtension.ConvertGold(_parent.GetUpgradeCircleCost); }
public void UpdateGold(uint amount) { goldTxt.text = GameExtension.ConvertGold(amount); }
private void UpdateUpgradeCost() { upgradeLevelBtn.GetComponentInChildren <Text>().text = GameExtension.ConvertGold(_parent.GetUpgradeCost()); }