Crossfire Resources Editor
GeneralMessageWrapper.cpp
Go to the documentation of this file.
1
/*
2
* Crossfire -- cooperative multi-player graphical RPG and adventure game
3
*
4
* Copyright (c) 2022 the Crossfire Development Team
5
*
6
* Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
7
* welcome to redistribute it under certain conditions. For details, please
8
* see COPYING and LICENSE.
9
*
10
* The authors can be reached via e-mail at <crossfire@metalforge.org>.
11
*/
12
13
#include "
GeneralMessageWrapper.h
"
14
#include "
ResourcesManager.h
"
15
16
AssetWrapper::PossibleUse
GeneralMessageWrapper::uses
(
const
AssetWrapper
*asset, std::string &)
const
{
17
auto
face
=
dynamic_cast<
const
FaceWrapper
*
>
(asset);
18
if
(
face
) {
19
return
myWrappedItem
->face ==
face
->wrappedItem() ?
Uses
:
DoesntUse
;
20
}
21
auto
quest
=
dynamic_cast<
const
QuestWrapper
*
>
(asset);
22
if
(
quest
&&
myWrappedItem
->quest_code) {
23
std::string name(
myWrappedItem
->quest_code);
24
size_t
len = strlen(
quest
->wrappedItem()->quest_code);
25
return
(name.length() > len && name[len] ==
' '
&& name.substr(0, len) ==
quest
->wrappedItem()->quest_code) ?
Uses
:
DoesntUse
;
26
}
27
return
DoesntUse
;
28
}
29
30
void
GeneralMessageWrapper::wasModified
(
AssetWrapper
*asset,
ChangeType
type,
int
extra) {
31
myResources
->
generalMessageModified
(
myWrappedItem
);
32
AssetWrapper::wasModified
(asset, type, extra);
33
}
34
35
void
GeneralMessageWrapper::setTitle
(
const
QString &title) {
36
if
(
myWrappedItem
->title !=
title
) {
37
FREE_AND_COPY_IF(
myWrappedItem
->title,
title
.toLocal8Bit().data());
38
markModified
(
AssetUpdated
);
39
}
40
}
41
42
void
GeneralMessageWrapper::setQuest
(
const
QString &quest) {
43
if
(
myWrappedItem
->quest_code !=
quest
) {
44
FREE_AND_COPY_IF(
myWrappedItem
->quest_code,
quest
.toLocal8Bit().data());
45
markModified
(
AssetUpdated
);
46
}
47
}
48
49
void
GeneralMessageWrapper::setChance
(
int
chance) {
50
if
(
chance
!=
myWrappedItem
->chance) {
51
myWrappedItem
->chance =
chance
;
52
markModified
(
AssetUpdated
);
53
}
54
}
55
56
void
GeneralMessageWrapper::setFace
(
const
Face *face) {
57
if
(
myWrappedItem
->face !=
face
) {
58
myWrappedItem
->face =
face
;
59
markModified
(
AssetUpdated
);
60
}
61
}
62
63
void
GeneralMessageWrapper::setMessage
(
const
QString &message) {
64
auto
msg(
message
);
65
if
(!msg.isEmpty() && msg[msg.size() - 1] !=
'\n'
) {
66
msg +=
"\n"
;
67
}
68
if
(
myWrappedItem
->message != msg) {
69
FREE_AND_COPY_IF(
myWrappedItem
->message, msg.toLocal8Bit().data());
70
markModified
(
AssetUpdated
);
71
}
72
}
AssetTWrapper< GeneralMessage >::myWrappedItem
GeneralMessage * myWrappedItem
Definition:
AssetWrapper.h:110
GeneralMessageWrapper.h
GeneralMessageWrapper::setMessage
void setMessage(const QString &message)
Definition:
GeneralMessageWrapper.cpp:63
AssetWrapper::AssetUpdated
@ AssetUpdated
Definition:
AssetWrapper.h:33
GeneralMessageWrapper::message
QString message
Definition:
GeneralMessageWrapper.h:34
QuestWrapper
Definition:
QuestWrapper.h:66
AssetWrapper::PossibleUse
PossibleUse
Definition:
AssetWrapper.h:32
FaceWrapper
Definition:
FaceWrapper.h:24
GeneralMessageWrapper::quest
QString quest
Definition:
GeneralMessageWrapper.h:31
AssetWrapper
Base class for all assets that can be displayed or edited by CRE.
Definition:
AssetWrapper.h:25
AssetWrapper::ChangeType
ChangeType
Definition:
AssetWrapper.h:33
AssetWrapper::Uses
@ Uses
Definition:
AssetWrapper.h:32
ResourcesManager.h
GeneralMessageWrapper::myResources
ResourcesManager * myResources
Definition:
GeneralMessageWrapper.h:60
GeneralMessageWrapper::title
QString title
Definition:
GeneralMessageWrapper.h:29
GeneralMessageWrapper::setFace
void setFace(const Face *face)
Definition:
GeneralMessageWrapper.cpp:56
AssetWrapper::wasModified
virtual void wasModified(AssetWrapper *asset, ChangeType type, int extra)
Definition:
AssetWrapper.h:84
GeneralMessageWrapper::setChance
void setChance(int chance)
Definition:
GeneralMessageWrapper.cpp:49
GeneralMessageWrapper::chance
int chance
Definition:
GeneralMessageWrapper.h:32
ResourcesManager::generalMessageModified
void generalMessageModified(GeneralMessage *message)
Definition:
ResourcesManager.cpp:256
GeneralMessageWrapper::face
const Face face
Definition:
GeneralMessageWrapper.h:33
AssetWrapper::markModified
void markModified(ChangeType change, int extra=0)
Definition:
AssetWrapper.h:57
GeneralMessageWrapper::setQuest
void setQuest(const QString &quest)
Definition:
GeneralMessageWrapper.cpp:42
AssetWrapper::DoesntUse
@ DoesntUse
Definition:
AssetWrapper.h:32
GeneralMessageWrapper::uses
virtual PossibleUse uses(const AssetWrapper *asset, std::string &) const override
Definition:
GeneralMessageWrapper.cpp:16
GeneralMessageWrapper::setTitle
void setTitle(const QString &title)
Definition:
GeneralMessageWrapper.cpp:35
GeneralMessageWrapper::wasModified
virtual void wasModified(AssetWrapper *asset, ChangeType type, int extra) override
Definition:
GeneralMessageWrapper.cpp:30
crossfire-crossfire-server
utils
cre
general_messages
GeneralMessageWrapper.cpp
Generated on Mon Sep 1 2025 00:41:07 for Crossfire Resources Editor by
1.8.17