Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RLG Maker
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Romain DELEAU
RLG Maker
Commits
4a5801b0
Commit
4a5801b0
authored
Mar 14, 2024
by
Romain DELEAU
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rework task rewards
parent
b4764ce7
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
291 additions
and
145 deletions
+291
-145
app.component.html
src/app/app.component.html
+1
-1
app.component.ts
src/app/app.component.ts
+39
-13
object-reward.spec.ts
src/app/class/rewards/object-reward/object-reward.spec.ts
+7
-0
object-reward.ts
src/app/class/rewards/object-reward/object-reward.ts
+12
-0
task.ts
src/app/class/task/task.ts
+3
-10
game-characters.component.ts
src/app/pieces/game-characters/game-characters.component.ts
+25
-16
role.component.ts
src/app/pieces/role/role.component.ts
+76
-49
rules.component.ts
src/app/pieces/rules/rules.component.ts
+41
-28
rewards.component.html
src/app/sider-pieces/rewards/rewards.component.html
+15
-13
rewards.component.scss
src/app/sider-pieces/rewards/rewards.component.scss
+21
-0
rewards.component.ts
src/app/sider-pieces/rewards/rewards.component.ts
+47
-11
en.json
src/assets/lang/en.json
+2
-2
fr.json
src/assets/lang/fr.json
+2
-2
No files found.
src/app/app.component.html
View file @
4a5801b0
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
</div>
</div>
<div
class=
"container-sider-title"
>
{{getSiderTitle()}}
</div>
<div
class=
"container-sider-title"
>
{{getSiderTitle()}}
</div>
<div
class=
"container-sider-elements"
>
<div
class=
"container-sider-elements"
>
<app-rewards
class=
"container-sider-elements-element"
[
task
]="
pieceDetailsService
.
pieceAsTask
()"
[
role
]="
pieceDetailsService
.
parentAsRole
()"
*
ngIf=
"pieceDetailsService.pieceIsTask()"
[
scenario
]="
scenario
"
></app-rewards>
<app-rewards
class=
"container-sider-elements-element"
[
task
]="
pieceDetailsService
.
pieceAsTask
()"
[
role
]="
pieceDetailsService
.
parentAsRole
()"
*
ngIf=
"pieceDetailsService.pieceIsTask()
&& !unityService.unity_isActive
"
[
scenario
]="
scenario
"
></app-rewards>
<app-role-occurence
class=
"container-sider-elements-element"
[
role
]="
pieceDetailsService
.
pieceAsRole
()"
*
ngIf=
"pieceDetailsService.pieceIsRole()"
[
scenario
]="
scenario
"
></app-role-occurence>
<app-role-occurence
class=
"container-sider-elements-element"
[
role
]="
pieceDetailsService
.
pieceAsRole
()"
*
ngIf=
"pieceDetailsService.pieceIsRole()"
[
scenario
]="
scenario
"
></app-role-occurence>
<app-supplementary-task
class=
"container-sider-elements-element"
[
task
]="
pieceDetailsService
.
pieceAsTask
()"
[
role
]="
pieceDetailsService
.
parentAsRole
()"
*
ngIf=
"pieceDetailsService.pieceIsTask()"
[
scenario
]="
scenario
"
></app-supplementary-task>
<app-supplementary-task
class=
"container-sider-elements-element"
[
task
]="
pieceDetailsService
.
pieceAsTask
()"
[
role
]="
pieceDetailsService
.
parentAsRole
()"
*
ngIf=
"pieceDetailsService.pieceIsTask()"
[
scenario
]="
scenario
"
></app-supplementary-task>
<app-repeat
class=
"container-sider-elements-element"
[
task
]="
pieceDetailsService
.
pieceAsTask
()"
*
ngIf=
"pieceDetailsService.pieceIsTask()"
[
scenario
]="
scenario
"
></app-repeat>
<app-repeat
class=
"container-sider-elements-element"
[
task
]="
pieceDetailsService
.
pieceAsTask
()"
*
ngIf=
"pieceDetailsService.pieceIsTask()"
[
scenario
]="
scenario
"
></app-repeat>
...
...
src/app/app.component.ts
View file @
4a5801b0
...
@@ -47,6 +47,7 @@ import { Response } from './class/response/response';
...
@@ -47,6 +47,7 @@ import { Response } from './class/response/response';
import
{
Sentence
}
from
'./class/sentence/sentence'
;
import
{
Sentence
}
from
'./class/sentence/sentence'
;
import
{
InterrogativeSentence
}
from
'./class/sentence/interrogativeSentence/interrogative-sentence'
;
import
{
InterrogativeSentence
}
from
'./class/sentence/interrogativeSentence/interrogative-sentence'
;
import
{
DeclarativeSentence
}
from
'./class/sentence/declarativeSentence/declarative-sentence'
;
import
{
DeclarativeSentence
}
from
'./class/sentence/declarativeSentence/declarative-sentence'
;
import
{
ObjectReward
}
from
'./class/rewards/object-reward/object-reward'
;
@
Component
({
@
Component
({
selector
:
'app-root'
,
selector
:
'app-root'
,
...
@@ -349,20 +350,45 @@ export class AppComponent {
...
@@ -349,20 +350,45 @@ export class AppComponent {
prerequire
.
ressource
=
role
.
ressources
[
i
];
prerequire
.
ressource
=
role
.
ressources
[
i
];
}
}
})
})
if
(
task
.
rewardType
==
'object'
||
task
.
rewardType
==
'skill'
)
{
if
(
scenario
.
ressources
.
some
(
element
=>
element
.
name
==
(
task
.
reward
as
Ressource
).
name
&&
element
.
type
==
(
task
.
reward
as
Ressource
).
type
&&
element
.
number
==
(
task
.
reward
as
Ressource
).
number
))
{
let
i
:
number
=
scenario
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
task
.
reward
as
Ressource
).
name
&&
element
.
type
==
(
task
.
reward
as
Ressource
).
type
&&
element
.
number
==
(
task
.
reward
as
Ressource
).
number
);
task
.
reward
=
scenario
.
ressources
[
i
];
}
else
{
let
i
:
number
=
role
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
task
.
reward
as
Ressource
).
name
&&
element
.
type
==
(
task
.
reward
as
Ressource
).
type
&&
element
.
number
==
(
task
.
reward
as
Ressource
).
number
);
task
.
reward
=
role
.
ressources
[
i
];
}
}
else
if
(
task
.
rewardType
==
'character'
)
{
let
i
:
number
=
scenario
.
characters
.
findIndex
(
element
=>
element
.
name
==
(
task
.
reward
as
Character
).
name
&&
element
.
description
==
(
task
.
reward
as
Character
).
description
&&
element
.
color
==
(
task
.
reward
as
Character
).
color
);
task
.
reward
=
scenario
.
characters
[
i
];
}
task
.
rewards
.
forEach
((
reward
,
rewardIndex
)
=>
{
if
(
reward
.
type
==
'object'
)
{
if
(
scenario
.
ressources
.
some
(
element
=>
element
.
name
==
(
reward
as
ObjectReward
).
object
.
name
&&
element
.
type
==
(
reward
as
ObjectReward
).
object
.
type
&&
element
.
number
==
(
reward
as
ObjectReward
).
object
.
number
))
{
let
i
:
number
=
scenario
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
reward
as
ObjectReward
).
object
.
name
&&
element
.
type
==
(
reward
as
ObjectReward
).
object
.
type
&&
element
.
number
==
(
reward
as
ObjectReward
).
object
.
number
);
let
newReward
:
ObjectReward
=
new
ObjectReward
();
newReward
.
object
=
scenario
.
ressources
[
i
];
newReward
.
quantity
=
(
reward
as
ObjectReward
).
quantity
;
task
.
rewards
[
rewardIndex
]
=
newReward
;
}
else
{
let
i
:
number
=
role
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
reward
as
ObjectReward
).
object
.
name
&&
element
.
type
==
(
reward
as
ObjectReward
).
object
.
type
&&
element
.
number
==
(
reward
as
ObjectReward
).
object
.
number
);
let
newReward
:
ObjectReward
=
new
ObjectReward
();
newReward
.
object
=
role
.
ressources
[
i
];
newReward
.
quantity
=
(
reward
as
ObjectReward
).
quantity
;
task
.
rewards
[
rewardIndex
]
=
newReward
;
}
}
if
(
reward
.
type
==
'skill'
)
{
if
(
scenario
.
ressources
.
some
(
element
=>
element
.
name
==
(
reward
as
SkillReward
).
skill
.
name
&&
element
.
type
==
(
reward
as
SkillReward
).
skill
.
type
&&
element
.
number
==
(
reward
as
SkillReward
).
skill
.
number
))
{
let
i
:
number
=
scenario
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
reward
as
SkillReward
).
skill
.
name
&&
element
.
type
==
(
reward
as
SkillReward
).
skill
.
type
&&
element
.
number
==
(
reward
as
SkillReward
).
skill
.
number
);
let
newReward
:
SkillReward
=
new
SkillReward
();
newReward
.
skill
=
scenario
.
ressources
[
i
];
newReward
.
quantity
=
(
reward
as
SkillReward
).
quantity
;
task
.
rewards
[
rewardIndex
]
=
newReward
;
}
else
{
let
i
:
number
=
role
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
reward
as
SkillReward
).
skill
.
name
&&
element
.
type
==
(
reward
as
SkillReward
).
skill
.
type
&&
element
.
number
==
(
reward
as
SkillReward
).
skill
.
number
);
let
newReward
:
SkillReward
=
new
SkillReward
();
newReward
.
skill
=
role
.
ressources
[
i
];
newReward
.
quantity
=
(
reward
as
SkillReward
).
quantity
;
task
.
rewards
[
rewardIndex
]
=
newReward
;
}
}
if
(
reward
.
type
==
'character'
)
{
let
i
:
number
=
scenario
.
characters
.
findIndex
(
element
=>
element
.
name
==
(
reward
as
CharacterReward
).
character
.
name
&&
element
.
description
==
(
reward
as
CharacterReward
).
character
.
description
&&
element
.
color
==
(
reward
as
CharacterReward
).
character
.
color
);
let
newReward
:
CharacterReward
=
new
CharacterReward
();
newReward
.
character
=
scenario
.
characters
[
i
];
task
.
rewards
[
rewardIndex
]
=
newReward
;
}
});
if
((
task
.
typeUnity
==
'getObject'
||
task
.
typeUnity
==
'depositObject'
||
task
.
typeUnity
==
'interactObject'
)
&&
task
.
object
)
{
if
((
task
.
typeUnity
==
'getObject'
||
task
.
typeUnity
==
'depositObject'
||
task
.
typeUnity
==
'interactObject'
)
&&
task
.
object
)
{
if
(
scenario
.
ressources
.
some
(
element
=>
element
.
name
==
(
task
.
object
as
Ressource
).
name
&&
element
.
number
==
(
task
.
object
as
Ressource
).
number
&&
element
.
type
==
(
task
.
object
as
Ressource
).
type
))
{
if
(
scenario
.
ressources
.
some
(
element
=>
element
.
name
==
(
task
.
object
as
Ressource
).
name
&&
element
.
number
==
(
task
.
object
as
Ressource
).
number
&&
element
.
type
==
(
task
.
object
as
Ressource
).
type
))
{
let
i
:
number
=
scenario
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
task
.
object
as
Ressource
).
name
&&
element
.
number
==
(
task
.
object
as
Ressource
).
number
&&
element
.
type
==
(
task
.
object
as
Ressource
).
type
);
let
i
:
number
=
scenario
.
ressources
.
findIndex
(
element
=>
element
.
name
==
(
task
.
object
as
Ressource
).
name
&&
element
.
number
==
(
task
.
object
as
Ressource
).
number
&&
element
.
type
==
(
task
.
object
as
Ressource
).
type
);
...
...
src/app/class/rewards/object-reward/object-reward.spec.ts
0 → 100644
View file @
4a5801b0
import
{
ObjectReward
}
from
'./object-reward'
;
describe
(
'ObjectReward'
,
()
=>
{
it
(
'should create an instance'
,
()
=>
{
expect
(
new
ObjectReward
()).
toBeTruthy
();
});
});
src/app/class/rewards/object-reward/object-reward.ts
0 → 100644
View file @
4a5801b0
import
{
Ressource
}
from
"../../ressource/ressource"
;
import
{
Reward
}
from
"../reward"
;
export
class
ObjectReward
extends
Reward
{
constructor
()
{
super
(
'object'
);
}
quantity
:
number
=
1
;
object
:
Ressource
=
new
Ressource
();
}
src/app/class/task/task.ts
View file @
4a5801b0
...
@@ -4,6 +4,7 @@ import { PrerequireRessource } from "../prerequires/prerequire-ressource/prerequ
...
@@ -4,6 +4,7 @@ import { PrerequireRessource } from "../prerequires/prerequire-ressource/prerequ
import
{
PrerequireTask
}
from
"../prerequires/prerequire-task/prerequire-task"
;
import
{
PrerequireTask
}
from
"../prerequires/prerequire-task/prerequire-task"
;
import
{
Repeat
}
from
"../repeat/repeat"
;
import
{
Repeat
}
from
"../repeat/repeat"
;
import
{
Ressource
}
from
"../ressource/ressource"
;
import
{
Ressource
}
from
"../ressource/ressource"
;
import
{
Reward
}
from
"../rewards/reward"
;
import
{
SupplementaryRole
}
from
"../supplementary-role/supplementary-role"
;
import
{
SupplementaryRole
}
from
"../supplementary-role/supplementary-role"
;
import
{
Symbol
}
from
"../symbol/symbol"
;
import
{
Symbol
}
from
"../symbol/symbol"
;
...
@@ -36,10 +37,7 @@ export class Task {
...
@@ -36,10 +37,7 @@ export class Task {
supplementaryRole
!
:
SupplementaryRole
;
supplementaryRole
!
:
SupplementaryRole
;
interrupt
:
string
=
''
;
interrupt
:
string
=
''
;
rewardType
:
string
=
'none'
;
//none / object / character / skill
rewards
:
Reward
[]
=
[];
//rewardName: string = '';
rewardQuantity
:
number
=
1
;
reward
:
(
Character
|
Ressource
|
null
)
=
null
;
constructor
(
type
:
string
)
{
constructor
(
type
:
string
)
{
this
.
type
=
type
;
this
.
type
=
type
;
...
@@ -54,12 +52,7 @@ export class Task {
...
@@ -54,12 +52,7 @@ export class Task {
this
.
type
=
type
;
this
.
type
=
type
;
}
}
}
}
public
resetReward
():
void
{
this
.
reward
=
null
;
this
.
rewardQuantity
=
1
;
}
public
resetUnityContent
():
void
{
public
resetUnityContent
():
void
{
this
.
object
=
null
;
this
.
object
=
null
;
this
.
objectQuantity
=
1
;
this
.
objectQuantity
=
1
;
...
...
src/app/pieces/game-characters/game-characters.component.ts
View file @
4a5801b0
...
@@ -11,6 +11,7 @@ import { Trace } from 'src/app/class/trace/trace';
...
@@ -11,6 +11,7 @@ import { Trace } from 'src/app/class/trace/trace';
import
{
MinimapService
}
from
'src/app/services/minimap/minimap.service'
;
import
{
MinimapService
}
from
'src/app/services/minimap/minimap.service'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
UnityService
}
from
'src/app/services/unity/unity.service'
;
import
{
UnityService
}
from
'src/app/services/unity/unity.service'
;
import
{
CharacterReward
}
from
'src/app/class/rewards/character-reward/character-reward'
;
@
Component
({
@
Component
({
selector
:
'app-game-characters'
,
selector
:
'app-game-characters'
,
...
@@ -47,14 +48,16 @@ export class GameCharactersComponent implements OnInit {
...
@@ -47,14 +48,16 @@ export class GameCharactersComponent implements OnInit {
role
.
tasks
.
forEach
(
inlineTasks
=>
{
role
.
tasks
.
forEach
(
inlineTasks
=>
{
inlineTasks
.
forEach
(
task
=>
{
inlineTasks
.
forEach
(
task
=>
{
if
(
task
instanceof
Task
)
{
if
(
task
instanceof
Task
)
{
task
.
characters
=
[];
for
(
let
i
=
0
;
i
<
task
.
rewards
.
length
;
i
++
)
{
if
(
task
.
rewardType
==
'character'
)
{
let
reward
=
task
.
rewards
[
i
];
task
.
resetReward
();
if
(
reward
.
type
==
'character'
)
{
task
.
rewardType
=
'none'
;
task
.
rewards
.
splice
(
i
,
1
);
}
i
--
;
}
}
if
(
task
?.
typeUnity
==
'character'
||
task
?.
typeUnity
==
'exchangeObjects'
)
{
if
(
task
?.
typeUnity
==
'character'
||
task
?.
typeUnity
==
'exchangeObjects'
)
{
task
.
character
=
null
;
task
.
character
=
null
;
}
}
}
}
});
});
});
});
...
@@ -85,16 +88,22 @@ export class GameCharactersComponent implements OnInit {
...
@@ -85,16 +88,22 @@ export class GameCharactersComponent implements OnInit {
mission
.
roles
.
forEach
(
role
=>
{
mission
.
roles
.
forEach
(
role
=>
{
role
.
tasks
.
forEach
(
inlineTask
=>
{
role
.
tasks
.
forEach
(
inlineTask
=>
{
inlineTask
.
forEach
(
task
=>
{
inlineTask
.
forEach
(
task
=>
{
let
i
:
number
|
undefined
=
task
?.
characters
.
findIndex
(
character
=>
character
==
this
.
scenario
.
characters
[
index
]);
if
(
task
instanceof
Task
)
{
if
(
typeof
i
!==
'undefined'
&&
i
!==
-
1
)
{
let
i
:
number
|
undefined
=
task
?.
characters
.
findIndex
(
character
=>
character
==
this
.
scenario
.
characters
[
index
]);
task
?.
characters
.
splice
(
i
,
1
);
if
(
typeof
i
!==
'undefined'
&&
i
!==
-
1
)
{
}
task
?.
characters
.
splice
(
i
,
1
);
if
(
task
?.
rewardType
==
'character'
&&
task
.
reward
==
this
.
scenario
.
characters
[
index
])
{
}
task
.
resetReward
();
for
(
let
rewardIndex
=
0
;
rewardIndex
<
task
.
rewards
.
length
;
rewardIndex
++
)
{
task
.
rewardType
=
'none'
;
let
reward
=
task
.
rewards
[
rewardIndex
];
}
if
(
reward
.
type
==
'character'
)
{
if
((
task
?.
typeUnity
==
'character'
||
task
?.
typeUnity
==
'exchangeObjects'
)
&&
task
.
character
==
this
.
scenario
.
characters
[
index
])
{
if
((
reward
as
CharacterReward
).
character
==
this
.
scenario
.
characters
[
index
])
task
.
character
=
null
;
task
.
rewards
.
splice
(
rewardIndex
,
1
);
rewardIndex
--
;
}
}
if
((
task
?.
typeUnity
==
'character'
||
task
?.
typeUnity
==
'exchangeObjects'
)
&&
task
.
character
==
this
.
scenario
.
characters
[
index
])
{
task
.
character
=
null
;
}
}
}
});
});
});
});
...
...
src/app/pieces/role/role.component.ts
View file @
4a5801b0
...
@@ -27,6 +27,7 @@ import { CopyRoleService } from 'src/app/services/copyRole/copy-role.service';
...
@@ -27,6 +27,7 @@ import { CopyRoleService } from 'src/app/services/copyRole/copy-role.service';
import
{
Task
}
from
'src/app/class/task/task'
;
import
{
Task
}
from
'src/app/class/task/task'
;
import
{
CopyRoleSuccessComponent
}
from
'src/app/components/snackbars/copy-role-success/copy-role-success.component'
;
import
{
CopyRoleSuccessComponent
}
from
'src/app/components/snackbars/copy-role-success/copy-role-success.component'
;
import
{
RoleOccurrence
}
from
'src/app/class/role-occurrence/role-occurrence'
;
import
{
RoleOccurrence
}
from
'src/app/class/role-occurrence/role-occurrence'
;
import
{
ObjectReward
}
from
'src/app/class/rewards/object-reward/object-reward'
;
@
Component
({
@
Component
({
selector
:
'app-role'
,
selector
:
'app-role'
,
...
@@ -197,34 +198,47 @@ export class RoleComponent implements OnInit {
...
@@ -197,34 +198,47 @@ export class RoleComponent implements OnInit {
this
.
role
.
tasks
.
forEach
(
inlineTasks
=>
{
this
.
role
.
tasks
.
forEach
(
inlineTasks
=>
{
inlineTasks
.
forEach
(
task
=>
{
inlineTasks
.
forEach
(
task
=>
{
this
.
role
.
ressources
.
forEach
(
ressource
=>
{
this
.
role
.
ressources
.
forEach
(
ressource
=>
{
if
(
task
?.
prerequireRessources
.
some
(
element
=>
element
.
ressource
==
ressource
))
{
if
(
task
instanceof
Task
)
{
let
index
:
number
=
task
.
prerequireRessources
.
findIndex
(
element
=>
element
.
ressource
==
ressource
);
if
(
task
?.
prerequireRessources
.
some
(
element
=>
element
.
ressource
==
ressource
))
{
task
.
prerequireRessources
.
splice
(
index
,
1
);
let
index
:
number
=
task
.
prerequireRessources
.
findIndex
(
element
=>
element
.
ressource
==
ressource
);
}
task
.
prerequireRessources
.
splice
(
index
,
1
);
if
((
task
?.
rewardType
==
'object'
||
task
?.
rewardType
==
'attribut'
)
&&
task
.
reward
==
ressource
)
{
task
.
resetReward
();
task
.
rewardType
=
'none'
;
}
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
task
.
object
==
ressource
)
{
task
.
object
=
null
;
}
}
task
.
combineObjects
.
forEach
((
object
,
i
)
=>
{
for
(
let
i
=
0
;
i
<
task
?.
rewards
.
length
;
i
++
)
{
if
(
object
[
0
]
==
ressource
)
{
let
reward
=
task
.
rewards
[
i
];
task
.
combineObjects
[
i
][
0
]
=
null
;
if
(
reward
.
type
==
'object'
)
{
if
((
reward
as
ObjectReward
).
object
==
ressource
)
{
task
.
rewards
.
splice
(
i
,
1
);
i
--
;
}
}
}
});
if
(
reward
.
type
==
'skill'
)
{
task
.
giveObjects
.
forEach
((
object
,
i
)
=>
{
if
((
reward
as
SkillReward
).
skill
==
ressource
)
{
if
(
object
[
0
]
==
ressource
)
{
task
.
rewards
.
splice
(
i
,
1
);
task
.
giveObjects
[
i
][
0
]
=
null
;
i
--
;
}
}
}
}
);
}
task
.
receiveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
object
[
0
]
==
ressource
)
{
if
(
task
.
object
==
ressource
)
{
task
.
receiveObjects
[
i
][
0
]
=
null
;
task
.
object
=
null
;
}
}
});
task
.
combineObjects
.
forEach
((
object
,
i
)
=>
{
}
if
(
object
[
0
]
==
ressource
)
{
task
.
combineObjects
[
i
][
0
]
=
null
;
}
});
task
.
giveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
ressource
)
{
task
.
giveObjects
[
i
][
0
]
=
null
;
}
});
task
.
receiveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
ressource
)
{
task
.
receiveObjects
[
i
][
0
]
=
null
;
}
});
}
}
});
});
});
});
});
});
...
@@ -303,35 +317,48 @@ export class RoleComponent implements OnInit {
...
@@ -303,35 +317,48 @@ export class RoleComponent implements OnInit {
if
(
result
==
true
)
{
if
(
result
==
true
)
{
this
.
role
.
tasks
.
forEach
(
inlineTasks
=>
{
this
.
role
.
tasks
.
forEach
(
inlineTasks
=>
{
inlineTasks
.
forEach
(
task
=>
{
inlineTasks
.
forEach
(
task
=>
{
task
?.
prerequireRessources
.
forEach
((
prerequire
,
j
)
=>
{
if
(
task
instanceof
Task
)
{
if
(
prerequire
.
ressource
==
this
.
role
.
ressources
[
index
])
{
task
?.
prerequireRessources
.
forEach
((
prerequire
,
j
)
=>
{
task
.
prerequireRessources
.
splice
(
j
,
1
);
if
(
prerequire
.
ressource
==
this
.
role
.
ressources
[
index
])
{
}
task
.
prerequireRessources
.
splice
(
j
,
1
);
});
if
((
task
?.
rewardType
==
'object'
||
task
?.
rewardType
==
'skill'
)
&&
task
.
reward
==
this
.
role
.
ressources
[
index
])
{
task
.
resetReward
();
task
.
rewardType
=
'none'
;
}
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
task
.
object
==
this
.
role
.
ressources
[
index
])
{
task
.
object
=
null
;
}
task
.
combineObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
role
.
ressources
[
index
])
{
task
.
combineObjects
[
i
][
0
]
=
null
;
}
}
});
});
task
.
giveObjects
.
forEach
((
object
,
i
)
=>
{
for
(
let
i
=
0
;
i
<
task
?.
rewards
.
length
;
i
++
)
{
if
(
object
[
0
]
==
this
.
role
.
ressources
[
index
])
{
let
reward
=
task
.
rewards
[
i
];
task
.
giveObjects
[
i
][
0
]
=
null
;
if
(
reward
.
type
==
'object'
)
{
if
((
reward
as
ObjectReward
).
object
==
this
.
role
.
ressources
[
index
])
{
task
.
rewards
.
splice
(
i
,
1
);
i
--
;
}
}
}
});
if
(
reward
.
type
==
'skill'
)
{
task
.
receiveObjects
.
forEach
((
object
,
i
)
=>
{
if
((
reward
as
SkillReward
).
skill
==
this
.
role
.
ressources
[
index
])
{
if
(
object
[
0
]
==
this
.
role
.
ressources
[
index
])
{
task
.
rewards
.
splice
(
i
,
1
);
task
.
receiveObjects
[
i
][
0
]
=
null
;
i
--
;
}
}
}
});
}
}
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
task
.
object
==
this
.
role
.
ressources
[
index
])
{
task
.
object
=
null
;
}
task
.
combineObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
role
.
ressources
[
index
])
{
task
.
combineObjects
[
i
][
0
]
=
null
;
}
});
task
.
giveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
role
.
ressources
[
index
])
{
task
.
giveObjects
[
i
][
0
]
=
null
;
}
});
task
.
receiveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
role
.
ressources
[
index
])
{
task
.
receiveObjects
[
i
][
0
]
=
null
;
}
});
}
}
});
});
});
});
this
.
role
.
ressources
.
splice
(
index
,
1
);
this
.
role
.
ressources
.
splice
(
index
,
1
);
...
...
src/app/pieces/rules/rules.component.ts
View file @
4a5801b0
...
@@ -10,6 +10,7 @@ import { Task } from 'src/app/class/task/task';
...
@@ -10,6 +10,7 @@ import { Task } from 'src/app/class/task/task';
import
{
Trace
}
from
'src/app/class/trace/trace'
;
import
{
Trace
}
from
'src/app/class/trace/trace'
;
import
{
MinimapService
}
from
'src/app/services/minimap/minimap.service'
;
import
{
MinimapService
}
from
'src/app/services/minimap/minimap.service'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
ObjectReward
}
from
'src/app/class/rewards/object-reward/object-reward'
;
@
Component
({
@
Component
({
selector
:
'app-rules'
,
selector
:
'app-rules'
,
...
@@ -49,9 +50,14 @@ export class RulesComponent implements OnInit {
...
@@ -49,9 +50,14 @@ export class RulesComponent implements OnInit {
task
.
prerequireRessources
.
splice
(
j
,
1
);
task
.
prerequireRessources
.
splice
(
j
,
1
);
}
}
});
});
if
(
task
.
rewardType
==
'object'
&&
ressource
==
task
.
reward
)
{
for
(
let
i
=
0
;
i
<
task
.
rewards
.
length
;
i
++
)
{
task
.
resetReward
();
let
reward
=
task
.
rewards
[
i
];
task
.
rewardType
=
'none'
;
if
(
reward
.
type
==
'object'
)
{
if
((
reward
as
ObjectReward
).
object
==
ressource
)
{
task
.
rewards
.
splice
(
i
,
1
);
i
--
;
}
}
}
}
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
task
.
object
==
ressource
)
{
if
(
task
.
object
==
ressource
)
{
...
@@ -102,35 +108,42 @@ export class RulesComponent implements OnInit {
...
@@ -102,35 +108,42 @@ export class RulesComponent implements OnInit {
mission
.
roles
.
forEach
(
role
=>
{
mission
.
roles
.
forEach
(
role
=>
{
role
.
tasks
.
forEach
(
inlineTasks
=>
{
role
.
tasks
.
forEach
(
inlineTasks
=>
{
inlineTasks
.
forEach
(
task
=>
{
inlineTasks
.
forEach
(
task
=>
{
task
?.
prerequireRessources
.
forEach
((
prerequire
,
j
)
=>
{
if
(
task
instanceof
Task
)
{
if
(
this
.
scenario
.
ressources
[
index
]
==
prerequire
.
ressource
)
{
task
?.
prerequireRessources
.
forEach
((
prerequire
,
j
)
=>
{
task
.
prerequireRessources
.
splice
(
j
,
1
);
if
(
this
.
scenario
.
ressources
[
index
]
==
prerequire
.
ressource
)
{
}
task
.
prerequireRessources
.
splice
(
j
,
1
);
});
if
(
task
?.
rewardType
==
'object'
&&
this
.
scenario
.
ressources
[
index
]
==
task
.
reward
)
{
task
.
resetReward
();
task
.
rewardType
=
'none'
;
}
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
task
.
object
==
this
.
scenario
.
ressources
[
index
])
{
task
.
object
=
null
;
}
task
.
combineObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
scenario
.
ressources
[
index
])
{
task
.
combineObjects
[
i
][
0
]
=
null
;
}
}
});
});
task
.
giveObjects
.
forEach
((
object
,
i
)
=>
{
for
(
let
i
=
0
;
i
<
task
.
rewards
.
length
;
i
++
)
{
if
(
object
[
0
]
==
this
.
scenario
.
ressources
[
index
])
{
let
reward
=
task
.
rewards
[
i
];
task
.
giveObjects
[
i
][
0
]
=
null
;
if
(
reward
.
type
==
'object'
)
{
if
((
reward
as
ObjectReward
).
object
==
this
.
scenario
.
ressources
[
index
])
{
task
.
rewards
.
splice
(
i
,
1
);
i
--
;
}
}
}
}
);
}
task
.
receiveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
task
?.
typeUnity
==
'getObject'
||
task
?.
typeUnity
==
'combineObjects'
||
task
?.
typeUnity
==
'exchangeObjects'
||
task
?.
typeUnity
==
'depositObject'
||
task
?.
typeUnity
==
'interactObject'
)
{
if
(
object
[
0
]
==
this
.
scenario
.
ressources
[
index
])
{
if
(
task
.
object
==
this
.
scenario
.
ressources
[
index
])
{
task
.
receiveObjects
[
i
][
0
]
=
null
;
task
.
object
=
null
;
}
}
});
task
.
combineObjects
.
forEach
((
object
,
i
)
=>
{
}
if
(
object
[
0
]
==
this
.
scenario
.
ressources
[
index
])
{
task
.
combineObjects
[
i
][
0
]
=
null
;
}
});
task
.
giveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
scenario
.
ressources
[
index
])
{
task
.
giveObjects
[
i
][
0
]
=
null
;
}
});
task
.
receiveObjects
.
forEach
((
object
,
i
)
=>
{
if
(
object
[
0
]
==
this
.
scenario
.
ressources
[
index
])
{
task
.
receiveObjects
[
i
][
0
]
=
null
;
}
});
}
}
});
});
});
});
});
});
...
...
src/app/sider-pieces/rewards/rewards.component.html
View file @
4a5801b0
...
@@ -3,26 +3,26 @@
...
@@ -3,26 +3,26 @@
matTooltipPosition=
"before"
[
matTooltipDisabled
]="!
tooltipService
.
activatedTooltips
"
>
matTooltipPosition=
"before"
[
matTooltipDisabled
]="!
tooltipService
.
activatedTooltips
"
>
<div
class=
"piece-form"
>
<div
class=
"piece-form"
>
<div
class=
"piece-form-title"
>
{{'rewards_title' | translate}}
</div>
<div
class=
"piece-form-title"
>
{{'rewards_title' | translate}}
</div>
<div
class=
"piece-form-content"
>
<div
class=
"piece-form-content"
*
ngFor=
"let reward of task.rewards, let rewardIndex = index"
>
<div
class=
"piece-form-content-type"
>
<div
class=
"piece-form-content-type"
>
<label
for=
"type"
>
{{'rewards_type_label'| translate}}
</label>
<label
for=
"type"
>
{{'rewards_type_label'| translate}}
</label>
<select
name=
"type"
[(
ngModel
)]="
task
.
rewardType
"
(
change
)="
resetReward
($
event
)"
>
<select
name=
"type"
[(
ngModel
)]="
reward
.
type
"
(
change
)="
changeRewardType
(
rewardIndex
,
reward
.
type
)"
>
<
option
value=
"none"
selected
>
{{'rewards_type_none' | translate}}
</option
>
<
!--<option value="none" selected>{{'rewards_type_none' | translate}}</option>--
>
<option
value=
"object"
>
{{'rewards_type_object' | translate}}
</option>
<option
value=
"object"
>
{{'rewards_type_object' | translate}}
</option>
<option
value=
"character"
>
{{'rewards_type_character' | translate}}
</option>
<option
value=
"character"
>
{{'rewards_type_character' | translate}}
</option>
<option
value=
"skill"
>
{{'rewards_type_skill' | translate}}
</option>
<option
value=
"skill"
>
{{'rewards_type_skill' | translate}}
</option>
</select>
</select>
</div>
</div>
<div
*
ngIf=
"
task.rewardT
ype != 'none'"
>
<div
*
ngIf=
"
reward.t
ype != 'none'"
>
<!--
<!--
<div class="piece-form-content-name">
<div class="piece-form-content-name">
<label for="name">{{'rewards_name_label' | translate}}</label>
<label for="name">{{'rewards_name_label' | translate}}</label>
<input type="text" name="name" [(ngModel)]="task.rewardName">
<input type="text" name="name" [(ngModel)]="task.rewardName">
</div>
</div>
-->
-->
<div
class=
"piece-form-content-object"
*
ngIf=
"
task.rewardT
ype == 'object'"
>
<div
class=
"piece-form-content-object"
*
ngIf=
"
reward.t
ype == 'object'"
>
<input
type=
"number"
name=
"quantity"
[(
ngModel
)]="
task
.
rewardQ
uantity
"
/>
<input
type=
"number"
name=
"quantity"
[(
ngModel
)]="
getObjectReward
(
rewardIndex
).
q
uantity
"
/>
<select
name=
"object_name"
[(
ngModel
)]="
task
.
reward
"
(
change
)="
editTrace
($
event
,'
task_reward
')
"
>
<select
name=
"object_name"
[(
ngModel
)]="
getObjectReward
(
rewardIndex
).
object
"
>
<option
value=
"null"
selected
disabled
>
{{'rewards_object_placeholder' | translate}}
</option>
<option
value=
"null"
selected
disabled
>
{{'rewards_object_placeholder' | translate}}
</option>
<ng-container
*
ngFor=
"let ressource of scenario.ressources"
>
<ng-container
*
ngFor=
"let ressource of scenario.ressources"
>
<option
*
ngIf=
"ressource.type == 'ressource'"
[
ngValue
]="
ressource
"
>
{{ressource.name}}
</option>
<option
*
ngIf=
"ressource.type == 'ressource'"
[
ngValue
]="
ressource
"
>
{{ressource.name}}
</option>
...
@@ -32,15 +32,15 @@ matTooltipPosition="before" [matTooltipDisabled]="!tooltipService.activatedToolt
...
@@ -32,15 +32,15 @@ matTooltipPosition="before" [matTooltipDisabled]="!tooltipService.activatedToolt
</ng-container>
</ng-container>
</select>
</select>
</div>
</div>
<div
class=
"piece-form-content-character"
*
ngIf=
"
task.rewardT
ype == 'character'"
>
<div
class=
"piece-form-content-character"
*
ngIf=
"
reward.t
ype == 'character'"
>
<select
name=
"character"
[(
ngModel
)]="
task
.
reward
"
(
change
)="
editTrace
($
event
,'
task_reward
')
"
>
<select
name=
"character"
[(
ngModel
)]="
getCharacterReward
(
rewardIndex
).
character
"
>
<option
value=
"null"
selected
disabled
>
{{'rewards_character_placeholder' | translate}}
</option>
<option
value=
"null"
selected
disabled
>
{{'rewards_character_placeholder' | translate}}
</option>
<option
*
ngFor=
"let character of scenario.characters"
[
ngValue
]="
character
"
>
{{character.name}}
</option>
<option
*
ngFor=
"let character of scenario.characters"
[
ngValue
]="
character
"
>
{{character.name}}
</option>
</select>
</select>
</div>
</div>
<div
class=
"piece-form-content-skill"
*
ngIf=
"
task.rewardT
ype == 'skill'"
>
<div
class=
"piece-form-content-skill"
*
ngIf=
"
reward.t
ype == 'skill'"
>
<input
type=
"number"
name=
"quantity"
[(
ngModel
)]="
task
.
rewardQ
uantity
"
/>
<input
type=
"number"
name=
"quantity"
[(
ngModel
)]="
getSkillReward
(
rewardIndex
).
q
uantity
"
/>
<select
name=
"skill"
[(
ngModel
)]="
task
.
reward
"
(
change
)="
editTrace
($
event
,'
task_reward
')
"
>
<select
name=
"skill"
[(
ngModel
)]="
getSkillReward
(
rewardIndex
).
skill
"
>
<option
value=
"null"
selected
disabled
>
{{'rewards_skill_placeholder' | translate}}
</option>
<option
value=
"null"
selected
disabled
>
{{'rewards_skill_placeholder' | translate}}
</option>
<ng-container
*
ngFor=
"let ressource of pieceDetailsService.parentAsRole().ressources"
>
<ng-container
*
ngFor=
"let ressource of pieceDetailsService.parentAsRole().ressources"
>
<option
*
ngIf=
"ressource.type == 'attribut'"
[
ngValue
]="
ressource
"
>
{{ressource.name}}
</option>
<option
*
ngIf=
"ressource.type == 'attribut'"
[
ngValue
]="
ressource
"
>
{{ressource.name}}
</option>
...
@@ -48,6 +48,8 @@ matTooltipPosition="before" [matTooltipDisabled]="!tooltipService.activatedToolt
...
@@ -48,6 +48,8 @@ matTooltipPosition="before" [matTooltipDisabled]="!tooltipService.activatedToolt
</select>
</select>
</div>
</div>
</div>
</div>
<button
mat-button
class=
"piece-form-buttons-remove"
(
click
)="
removeReward
(
rewardIndex
)"
><mat-icon
fontIcon=
"remove"
></mat-icon></button>
</div>
</div>
<button
mat-button
class=
"piece-form-buttons-add"
(
click
)="
addReward
()"
><mat-icon
fontIcon=
"add"
></mat-icon></button>
</div>
</div>
</div>
</div>
\ No newline at end of file
src/app/sider-pieces/rewards/rewards.component.scss
View file @
4a5801b0
...
@@ -33,7 +33,28 @@
...
@@ -33,7 +33,28 @@
padding
:
5px
5px
5px
5px
;
padding
:
5px
5px
5px
5px
;
}
}
button
{
background-color
:
white
;
border-radius
:
10px
;
}
&
-buttons
{
&
-add
{
margin-top
:
10px
;
}
&
-remove
{
position
:
relative
;
left
:
100%
;
transform
:
translateX
(
-100%
);
}
}
&
-content
{
&
-content
{
margin-top
:
5px
;
padding-bottom
:
5px
;
border-bottom
:
solid
black
1px
;
&
-type
,
&
-name
,
&
-object
,
&
-character
,
&
-skill
{
&
-type
,
&
-name
,
&
-object
,
&
-character
,
&
-skill
{
margin-bottom
:
5px
;
margin-bottom
:
5px
;
...
...
src/app/sider-pieces/rewards/rewards.component.ts
View file @
4a5801b0
import
{
Component
,
OnInit
,
Input
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
Input
}
from
'@angular/core'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
TranslateService
}
from
'@ngx-translate/core'
;
import
{
CharacterReward
}
from
'src/app/class/rewards/character-reward/character-reward'
;
import
{
ObjectReward
}
from
'src/app/class/rewards/object-reward/object-reward'
;
import
{
ObjectsReward
}
from
'src/app/class/rewards/objects-reward/objects-reward'
;
import
{
SkillReward
}
from
'src/app/class/rewards/skill-reward/skill-reward'
;
import
{
Role
}
from
'src/app/class/role/role'
;
import
{
Role
}
from
'src/app/class/role/role'
;
import
{
Scenario
}
from
'src/app/class/scenario/scenario'
;
import
{
Scenario
}
from
'src/app/class/scenario/scenario'
;
import
{
Task
}
from
'src/app/class/task/task'
;
import
{
Task
}
from
'src/app/class/task/task'
;
import
{
Trace
}
from
'src/app/class/trace/trace'
;
import
{
Trace
}
from
'src/app/class/trace/trace'
;
import
{
SuppressDialogComponent
}
from
'src/app/components/dialogs/suppress-dialog/suppress-dialog.component'
;
import
{
PieceDetailsService
}
from
'src/app/services/piece-details/piece-details.service'
;
import
{
PieceDetailsService
}
from
'src/app/services/piece-details/piece-details.service'
;
import
{
TooltipService
}
from
'src/app/services/tooltip/tooltip.service'
;
import
{
TooltipService
}
from
'src/app/services/tooltip/tooltip.service'
;
...
@@ -18,16 +24,11 @@ export class RewardsComponent implements OnInit {
...
@@ -18,16 +24,11 @@ export class RewardsComponent implements OnInit {
@
Input
()
task
:
Task
=
new
Task
(
'normal'
);
@
Input
()
task
:
Task
=
new
Task
(
'normal'
);
@
Input
()
role
:
Role
=
new
Role
();
@
Input
()
role
:
Role
=
new
Role
();
constructor
(
protected
translate
:
TranslateService
,
protected
tooltipService
:
TooltipService
,
protected
pieceDetailsService
:
PieceDetailsService
)
{
}
constructor
(
protected
translate
:
TranslateService
,
protected
tooltipService
:
TooltipService
,
protected
pieceDetailsService
:
PieceDetailsService
,
public
dialog
:
MatDialog
)
{
}
ngOnInit
():
void
{
ngOnInit
():
void
{
}
}
resetReward
(
event
:
any
)
{
this
.
task
.
resetReward
();
this
.
editTrace
(
event
,
'task_reward'
);
}
formatTraceTarget
():
string
{
formatTraceTarget
():
string
{
let
res
:
string
=
''
;
let
res
:
string
=
''
;
...
@@ -45,11 +46,46 @@ export class RewardsComponent implements OnInit {
...
@@ -45,11 +46,46 @@ export class RewardsComponent implements OnInit {
return
res
;
return
res
;
}
}
editTrace
(
event
:
any
,
source
:
string
):
void
{
getCharacterReward
(
index
:
number
):
CharacterReward
{
if
(
this
.
task
.
reward
!=
undefined
)
{
return
this
.
task
.
rewards
[
index
]
as
CharacterReward
;
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'Select_task_reward_'
+
this
.
task
.
rewardType
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
source
,
this
.
formatTraceTarget
(),
'#CFE3B9'
));
}
}
else
{
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'Deselect_task_reward'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
source
,
this
.
formatTraceTarget
(),
'#CFE3B9'
));
getSkillReward
(
index
:
number
):
SkillReward
{
return
this
.
task
.
rewards
[
index
]
as
SkillReward
;
}
getObjectReward
(
index
:
number
):
ObjectReward
{
return
this
.
task
.
rewards
[
index
]
as
ObjectReward
;
}
addReward
():
void
{
this
.
task
.
rewards
.
push
(
new
ObjectReward
());
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'new'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
'Reward_['
+
this
.
task
.
rewards
.
length
+
']'
,
this
.
formatTraceTarget
(),
'#CFE3B9'
,
'*'
));
}
removeReward
(
index
:
number
):
void
{
const
dialogRef
=
this
.
dialog
.
open
(
SuppressDialogComponent
,
{
data
:
this
.
translate
.
instant
(
'role_reward_delete'
)
});
dialogRef
.
afterClosed
().
subscribe
(
result
=>
{
if
(
result
==
true
)
{
this
.
task
.
rewards
.
splice
(
index
,
1
);
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'delete'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
'Reward_['
+
this
.
task
.
rewards
.
length
+
']'
,
this
.
formatTraceTarget
(),
'#CFE3B9'
,
'*'
));
}
else
{
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'cancel_delete'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
'Reward_['
+
this
.
task
.
rewards
.
length
+
']'
,
this
.
formatTraceTarget
(),
'#CFE3B9'
,
'*'
));
}
});
}
changeRewardType
(
index
:
number
,
type
:
string
):
void
{
switch
(
type
)
{
case
'object'
:
this
.
task
.
rewards
[
index
]
=
new
ObjectsReward
();
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'transform'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
'Reward_['
+
index
+
']_transform_into_[ObjectReward]'
,
this
.
formatTraceTarget
(),
'#CFE3B9'
,
'*'
));
break
;
case
'skill'
:
this
.
task
.
rewards
[
index
]
=
new
SkillReward
();
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'transform'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
'Reward_['
+
index
+
']_transform_into_[SkillReward]'
,
this
.
formatTraceTarget
(),
'#CFE3B9'
,
'*'
));
break
;
case
'character'
:
this
.
task
.
rewards
[
index
]
=
new
CharacterReward
();
this
.
scenario
.
traces
.
push
(
new
Trace
(
this
.
scenario
.
traces
.
length
,
'transform'
,
this
.
pieceDetailsService
.
missionIndex
,
this
.
pieceDetailsService
.
roleIndex
,
'Reward_['
+
index
+
']_transform_into_[CharacterReward]'
,
this
.
formatTraceTarget
(),
'#CFE3B9'
,
'*'
));
break
;
}
}
}
}
}
}
src/assets/lang/en.json
View file @
4a5801b0
...
@@ -399,8 +399,8 @@
...
@@ -399,8 +399,8 @@
"legals_cookies_title"
:
"Cookies"
,
"legals_cookies_title"
:
"Cookies"
,
"legals_cookies_content"
:
"We do not record any cookies and do not save any personal data!"
,
"legals_cookies_content"
:
"We do not record any cookies and do not save any personal data!"
,
"rewards_tooltip"
:
"Indicate the re
sult
obtained"
,
"rewards_tooltip"
:
"Indicate the re
wards
obtained"
,
"rewards_title"
:
"Result
/ Reward
"
,
"rewards_title"
:
"Result
s / Rewards
"
,
"rewards_type_label"
:
"Type"
,
"rewards_type_label"
:
"Type"
,
"rewards_type_none"
:
"None"
,
"rewards_type_none"
:
"None"
,
"rewards_type_object"
:
"Object"
,
"rewards_type_object"
:
"Object"
,
...
...
src/assets/lang/fr.json
View file @
4a5801b0
...
@@ -399,8 +399,8 @@
...
@@ -399,8 +399,8 @@
"legals_cookies_title"
:
"Cookies"
,
"legals_cookies_title"
:
"Cookies"
,
"legals_cookies_content"
:
"Nous n'enregistrons aucun cookie et ne sauvegardons aucune donnée personnelle !"
,
"legals_cookies_content"
:
"Nous n'enregistrons aucun cookie et ne sauvegardons aucune donnée personnelle !"
,
"rewards_tooltip"
:
"Indiquer le
résultat obtenu
"
,
"rewards_tooltip"
:
"Indiquer le
s récompenses obtenues
"
,
"rewards_title"
:
"Résultat
/ Récompense
"
,
"rewards_title"
:
"Résultat
s / Récompenses
"
,
"rewards_type_label"
:
"Type"
,
"rewards_type_label"
:
"Type"
,
"rewards_type_none"
:
"Aucune"
,
"rewards_type_none"
:
"Aucune"
,
"rewards_type_object"
:
"Objet"
,
"rewards_type_object"
:
"Objet"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment