public void RemoveItem(IJumper jumper) { if (_flyers.Contains(jumper)) { _flyers.Remove(jumper); } }
private void OnCreatedHero(IHero hero) { _jumper = (IJumper)hero; _jumper.OnJumped += (jumperJumped) => { _jumpSystem.AddItem(_jumper); }; }
private void Move(IJumper jumper) { var tr = jumper.transform; var pos = tr.position; var direction = tr.forward; var eulerAngles = new Vector3(-_angleFly, tr.eulerAngles.y, 0); direction = Quaternion.Euler(eulerAngles) * Vector3.forward; var toPos = pos + direction * _moveSpeed; var step = _moveSpeed * Time.deltaTime; var nextPosition = Vector3.MoveTowards(pos, toPos, step); var maxY = _area.position.y + _area.lossyScale.y / 2; if (nextPosition.y > maxY) { nextPosition.y = maxY; } tr.position = nextPosition; var localPosition = tr.localPosition; localPosition.z = 0; tr.localPosition = localPosition; }
/// <summary> /// We get the player from its tag. /// </summary> void Start() { MovingController = GetComponent <AdvancedMovementController>(); JumpingController = GetComponent <AdvancedMovementController>(); PlayerMovementController = GetComponent <AdvancedMovementController>(); Transmitter = GetComponent <Transmitter>(); ActionBank = GetComponent <ActionBank>(); }
public void AddItem(IJumper jumper) { if (!_flyers.Contains(jumper)) { _flyers.Add(jumper); jumper.OnStopedJump += StopedJump; jumper.OnDestroyed += () => { _flyers.Remove(jumper); }; } }
private void Awake() { Application.quitting += HandleQuit; //NOTE: Silly me, forgot that default unity inspector apparently doesn't show //controls for interfaces - just hacking this together automagically. Gravity = GetComponent <IGravity>(); Jumper = GetComponent <IJumper>(); Mover = GetComponent <IMover>(); Aimer = GetComponent <IAimer>(); }
private void OnEnable() { Grounder = new Grounder(this); _mover = new NewMover(this); _jumper = new NewJumper(this); _playerLocker = new PlayerLocker(this); _glider = new Glider(this); _attacker = new BasicAttacker(this); Rigidbody.drag = PlayerParameters.BaseDrag; _canDash = true; Grounder.Tick(); }
static void Main(string[] args) { JumpFactory jumpFactory = new JumpFactory(); IJumper car = jumpFactory.getJump("car"); car.Jump(); IJumper horse = jumpFactory.getJump("horse"); horse.Jump(); IJumper parachuter = jumpFactory.getJump("parachuter"); parachuter.Jump(); Console.ReadLine(); }
private void Awake() { AttackerTimer.SetTimer(_playerParameters.TimeBetweenAttacks); _waitForSecondsDash = new WaitForSeconds(_playerParameters.TimeBetweenDashes); Grounder = new Grounder(this); LifeSystem = new LifeSystem(this); _mover = new NewMover(this); _jumper = new Jumper(this); _playerLocker = new PlayerLocker(this); _glider = new Glider(this); _attacker = new BasicAttacker(this); _wallJumper = new WallJumper(this); Rigidbody = this.GetComponent <Rigidbody2D>(); // _attackerList = new List<IAttacker>(); // _attackerList.Add(new BasicAttacker(this)); // _attackerList.Add(new StrongAttacker(this)); }
private void StopedJump(IJumper jumper) { RemoveItem(jumper); jumper.OnStopedJump -= StopedJump; }
public IJumper AddJumper(IJumper jumper) { Snakes.Add(jumper); return(jumper); }