public override void Enable() { base.Enable(); var context = Behaiour.Context; context.SetValue(ActionConsts.Unit, this); Behaiour.SelectState(BehaiourState.Create); _particle?.Clear(); }
public new void Construct(IScoreManager scoreManager) { _particle = GetComponentInChildren <ParticleSystem>(); var createState = new Sequence( new CheckCrystal(), new CustomAction(c => { _particle?.Play(); scoreManager.AddScore(1); }), new WaitForSecondAction(_particle != null ? _particle.main.duration : 0), new DestroyEntity() ); Behaiour.Register(BehaiourState.Create, createState); }
public new void Construct(GameField field, FieldElement.Factory elementFactory) { _field = field; _animator = GetComponent <Animator>(); var createState = new Sequence( new CheckUnitLeave(), new CreateNewTile(field), new WaitForSecondAction(0.15f), new CustomAction(c => { _animator?.SetBool("Destroy", true); }), new WaitForSecondAction(1.0f), new DestroyTile(field) ); Behaiour.Register(BehaiourState.Create, createState); }
public void Construct(IInputManager input, StartWindow.Factory startWindow, IScoreManager scoreManager) { var createState = new Sequence( new ParallelSelector( new MoveUnit(), new SwitchMoveDirection(input), new CheckUnitInField() ), new DropBall(), new CustomAction(c => { scoreManager.Finish(); startWindow.Create(); }), new DestroyEntity() ); Behaiour.Register(BehaiourState.Create, createState); }