public void Display_DisplayUpdateCalled()
        {
            //Setup
            var            unit    = CreateUnit();
            SensoryDisplay display = new SensoryDisplay();

            display.Taste.ResetTo(1, 5);
            unit.Setup(u => u.Display.UpdateFrom(display));
            var action = new DisplayAction(display);
            UnitActionCollection actions = new UnitActionCollection();

            actions.AddAction(unit.Object.Id, action);

            var state = CreateStateMock(CreateUnitList(unit));

            AddUnitToState(unit, state);

            var subject = new ActionExecutor(state.Object);

            //Act
            subject.Execute(actions);

            //Assert
            unit.Verify(unit => unit.Display.UpdateFrom(display));
        }
Пример #2
0
 public void PrepareForAction()
 {
     isMatchAdjacent = false;
     fallDistance    = 0;
     moveDistance    = new Vector2Int(0, 0);
     displayAction   = DisplayAction.none;
 }
Пример #3
0
    public void Play(DisplayAction action)
    {
        Type             targetType       = U3DDisplayAction.LogicDisplayActions[action.GetType()];
        U3DDisplayAction u3dDisplayAction = Pool.SP.Get(targetType) as U3DDisplayAction;

        displayActions.Add(u3dDisplayAction);
        u3dDisplayAction.Action = action;
        u3dDisplayAction.Execute(u3dCharacter, null, null);
    }
Пример #4
0
    public void PrepareForReuse()
    {
        animateDisplayAction = false;

        spriteId        = 0;
        isMatchAdjacent = false;
        fallDistance    = 0;
        moveDistance    = new Vector2Int(0, 0);
        displayAction   = DisplayAction.generateSprite;
    }
Пример #5
0
 public void Stop(DisplayAction action)
 {
     for (int i = 0; i < displayActions.Count; i++)
     {
         if (displayActions[i].Action == action)
         {
             displayActions[i].Stop();
             Pool.SP.Recycle(displayActions[i]);
             displayActions.RemoveAt(i);
             i--;
         }
     }
 }
Пример #6
0
        public IEnumerator CoPlayAttack(UnitDisplay target, DisplayAction attackDisplayAction, EventUnitAttackUnit e)
        {
            if (e.counterAttack)
            {
                yield return(new WaitForSeconds(1.3f));
            }

            facingRight = target.transform.position.x > transform.position.x;

            anim.AnimationName = attackDisplayAction.actionSource;
            yield return(new WaitForSeconds(attackDisplayAction.delaySourceToTarget));

            target.anim.AnimationName = attackDisplayAction.actionTarget;

            target.hpBar.UpdateHp(e.remainingHp);

            yield return(new WaitForSeconds(1.2f - attackDisplayAction.delaySourceToTarget));

            anim.AnimationName = target.anim.AnimationName = "action/idle";
        }
        public void Display_Reset_UnitResetDisplayCalled()
        {
            //Setup
            var unit = CreateUnit();

            var action = new DisplayAction();
            UnitActionCollection actions = new UnitActionCollection();

            actions.AddAction(unit.Object.Id, action);

            var state = CreateStateMock(CreateUnitList(unit));

            AddUnitToState(unit, state);

            var subject = new ActionExecutor(state.Object);

            //Act
            subject.Execute(actions);

            //Assert
            unit.Verify(unit => unit.ResetDisplay());
        }
Пример #8
0
 public void SetEmpty()
 {
     spriteId      = 0;
     displayAction = DisplayAction.generateSprite;
 }