void SetRoomDatas(RoomDataPackage _roomDataPackage) { ClearFocus(); RoomData[] datas = _roomDataPackage.roomDatas; for (int i = 0; i < datas.Length; i++) { for (int j = 0; j < datas[i].slotDatas.Length; j++) { SlotData slotData = datas[i].slotDatas[j]; var friend = GetFriend(slotData.friendIndex); //friend = présent sur le slot if (friend) //y'a qqn ? { friend.MoveTo(rooms[i].slots[j]); //on déplace foreach (int friendIndex in slotData.focusedFriendsIndexes) //il focuse qui lui ? { Friend f = GetFriend(friendIndex); if (f != null) { friend.Focus(f, true); } } } } } }
RoomDataPackage GetRoomDatas() { RoomDataPackage pck = new RoomDataPackage(); RoomData[] roomDatas = new RoomData[rooms.Length]; for (int i = 0; i < rooms.Length; i++) { roomDatas[i] = new RoomData(); roomDatas[i].slotDatas = new SlotData[rooms[i].slots.Length]; for (int j = 0; j < rooms[i].slots.Length; j++) { roomDatas[i].slotDatas[j] = new SlotData(); Friend f = rooms[i].slots[j].friend; if (f != null) { roomDatas[i].slotDatas[j].friendIndex = f.friendIndex; roomDatas[i].slotDatas[j].focusedFriendsIndexes = new int[f.focusedFriends.Count]; for (int k = 0; k < f.focusedFriends.Count; k++) { roomDatas[i].slotDatas[j].focusedFriendsIndexes[k] = f.focusedFriends[k].friendIndex; } } else { roomDatas[i].slotDatas[j].friendIndex = -1; } } } pck.roomDatas = roomDatas; return(pck); }