26 #ifndef SAGA2_CONTAIN_H 27 #define SAGA2_CONTAIN_H 29 #include "saga2/floating.h" 36 class ScrollingContainerView;
37 class ActorContainerView;
38 class ReadyContainerView;
39 class SmallContainerView;
40 class EnchantContainerView;
44 class ContainerWindow;
46 class ContainerManager;
47 struct ContainerAppearanceDef;
49 class CMassWeightIndicator;
54 class GfxMultCompButton;
108 AppFunc *cmd = NULL);
130 ObjectID getObject(int16 slotNum);
144 ObjectID pickObjectID(
const Point16 &pickPos);
172 bool activate(gEventType why);
184 void add(ObjectID newObj);
185 void remove(ObjectID obj);
186 void swap(ObjectID newObj, ObjectID oldObj);
190 void updateMouseText(
Point16 &pickPos);
217 void setScrollOffset(int8 num);
228 AppFunc *cmd = NULL);
246 const char saveas[]);
252 return getView()._containerObject;
255 virtual void massBulkUpdate() {}
266 const char saveas[]);
269 if (_view->_scrollPosition > 0) _view->_scrollPosition--;
273 if (_view->_scrollPosition + _view->_visibleRows < _view->_totalRows)
274 _view->_scrollPosition++;
288 void setContainerSprite();
299 void massBulkUpdate();
334 hResID closeResID[2],
361 enum ContainerNodeOwnerType {
369 enum ContainerNodeOwners {
373 enum containerAction {
374 kActionUpdate = (1 << 0),
375 kActionDelete = (1 << 1),
376 kActionHide = (1 << 2),
377 kActionShow = (1 << 3)
413 static int32 archiveSize() {
414 return sizeof(Archive);
426 void markForDelete() {
427 _action |= kActionDelete;
430 _action |= kActionShow;
431 _action &= ~kActionHide;
434 _action |= kActionHide;
435 _action &= ~kActionShow;
437 void markForUpdate() {
438 _action |= kActionUpdate;
449 uint8 getOwnerIndex() {
452 ObjectID getObject() {
458 void setObject(ObjectID
id) {
464 bool isAccessable(ObjectID enactor);
466 void changeOwner(int16 newOwner);
489 ObjectID _lastPickedObjectID;
497 int32 _lastPickedObjectQuantity;
499 int32 _amountAccumulator;
508 char _mouseText[kBufSize];
511 _alreadyDone = _objTextAlarm = _mouseInView =
false;
512 _lastPickedObjectID = Nothing;
515 _lastPickedObjectQuantity = - 1;
516 _amountAccumulator = 0;
519 memset(_mouseText, 0,
sizeof(_mouseText));
539 void setPlayerNum(PlayerActorID playerNum);
540 void doDeferredActions();
541 void setUpdate(ObjectID
id);
544 ContainerNode *CreateContainerNode(ObjectID
id,
bool open =
true, int16 mindType = 0);
545 ContainerNode *CreateReadyContainerNode(PlayerActorID player);
546 ContainerNode *OpenMindContainer(PlayerActorID player, int16 open, int16 type);
552 void initContainers();
553 void cleanupContainers();
555 void initContainerNodes();
558 void cleanupContainerNodes();
560 extern void updateContainerWindows();
562 extern APPFUNC(cmdCloseButtonFunc);
563 extern APPFUNC(cmdMindContainerFunc);
564 extern APPFUNC(cmdScrollFunc);
Definition: objproto.h:371
Definition: contain.h:302
Definition: savefile.h:54
Definition: contain.h:279
In find(In first, In last, const T &v)
Definition: algorithm.h:225
Definition: intrface.h:293
Definition: contain.h:354
Definition: memstream.h:194
Definition: tcoords.h:127
void push_front(const t_T &element)
Definition: list.h:135
Definition: contain.h:223
Definition: contain.h:326
Definition: contain.h:313
Definition: objects.h:118
void remove(const t_T &val)
Definition: list.h:125
Definition: floating.h:272
Definition: contain.h:197
Definition: contain.h:471
Definition: contain.h:238