Plusieurs ajouts :
- Possibilité de configurer des lieux dans une scène : permet de configurer un donjon par exemple avec les pièces, les trésors par pièce, la narration..... Mise en place également de conditions permettant de conditionner le déblocage des quêtes. - Possibilité de transformé un arc en instance non linéaire afin de faire un hub. Permet de jouer de préparer des campagnes type Dragon of Icespire peak plus facilement. - Configuration de partie : chaque partie va contenir les séances, ce qui permettra de suivre le déblocage des conditions pour les quêtes. Passage en 0.9.1-beta
This commit is contained in:
159
web/src/app/shared/rooms-editor/rooms-editor.component.scss
Normal file
159
web/src/app/shared/rooms-editor/rooms-editor.component.scss
Normal file
@@ -0,0 +1,159 @@
|
||||
.rooms-editor { display: flex; flex-direction: column; gap: 0.75rem; }
|
||||
|
||||
.rooms-empty {
|
||||
margin: 0;
|
||||
font-size: 0.85rem;
|
||||
color: var(--color-text-muted, #777);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.room-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
|
||||
|
||||
.room-card {
|
||||
border: 1px solid var(--color-border, #e2e2e2);
|
||||
border-radius: 10px;
|
||||
background: var(--color-surface, #fff);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.room-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.55rem 0.7rem;
|
||||
cursor: pointer;
|
||||
background: rgba(66, 133, 244, 0.04);
|
||||
|
||||
&:hover { background: rgba(66, 133, 244, 0.07); }
|
||||
}
|
||||
|
||||
.room-toggle {
|
||||
background: transparent;
|
||||
border: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
color: var(--color-text-muted, #666);
|
||||
cursor: pointer;
|
||||
padding: 0.25rem;
|
||||
}
|
||||
|
||||
.room-index {
|
||||
font-size: 0.78rem;
|
||||
color: var(--color-text-muted, #777);
|
||||
font-family: 'JetBrains Mono', ui-monospace, monospace;
|
||||
}
|
||||
|
||||
.room-name-input {
|
||||
flex: 1;
|
||||
padding: 0.35rem 0.55rem;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 6px;
|
||||
background: transparent;
|
||||
font-size: 0.95rem;
|
||||
font-weight: 600;
|
||||
|
||||
&:hover, &:focus {
|
||||
background: var(--color-bg, #fafafa);
|
||||
border-color: var(--color-border, #d8d8d8);
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
.room-floor-input {
|
||||
width: 56px;
|
||||
padding: 0.3rem 0.4rem;
|
||||
border: 1px solid var(--color-border, #d8d8d8);
|
||||
border-radius: 6px;
|
||||
font-size: 0.85rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.room-actions {
|
||||
display: flex;
|
||||
gap: 0.25rem;
|
||||
}
|
||||
|
||||
.btn-icon, .btn-icon-danger {
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0.3rem 0.45rem;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-size: 0.85rem;
|
||||
|
||||
&:hover { background: rgba(0,0,0,0.05); }
|
||||
&:disabled { opacity: 0.35; cursor: not-allowed; }
|
||||
}
|
||||
.btn-icon-danger {
|
||||
color: var(--color-danger, #c0392b);
|
||||
&:hover { background: rgba(192, 57, 43, 0.08); }
|
||||
}
|
||||
|
||||
.room-body {
|
||||
padding: 0.85rem 0.85rem 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.7rem;
|
||||
border-top: 1px solid var(--color-border, #eaeaea);
|
||||
}
|
||||
|
||||
.field { display: flex; flex-direction: column; gap: 0.3rem; }
|
||||
.field label {
|
||||
font-size: 0.82rem;
|
||||
color: var(--color-text-muted, #555);
|
||||
font-weight: 500;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.3rem;
|
||||
}
|
||||
.field textarea, .field input[type="text"] {
|
||||
padding: 0.4rem 0.55rem;
|
||||
border: 1px solid var(--color-border, #d8d8d8);
|
||||
border-radius: 6px;
|
||||
font-family: inherit;
|
||||
font-size: 0.88rem;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.field-row {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0.7rem;
|
||||
}
|
||||
|
||||
// Branches
|
||||
.branch-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 0 0.4rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.35rem;
|
||||
}
|
||||
.branch-row {
|
||||
display: grid;
|
||||
grid-template-columns: 1.2fr auto 1.5fr 1.5fr auto;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
padding: 0.35rem 0.45rem;
|
||||
border: 1px solid var(--color-border, #ececec);
|
||||
border-radius: 6px;
|
||||
background: var(--color-bg, #fafafa);
|
||||
}
|
||||
.branch-arrow { font-weight: 700; color: var(--color-text-muted, #888); }
|
||||
.branch-label, .branch-condition, .branch-target {
|
||||
padding: 0.3rem 0.45rem;
|
||||
border: 1px solid var(--color-border, #d8d8d8);
|
||||
border-radius: 6px;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
.btn-small {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.3rem;
|
||||
padding: 0.3rem 0.6rem;
|
||||
font-size: 0.82rem;
|
||||
}
|
||||
Reference in New Issue
Block a user