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; } } }
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); } }
public void Drop() { otherState = OtherState.Dropping; }