private void HandleCrowdedFloor(int floorIndex, WaitPosition waitPosition) { if (floorIndex != _currentFloor.Index) { return; } if (_myWaitPosition != waitPosition) { return; } PerformUltimateSacrifice(); }
public override void Spawn(FloorData currentFloor, FloorData desiredFloor, ElevatorController elevator, Material material, GameManager gm) { gm.OnElevatorStoped += ElevatorStoped; gm.OnFloorChanged += ElevatorMoved; gm.OnFailedToGetPosition += HandleCrowdedFloor; _gameManager = gm; _elevator = elevator; _currentFloor = currentFloor; DesiredFloor = desiredFloor; MeshRenderer.material = material; _meshRendererRagDoll.material = material; _animator = GetComponent <UserAnimator>(); _rigidbody = GetComponent <Rigidbody>(); _uiColorChanger = FindObjectOfType <UICcolorsChanger>(); _myWaitPosition = currentFloor.WaitPos; _animator.Walk(); MoveToWaitPos(_myWaitPosition); }
public void ReturnCanUse(WaitPosition _pos) { _pos.transform.SetParent(hidePos); update_canUse.Add(_pos); }
public void MoveToWaitPos(WaitPosition destination) { _reachedWaitPos = false; _myWaitPosition = destination; _moveForward = true; }