public ViewModelMainWindow() { m_model = new MainModel(); Floors = new ObservableCollection <FloorData>(); CurrentFloor = new FloorData(); Elevators = new ObservableCollection <ElevatorData>(); CurrentElevator = new ElevatorData(); EventsLog = new ObservableCollection <string>(); // Set starting IDs CurrentFloor.ID = 1; CurrentElevator.ID = 1; IsBuilded = false; IsShowEvents = true; AddFloorCommand = new RelayCommand(arg => AddFloorHandle()); DeleteFloorCommand = new RelayCommand(arg => DeleteFloorHandle()); ClearFloorsCommand = new RelayCommand(arg => ClearFloorsHandle()); AddElevatorCommand = new RelayCommand(arg => AddElevatorHandle()); DeleteElevatorCommand = new RelayCommand(arg => DeleteElevatorHandle()); ClearElevatorsCommand = new RelayCommand(arg => ClearElevatorsHandle()); BuildCommand = new RelayCommand(arg => BuildHandle()); ResetCommand = new RelayCommand(arg => ResetHandle()); RunCommand = new RelayCommand(arg => RunHandle()); }
public ElevatorData DeepCopy() { ElevatorData other = (ElevatorData)this.MemberwiseClone(); other.curFloorLevel = curFloorLevel; return(other); }
public void Load() { if (File.Exists(Application.persistentDataPath + "/playerSave.dat")) { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/playerSave.dat", FileMode.Open); PlayerData data = (PlayerData)bf.Deserialize(file); file.Close(); ElevatorData = data.ElevatorData; ViData = data.ViData; WillData = data.WillData; YolandaData = data.YolandaData; EliseData = data.EliseData; DPMainData = data.DPMainData; playerName = data.playerName; maxHealth = data.maxHealth; health = data.health; healFactor = data.healFactor; money = data.money; numMasks = data.numMasks; playedTime = data.playedTime; items = data.items; lens = data.lens; masks = data.masks; room = data.room; zone = data.zone; saveRoomName = data.saveRoomName; lantern = data.lantern; } }
public void SetData(ElevatorData ed) { playerID = ed.ownerID; floor = ed.floor; price = ed.price; GetComponent <SpriteRenderer>().color = playerColors[playerID]; mineType = ed.mineType; }
public void Create(int playerID) { GameData.Instance.playerOreSupplies[playerID][TileType.Coal] -= 20; Mine m = GameData.Instance.playerMineLocations[playerID]; int floor = GameData.Instance.playerFloors[playerID][m]; ElevatorData ed = new ElevatorData(m, floor, playerID); GameData.Instance.playerElevators[playerID].Add(ed); }
private void Awake() { curDestFloor = GameConfig.kFloorInvalid; curElevatorDirection = Direction.Down; floorData = new Dictionary <uint, FloorData>(); for (uint i = 0; i < GameConfig.NumFloor; i++) { FloorData data = new FloorData(i + 1); floorData[data.level] = data; } elevatorData = new ElevatorData(); listFloorsRequesting = new HashSet <uint>(); }
public void OnGetElevatorUpdateResponse(UpdateElevatorResponse response) { // Stop running coroutine if (coroutineMovingElevator != null) { StopCoroutine(coroutineMovingElevator); } if (elevatorData != null) // If null, it means haven't got elevatorData before { prevElevatorData = elevatorData; elevatorData = response.updatedElevatorData; if (elevatorData.status == ElevatorStatus.Opening) { doorController.Open(OnDoorOpened); } if (elevatorData.status == ElevatorStatus.MovingDown || elevatorData.status == ElevatorStatus.MovingUp) { // Run coroutine coroutineMovingElevator = StartCoroutine(RoutineMoving(response.destinationY)); } if (elevatorData.status == ElevatorStatus.Arrived) { SendUpdateElevatorStatusRequest(ElevatorStatus.Opening); } if (elevatorData.status == ElevatorStatus.Closing) { doorController.Close(OnDoorClosed); } UpdateUI(); } else { Logger.Log(Logger.kTagError, "Elevator Haven't got elevatorData"); } }
public void OnGetElevatorDataResponse(GetElevatorDataResponse response) { elevatorData = response.elevatorData; UpdateUI(); }
public GetElevatorDataResponse(ElevatorData elevatorData) { this.elevatorData = elevatorData?.DeepCopy(); }
public UpdateElevatorResponse(ElevatorData updatedElevatorData, float destinationY) { this.updatedElevatorData = updatedElevatorData?.DeepCopy(); this.destinationY = destinationY; }