コード例 #1
0
    public override void OnViewEnable(UiEntity entity)
    {
        base.OnViewEnable(entity);

        var gsContext = Contexts.sharedInstance.gameState;

        if (gsContext.score.value > gsContext.bestScore.value)
        {
            gsContext.ReplaceBestScore(gsContext.score.value);
            Prefs.SetIntPrefs(Prefs.BEST_SCORE, gsContext.bestScore.value);
        }

//        GameAnalytics.NewProgressionEvent(GAProgressionStatus.Fail, Application.version,
//            gsContext.currentLevel.value.ToString("00000"), gsContext.score.value);

        if (_score == null)
        {
            throw new NullReferenceException("Score text is missing!");
        }
        _score.text = gsContext.score.value.ToString();

        if (_bestScore == null)
        {
            throw new NullReferenceException("Best score text is missing!");
        }
        _bestScore.text = "Best: " + gsContext.bestScore.value.ToString();
    }
コード例 #2
0
    public void OnScoreDisplay(UiEntity entity, int value)
    {
        var newScale = (Scale.x + 0.1f >= 1.5f) ? Vector3.one * 1.5f : Scale + Vector3.one * 0.1f;

        rectTransform.DOScale(newScale, 0.2f).SetEase(Ease.OutBack);
        _text.text = "+" + (value * 10).ToString();
    }
コード例 #3
0
ファイル: HealthUiSystem.cs プロジェクト: Sk0ut/Earthborn
    public void Initialize()
    {
        var prefab = Resources.Load <GameObject>("UI/PlayerHealth");

        _ui = _contexts.ui.CreateEntity();
        _ui.AddUi(Object.Instantiate(prefab));
    }
コード例 #4
0
    private void Awake()
    {
        UiEntity resource = Contexts.sharedInstance.ui.CreateEntity();

        resource.AddTextView(GetComponent <Text>());
        resource.AddText("0");
        resource.AddPlayerResource(GameResource.GOLD);
    }
コード例 #5
0
    private void CreateDragSelectionImageEntity(GameObject go)
    {
        UiEntity entity = _context.CreateEntity();

        entity.isUi = true;
        entity.isDragSelectionImageUi = true;
        entity.AddView(go);
        go.Link(entity, _context);
    }
コード例 #6
0
    private void CreateMainUiRootEntity(GameObject go)
    {
        UiEntity entity = _context.CreateEntity();

        entity.isMainUi     = true;
        entity.isViewRoot   = true;
        entity.isMainUiRoot = true;
        entity.AddView(go);
        go.Link(entity, _context);
    }
コード例 #7
0
    private void AnimateExit(UiEntity notification)
    {
        var go = notification.ui.value;

        var text = go.GetComponent <TextMeshProUGUI>();

        DOTween.To(() => text.alpha, a => text.alpha = a, 0, 1f)
        .SetEase(Ease.InExpo)
        .OnComplete(() => notification.isDestroyed = true);
    }
コード例 #8
0
 public virtual void OnInteractable(UiEntity entity)
 {
     for (int i = 0; i < _buttons.Length; i++)
     {
         if (_buttons[i] != null)
         {
             _buttons[i].interactable = _buttonsInteracteBuffer[i];
         }
     }
 }
コード例 #9
0
ファイル: PerfectFXView.cs プロジェクト: Apelmon/FitPose
    public void OnViewEnableRemoved(UiEntity entity)
    {
        var delay = 0.3f;

        _text.DOFade(0.0f, 0.5f).SetEase(Ease.OutCirc);
        rectTransform.DOScale(Vector3.one * 1.5f, 0.5f).SetEase(Ease.InSine);
        rectTransform.DOAnchorPosY(rectTransform.anchoredPosition.y + 20, 0.5f).SetEase(Ease.InSine).OnComplete(() => {
            LinkedEntity.isCurrentPerfectFX = false;
            LinkedEntity.isDestroyed        = true;
        });
    }
コード例 #10
0
 public ItemPickupTooltipSystem(Contexts contexts)
 {
     _contexts = contexts;
     _pickable = contexts.game.GetGroup(GameMatcher.AllOf(
             GameMatcher.Item,
             GameMatcher.Position)
         .NoneOf(GameMatcher.StorageSource));
     _players = contexts.game.GetGroup(
         GameMatcher.AllOf(GameMatcher.Actor, GameMatcher.Player, GameMatcher.Position));
     _tooltip = contexts.ui.CreateEntity();
 }
コード例 #11
0
ファイル: PerfectFXView.cs プロジェクト: Apelmon/FitPose
    public void OnViewEnable(UiEntity entity)
    {
        var delay = 0.2f;

        _text.DOFade(0.0f, 0.3f).SetEase(Ease.OutCirc).From();
        rectTransform.DOScale(Vector3.one * 0.5f, delay).SetEase(Ease.OutBack).From();
        rectTransform.DOAnchorPosY(rectTransform.anchoredPosition.y + 50, delay).SetEase(Ease.OutBack).OnComplete(() => {
            rectTransform.DOAnchorPosY(rectTransform.anchoredPosition.y + 40, 0.5f).SetEase(Ease.Linear).OnComplete(
                () => {
                LinkedEntity.isViewEnable = false;
            });
        });
    }
コード例 #12
0
    public void OnViewEnableRemoved(UiEntity entity)
    {
        LinkedEntity.isMainScoreDisplay = false;

        var stateContext = Contexts.sharedInstance.gameState;

        stateContext.ReplaceScore(stateContext.score.value + LinkedEntity.scoreDisplay.value * 10);

        _text.DOFade(0.0f, 0.3f).SetEase(Ease.OutCirc);
        rectTransform.DOScale(Vector3.one * 0.5f, 0.3f).SetEase(Ease.InSine);
        rectTransform.DOAnchorPosY(rectTransform.anchoredPosition.y + 100, 0.3f).SetEase(Ease.InSine).OnComplete(() => {
            LinkedEntity.isDestroyed = true;
        });
    }
コード例 #13
0
        public void Initialize()
        {
            CreateMouseEventEntity();

            //Controls
            HotkeysConfig hotkeysConfig = _contexts.meta.gameConfig.value.hotkeys;

            FieldInfo[] hotkeyFields = hotkeysConfig.GetType().GetFields().Where(f => f.FieldType == typeof(Hotkey)).ToArray();
            _hotkeys = new Hotkey[hotkeyFields.Length];

            for (int i = 0; i < hotkeyFields.Length; i++)
            {
                _hotkeys[i] = (Hotkey)hotkeyFields[i].GetValue(hotkeysConfig);
            }

            //Main Ui
            _mainUiEntity = _contexts.ui.mainUiRootEntity;
        }
コード例 #14
0
    private void AnimateEntry(UiEntity notification, GameEntity item)
    {
        var go = notification.ui.value;

        var rect = go.GetComponent <RectTransform>();
        var text = go.GetComponent <TextMeshProUGUI>();

        text.SetText(string.Format("Picked up <#8fs>{0}</color>", item.itemStats.name));

        rect.anchoredPosition = new Vector2(rect.anchoredPosition.x, (_notifications.count - 1) * 30);
        rect.DOAnchorPosY(_notifications.count * 30, 0.5f)
        .SetEase(Ease.OutBack);

        text.alpha = 0;
        var alphaTween = DOTween.To(() => text.alpha, a => text.alpha = a, 1, 0.5f);

        DOTween.Sequence().PrependInterval(4f).OnComplete(() => AnimateExit(notification)).Play();
    }
コード例 #15
0
        protected override void Execute(List <InputEntity> entities)
        {
            DragSelectionDataComponent dragSelectionDataComponent = _context.dragSelectionDataEntity.dragSelectionData;
            UiEntity dragSelectionImageEntity = _contexts.ui.dragSelectionImageUiEntity;

            RectTransform dragSelectionImageTransform = (RectTransform)dragSelectionImageEntity.view.gameObject.transform;

            Vector2 selectionCenter = (dragSelectionDataComponent.mouseDownScreenPoint + dragSelectionDataComponent.mouseHeldScreenPoint) / 2f;
            float   selectionWidth  = Mathf.Abs(dragSelectionDataComponent.mouseHeldScreenPoint.x - dragSelectionDataComponent.mouseDownScreenPoint.x);
            float   selectionHeight = Mathf.Abs(dragSelectionDataComponent.mouseHeldScreenPoint.y - dragSelectionDataComponent.mouseDownScreenPoint.y);

            dragSelectionImageTransform.gameObject.SetActive(true);
            dragSelectionImageTransform.position  = selectionCenter;
            dragSelectionImageTransform.sizeDelta = new Vector2(selectionWidth, selectionHeight);

            if (dragSelectionDataComponent.mouseUpScreenPoint != Vector2.zero)
            {
                dragSelectionImageTransform.gameObject.SetActive(false);
            }
        }
コード例 #16
0
    protected override void Execute(List <InputEntity> entities)
    {
        foreach (var entity in entities)
        {
            if (entity.hasInputSelectionFrameStart && entity.hasInputSelectionFrameEnd)
            {
                Vector3 sPos = entity.inputSelectionFrameStart.position;
                Vector3 ePos = entity.inputSelectionFrameEnd.position;

                Rect builtRect = RectUtils.CreateFromPoints(sPos, ePos);

                UiEntity rectEntity = uiContext.selectionUiEntity;
                if (rectEntity == null)
                {
                    rectEntity = uiContext.CreateEntity();
                    rectEntity.isSelectionUi = true;
                    rectEntity.AddAsset("Prefabs/SelectionRect");
                }
                rectEntity.ReplaceRect(builtRect);
            }
        }
    }
コード例 #17
0
 public void OnViewEnable(UiEntity entity)
 {
     Enabled = true;
 }
コード例 #18
0
 public void OnViewEnable(UiEntity entity)
 {
     _text.DOFade(0.0f, 0.3f).SetEase(Ease.OutCirc).From();
     rectTransform.DOScale(Vector3.one * 0.5f, 0.3f).SetEase(Ease.OutBack).From();
     rectTransform.DOAnchorPosY(rectTransform.anchoredPosition.y + 50, 0.3f).SetEase(Ease.OutBack);
 }
コード例 #19
0
 public void OnViewEnableRemoved(UiEntity entity)
 {
     Enabled = false;
 }
コード例 #20
0
    public virtual void OnViewEnableRemoved(UiEntity entity)
    {
        Enabled = false;
#if UNITY_2018_3
#endif
    }
コード例 #21
0
    public virtual void OnViewEnable(UiEntity entity)
    {
        Enabled = true;
#if UNITY_2018_3
#endif
    }
コード例 #22
0
        public override void SetUpScene()
        {
            base.SetUpScene();

            _uiEntity = _contexts.ui.CreateEntity();
        }