Пример #1
0
    void Update()
    {
        if (currentState != Enemy3State.Activated || gm.currentState != GameState.Running)
        {
            return;
        }
        var pos = transform.position;

        if (otherState == OtherState.Dropping)
        {
            if (pos.y >= targetY)
            {
                targetPos          = pos;
                targetPos.y        = pos.y - dropSpeed * Time.deltaTime;
                transform.position = targetPos;
            }
            else
            {
                otherState         = OtherState.Landed;
                transform.position = new Vector3(transform.position.x, targetY, 0);
            }
        }
        else if (otherState == OtherState.Landed)
        {
            if (transform.position.x >= maxX)
            {
                goRight = false;
            }
            else if (transform.position.x <= minX)
            {
                goRight = true;
            }
            hDir        = goRight ? 1 : -1;
            targetPos   = pos;
            targetPos.x = hDir * hSpeed * Time.deltaTime;
            transform.Translate(hDir * hSpeed * Time.deltaTime, 0, 0);
            if (hDir < 0)
            {
                GetComponent <SpriteRenderer>().flipX = false;
            }
            if (hDir > 0)
            {
                GetComponent <SpriteRenderer>().flipX = true;
            }
        }
    }
Пример #2
0
 public void UpdateFrom(OtherState state)
 {
     if (_someOtherNumber != state.SomeOtherNumber)
     {
         _someOtherNumber = state.SomeOtherNumber;
         OnPropertyChanged(nameof(SomeOtherNumber));
     }
     if (_someOtherString != state.SomeOtherString)
     {
         _someOtherString = state.SomeOtherString;
         OnPropertyChanged(nameof(SomeOtherString));
     }
     if (_someList != state.SomeList)
     {
         _someList = state.SomeList;
         UpdateObservableCollection(_someList);
     }
 }
Пример #3
0
 public void Drop()
 {
     otherState = OtherState.Dropping;
 }