private float getCurTime(ISyncScenarioItem item) { float curTime = 0.0f; if (item is MoveTween) { MoveTween tSh = (item as MoveTween); if (tSh != null) { curTime = tSh.CurTime; } } if (item is AlphaTween) { AlphaTween tF = (item as AlphaTween); if (tF != null) { curTime = tF.CurTime; } } if (item is ScaleTween) { ScaleTween tF = (item as ScaleTween); if (tF != null) { curTime = tF.CurTime; } } return(curTime); }
private void Update() { if (currentItem.IsNullOrComplete() && Input.GetKeyUp(KeyCode.Space)) { currentItem = GetExplosionItem(time).PlayRegisterAndReturnSelf(); } }
public override void StartTurn(UnitController unit) { base.StartTurn(unit); _selectionAnimation?.Stop(); _selectionAnimation = GetSelectionAnimation().PlayAndReturnSelf(); UIDragController.Instance.Activate(unit.Position); UIDragController.Instance.Swipe += OnSwipe; }
public void OnHealthChanged(CharacterStat stat) { if (_prevHealthValue > stat.CurrentValue) { _damageTakenItem?.Stop(); _damageTakenItem = DamageEffect.GetExplosionItem(0.3f).PlayRegisterAndReturnSelf(); } _prevHealthValue = stat.CurrentValue; }
public void Play() { started = true; scenarioItem = scenarioItemProvider(); if (null != scenarioItem) { scenarioItem.Play(); } }
public override ISyncScenarioItem Apply(CastContext castContext) { if (!CouldCast || !activeAbilityConfig.CouldApply(castContext, Level)) { return(null); } var scenarioItem = base.Apply(castContext); CurrentCooldown = activeAbilityConfig.Cooldown.GetValue(Level); cooldownScenario = new IterateActionScenarioItem((leftTime) => { CurrentCooldown = leftTime; }, CurrentCooldown).PlayAndReturnSelf(); return(scenarioItem); }
public override void StartTurn(UnitController unit) { base.StartTurn(unit); _turnScenarioItem = new SyncScenario( new CompleteScenarioItemConditionWaiter( CurrentUnit.CastAbility(new CastContext { Caster = unit }), true), new ActionScenarioItem(() => Game.Instance.NextTurn()) ).PlayAndReturnSelf(); }
public void SetValue(float value, bool instant = false) { _currentValue = Mathf.Clamp01(value); if (instant) { UpdateView(); } else { _scenario?.Stop(); _scenario = new SizeTween(_foreground.rectTransform, GetEndSize(), 0.3f, EaseType.Linear); _scenario.Play(); } }
private SyncScenario GetSelectionAnimation() { return(new SyncScenario( new List <ISyncScenarioItem> { new ScaleTween(CurrentUnit.Selection, Vector3.one), new ScaleTween(CurrentUnit.Selection, Vector3.one * 1.3f, 0.3f, EaseType.BounceInOut), new ScaleTween(CurrentUnit.Selection, Vector3.one, 0.2f, EaseType.QuadIn), new TimeWaiterScenarioItem(0.4f) }, (s, interrupted) => { new ScaleTween(CurrentUnit.Selection, Vector3.one * 0.5f).Play(); if (!interrupted) { _selectionAnimation = GetSelectionAnimation().PlayAndReturnSelf(); } })); }
public ISyncScenarioItem OpenScreen(ScreenType screenTypeType, float duration = 0.3f) { if (TopScreen != null && TopScreen.ScreenType == screenTypeType || _currentTransition != null) { return(null); } var screenToOpen = _screensByType[screenTypeType]; _currentTransition?.Stop(); var transitions = new List <ISyncScenarioItem>(); if (!screenToOpen.IsPopup && TopScreen != null) { transitions.Add(TopScreen.GetHideTransition(duration)); } transitions.Add(screenToOpen.GetShowTransition(duration)); _currentTransition = new SyncScenario( new List <ISyncScenarioItem>() { new CompositeItem(transitions) }, (scenario, result) => { TopScreen?.UnFocus(); if (!screenToOpen.IsPopup && TopScreen != null) { _openScreens.Remove(TopScreen); } _openScreens.Add(screenToOpen); screenToOpen.Focus(); _currentTransition = null; }); return(_currentTransition.PlayAndReturnSelf()); }
public virtual void Play() { complete = false; isPaused = false; if (syncScenarioItem == null) { if (syncScenarioItemGetter == null) { Stop(); return; } syncScenarioItem = syncScenarioItemGetter(); } if (!isStarted) { syncScenarioItem.Play(); } if (playCoroutine == null) { playCoroutine = waitCoroutine(); } SyncCode.Instance.StartCoroutine(playCoroutine); }
public static bool IsNullOrComplete(this ISyncScenarioItem item) { return(item == null || item.IsComplete()); }
public LazyScenarioItem(Func <ISyncScenarioItem> scenarioItemProvider) { this.started = false; this.scenarioItemProvider = scenarioItemProvider; this.scenarioItem = null; }
public virtual ISyncScenarioItem Attach(CastContext castContext) { attachScenario?.Stop(); attachScenario = Config.Attach(castContext, Level); return(attachScenario); }
public CompleteScenarioItemConditionWaiter(ISyncScenarioItem syncScenarioItem, bool isStarted = false) { this.syncScenarioItem = syncScenarioItem; this.isStarted = isStarted; }
public static ISyncScenarioItem PlayRegisterAndReturnSelf(this ISyncScenarioItem item) { item.Play(); MapController.Instance.AddScenario(item); return(item); }
public virtual ISyncScenarioItem Apply(CastContext castContext) { castScenario?.Stop(); castScenario = Config.Apply(castContext, Level); return(castScenario); }
public void AddValue(Vector3 endPosition, float duration, EaseType easing, ISyncScenarioItem tween) { positions.Add(endPosition); durations.Add(duration); tweens.Add(tween); }
public void AddScenario(ISyncScenarioItem scenarioItem) { _allScenarios.Add(scenarioItem); }
public static ISyncScenarioItem PlayAndReturnSelf(this ISyncScenarioItem item) { item.Play(); return(item); }