ref #97 Chanhe name class ControlPos to layout, delete groupobjitem.

This commit is contained in:
IgorekLoschinin 2021-09-17 21:12:33 +03:00
parent b2c1eda16c
commit 0643c0001e
9 changed files with 47 additions and 83 deletions

View File

@ -5,41 +5,41 @@
//# of this license document, but changing it is not allowed.
//#
#include "controlpos.h"
#include "layout.h"
#include "clasteritem.h"
#include <QtMath>
namespace CRAWL {
ControlPos::ControlPos() {
Layout::Layout() {
}
void ControlPos::add(ClasterItem *object) {
void Layout::add(ClasterItem *object) {
Claster::add(object);
updatePosition();
}
void ControlPos::remove(ClasterItem *object) {
void Layout::remove(ClasterItem *object) {
Claster::remove(object);
updatePosition();
}
void ControlPos::changeLayout(const Refresh &fig) {
void Layout::changeLayout(const Refresh &fig) {
_shape = fig;
updatePosition();
}
void ControlPos::setDistance(int dist) {
void Layout::setDistance(int dist) {
_distance = dist;
updatePosition();
}
void ControlPos::updatePosition() {
void Layout::updatePosition() {
switch (_shape) {
case CIRCLE:
@ -60,7 +60,7 @@ void ControlPos::updatePosition() {
}
void ControlPos::drawCircle() {
void Layout::drawCircle() {
if (objects().size() == 0) {
QuasarAppUtils::Params::log(QString("The number of objects is zero. Add object."), QuasarAppUtils::Error);
@ -81,7 +81,7 @@ void ControlPos::drawCircle() {
}
void ControlPos::drawSquare() {
void Layout::drawSquare() {
if (objects().size() == 0) {
QuasarAppUtils::Params::log(QString("The number of objects is zero. Add object."), QuasarAppUtils::Error);
@ -105,7 +105,7 @@ void ControlPos::drawSquare() {
}
void ControlPos::drawLine() {
void Layout::drawLine() {
if (objects().size() == 0) {
QuasarAppUtils::Params::log(QString("The number of objects is zero. Add object."), QuasarAppUtils::Error);

View File

@ -5,8 +5,8 @@
//# of this license document, but changing it is not allowed.
//#
#ifndef CONTROLPOS_H
#define CONTROLPOS_H
#ifndef LAYOUT_H
#define LAYOUT_H
#include <Crawl/groupobject.h>
@ -25,9 +25,9 @@ enum Refresh {
/**
* @brief The ControlPos class The class that control position of group objects.
*/
class ControlPos: public GroupObject {
class Layout: public GroupObject {
public:
ControlPos();
Layout();
// Claster interface
public:
@ -75,4 +75,4 @@ private:
};
}
#endif // CONTROLPOS_H
#endif // LAYOUT_H

View File

@ -11,7 +11,7 @@
namespace TestLvl {
Box::Box(): IWorldItem("Box") {
Box::Box(): ClasterItem("Box") {
setMash("qrc:/mesh/meshes/cube.mesh");
setSize({2,2,2});
setColor(QColor::fromRgb(rand()).name());

View File

@ -7,12 +7,12 @@
#ifndef BOX_H
#define BOX_H
#include "Crawl/iworlditem.h"
#include "Crawl/clasteritem.h"
namespace TestLvl {
class Box: public CRAWL::IWorldItem {
class Box: public CRAWL::ClasterItem {
public:
Box();

View File

@ -7,20 +7,34 @@
#include "box.h"
#include "groupobjbox.h"
#include "groupobjboxitem.h"
namespace TestLvl {
GroupObjBox::GroupObjBox(): CRAWL::IWorldItem("GroupObjBox") {
GroupObjBox::GroupObjBox(): CRAWL::ClasterItem("GroupObjBox") {
setDistance(2);
changeLayout(CRAWL::Refresh::CIRCLE);
add(new GroupObjboxItem);
add(new GroupObjboxItem);
add(new GroupObjboxItem);
add(new GroupObjboxItem);
add(new GroupObjboxItem);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
add(new Box);
}
@ -35,4 +49,6 @@ void GroupObjBox::init()
}
}

View File

@ -8,12 +8,12 @@
#ifndef GROUPOBJBOX_H
#define GROUPOBJBOX_H
#include "Crawl/controlpos.h"
#include "Crawl/iworlditem.h"
#include "Crawl/layout.h"
#include "Crawl/clasteritem.h"
namespace TestLvl {
class GroupObjBox: public CRAWL::ControlPos, public CRAWL::IWorldItem {
class GroupObjBox: public CRAWL::Layout, public CRAWL::ClasterItem {
public:
GroupObjBox();
@ -22,6 +22,7 @@ public:
public:
void render(unsigned int tbfMsec);
void init();
};
}

View File

@ -1,24 +0,0 @@
//#
//# Copyright (C) 2021-2021 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
#include "groupobjboxitem.h"
namespace TestLvl {
GroupObjboxItem::GroupObjboxItem(): CRAWL::ClasterItem("GroupObjboxItem") {
}
void GroupObjboxItem::init() {
}
void GroupObjboxItem::render(unsigned int tbfMsec) {
}
}

View File

@ -1,29 +0,0 @@
//#
//# Copyright (C) 2021-2021 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#
#ifndef GROUPOBJBOXITEM_H
#define GROUPOBJBOXITEM_H
#include "box.h"
#include "Crawl/clasteritem.h"
namespace TestLvl {
class GroupObjboxItem: public CRAWL::ClasterItem, public Box {
public:
GroupObjboxItem();
// IRender interface
public:
void init();
void render(unsigned int tbfMsec);
};
}
#endif // GROUPOBJBOXITEM_H

View File

@ -32,7 +32,7 @@ CRAWL::WorldRule *World::initWorldRules() {
using Day = CRAWL::Day<CRAWL::Sun, CRAWL::Moon>;
return new CRAWL::WorldRule {
{0, {{registerObject<Box>(), 1000},
{0, {{registerObject<Box>(), 1},
{registerObject<CRAWL::Fire>(), 10},
{registerObject<CRAWL::DynamicWint>(), 1},
@ -40,7 +40,7 @@ CRAWL::WorldRule *World::initWorldRules() {
{registerObject<Day>(), 1}}},
{500,
{
{registerObject<GroupObjBox>(),20}
{registerObject<GroupObjBox>(),1}
}
},