Exemplo n.º 1
0
// Called when the game starts
void UInventoryComponent::BeginPlay()
{
	Super::BeginPlay();
	
	equipment = NewObject<UCharacterEquipment>(this, equipment->GetClass());
	for (int i = 0; i < beginPlayEquipment.Num(); i++)
	{

		if (beginPlayEquipment[i].item)
		{
			UItemBase* x = NewObject<UItemBase>(this, beginPlayEquipment[i].item);
			if (x)
			{
				x->ammount = beginPlayEquipment[i].ammount;
				x->initialize(GetOwner()->GetWorld());
				addItem(x);
			}
		}
	}
	
	equipment->attachedInventory = this;
	if (requiresUI) loadUI();
	
	showInventory();
	hideInventory();
	// ...
	
}
Exemplo n.º 2
0
//Returns -1 on failure, 0 on success, sets up the module
int setupGraphicModule(int fd, GraphicModule * module){

	//Zero the buffered array
	memset(buffered,0,sizeof(buffered));

	module->memShareAddr = mmap(NULL, MEMSHARESIZE, PROT_READ, MAP_SHARED, fd, 0);
	if(module->memShareAddr == MAP_FAILED){
		perror("memsharegraphic");
		puts("Failed to map memory share to network module");
		return -1;
	}
	module->memShareFD = fd;
	msync(module->memShareAddr,sizeof(int),MS_SYNC|MS_INVALIDATE);

	//Set up the graphics
	if (SDL_Init(SDL_INIT_VIDEO) < 0 ){
		puts("Failed to initalize video");
		return -1;
	}

	module->screen = SDL_SetVideoMode(SCREENWIDTH, SCREENHEIGHT, SCREENDEPTH, SDL_HWSURFACE);
	if(module->screen == NULL){
		puts("Failed to set video mode");
		SDL_Quit();
		return -1;
	}

    //Create the drawing and document surfaces 
    module->drawing = createSurface(SDL_SWSURFACE, SCREENWIDTH,SCREENHEIGHT,module->screen);
    if(module->drawing == NULL){
        puts("failed to create drawing surface");
        SDL_Quit();
        return -1;
    }
   
    //Load the bitmap engine within the module
    
    module->font = malloc(sizeof(BitFont*));
    if(setupBitFont(module->font) < 0){
        puts("Failed to create the bitmap engine");
        SDL_Quit();
        return -1;
    }

    if(loadUI(module) < 0){
        puts("Failed to load User Interface");
        SDL_Quit();
        return -1;
    }

    //Set the stop flag
    module->stopFlag = 0;

    SDL_WM_SetCaption( "Smart Desk | Interactive Learning Software", NULL);

	return 0;
}
Exemplo n.º 3
0
AddTulpaWidget::AddTulpaWidget(QString name, QWidget *parent): QWidget(parent)
{
    this->path = path;
    loadUI();

    if(!name.isEmpty())
    {
        loadTulpa(name);
    }
}
Exemplo n.º 4
0
void ObjectBrowserWidget::loadData()
{
  const CCopasiContainer * root = CCopasiRootContainer::getRoot();
  ObjectBrowserItem * itemRoot = new ObjectBrowserItem(ObjectListView, NULL, root, objectItemList);
  itemRoot->attachKey();
  itemRoot->setObjectType(CONTAINERATTR);
  //  itemRoot->setText(0, FROM_UTF8(root->getObjectName()));
  itemRoot->setText(0, QString("COPASI"));
  itemRoot->setOpen(true);
  loadChild(itemRoot, root, true);
  removeDuplicate(objectItemList);
  loadUI();
}
Exemplo n.º 5
0
// on "init" you need to initialize your instance
bool GameLayer::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init())
    {
        return false;
    }
    addTouch();
    loadUI();
    addPig();
    objManager = ObjManager::getInstance();
    test();
    addTopLayer();
    this->schedule( schedule_selector(GameLayer::generateUpdate), speep );
    return true;
}
Exemplo n.º 6
0
bool TollgateScene::init(){
	if (!Layer::init()){ return false; }
	m_iScore = 0;
	
	Size visibleSize = Director::getInstance()->getVisibleSize();

	Sprite* titleSprite = Sprite::create("title.png");
	titleSprite->setPosition(Point(visibleSize.width / 2, visibleSize.height - 50));
	this->addChild(titleSprite, 2);

	m_player = Player::create();
	m_player->bindSprite(Sprite::create("sprite.png"));
	m_player->setPosition(Point(200, visibleSize.height / 4));
	this->addChild(m_player, 3);


	initBG();
	loadUI();
	MonsterManager* monsterMgr = MonsterManager::create();
	this->addChild(monsterMgr, 4);
	monsterMgr->bindPlayer(m_player);
	this->scheduleUpdate();
	return true;
}
Exemplo n.º 7
0
bool cEditor::run(IrrlichtDevice* irr_device){
	// Get Pointers
	device=irr_device;
	driver = device->getVideoDriver();
	smgr = device->getSceneManager();
	guienv = device->getGUIEnvironment();
	
	data=new ed_data();
	data->snapping = true;
	data->limiting = true;

	coli=smgr->getSceneCollisionManager();
	device->setWindowCaption(L"The NodeBox Generator");
	device->setResizable(true);

	// Calculate Projection Matrix
	matrix4 projMat;
	irr::f32 orth_w = (float)driver->getScreenSize().Width / (float)driver->getScreenSize().Height;
	orth_w = 3 * orth_w;
	projMat.buildProjectionMatrixOrthoLH(orth_w,3,1,100);
	
	// Add rotational camera
	pivot=smgr->addEmptySceneNode(0,199);
	pivot->setPosition(vector3df(0,0,0));
	camera[0]=smgr->addCameraSceneNode(pivot,vector3df(0,0,-2),vector3df(0,0,0));
	smgr->setActiveCamera(camera[0]);
	pivot->setRotation(vector3df(25,-45,0));

	// Add Topdown camera
	camera[1]=smgr->addCameraSceneNode(NULL,vector3df(0,2,-0.01),vector3df(0,0,0));
	camera[1]->setProjectionMatrix(projMat,true);
	
	// Add front camera
	camera[2]=smgr->addCameraSceneNode(NULL,vector3df(0,0,-5),vector3df(0,0,0));
	camera[2]->setProjectionMatrix(projMat,true);

	// Add side camera
	camera[3]=smgr->addCameraSceneNode(NULL,vector3df(-5,0,0),vector3df(0,0,0));
	camera[3]->setProjectionMatrix(projMat,true);	

	// Add Light
	ILightSceneNode* light=smgr->addLightSceneNode(0,vector3df(25,50,0));
	light->setLightType(ELT_POINT);
	light->setRadius(2000);

	// Add Plane
	IMeshSceneNode* plane = smgr->addCubeSceneNode(1,0,-1,vector3df(0.5,-5.5,0.5),vector3df(0,0,0),vector3df(10,10,10));
	plane->setMaterialTexture(0, driver->getTexture("texture_terrain.png"));
	plane->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
	plane->getMaterial(0).getTextureMatrix(0).setTextureScale(10,10);

	// Add sky box
	scene::IMeshSceneNode* skybox=smgr->addCubeSceneNode(50);
	skybox->setMaterialTexture(0, driver->getTexture("sky.jpg"));
	skybox->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
	skybox->setMaterialFlag(video::EMF_LIGHTING,false);
	smgr->getMeshManipulator()->flipSurfaces(skybox->getMesh());
	plane_tri=smgr->createOctreeTriangleSelector(skybox->getMesh(),skybox);

	//Setup Current Manager
	nodes[0]=new cNode(device,data);
	curId=0;

	loadUI();

	unsigned int counter=0;

	while (device->run()){
		counter++;
		driver->beginScene(true, true, irr::video::SColor(255,100,101,140));
	
		int ResX = driver->getScreenSize().Width;
		int ResY = driver->getScreenSize().Height;

		if (isSplitScreen==true)
		{
			// Draw Camera 0
			if (camera[0]){
				smgr->setActiveCamera(camera[0]);
				driver->setViewPort(rect<s32>(0,0,ResX/2,ResY/2));
				smgr->drawAll();
			}

			// Draw Camera 1
			if (camera[1]){
				smgr->setActiveCamera(camera[1]);
				driver->setViewPort(rect<s32>(ResX/2,0,ResX,ResY/2));
				smgr->drawAll();
				
				updatePoint(0,4);
			}

			// Draw Camera 2
			if (camera[2]){
				smgr->setActiveCamera(camera[2]);
				driver->setViewPort(rect<s32>(0,ResY/2,ResX/2,ResY));
				smgr->drawAll();

				updatePoint(4,8);
			}

			// Draw Camera 3
			if (camera[3]){
				smgr->setActiveCamera(camera[3]);
				driver->setViewPort(rect<s32>(ResX/2,ResY/2,ResX,ResY));				
				smgr->drawAll();

				updatePoint(8,12);
			}
		}else if (camera[currentWindow]){
			smgr->setActiveCamera(camera[currentWindow]);
			driver->setViewPort(rect<s32>(0,0,ResX,ResY));			
			smgr->drawAll();
		}
  
		driver->setViewPort(rect<s32>(0,0,ResX,ResY));
		guienv->drawAll();
		driver->endScene();

		if (counter>500){	
			counter=0;
			if (nodes[curId])
				nodes[curId]->update();	
		}

	}

	return true;
}
Exemplo n.º 8
0
bool PlayLayer::init()
{
    if (!Layer::init()) {
        return false;
    }
    
	// 创建游戏背景
	initBG();

	//加载UI
	loadUI();

	// 初始化寿司精灵表单
    SpriteFrameCache::getInstance()->addSpriteFramesWithFile("sushi.plist");
    spriteSheet = SpriteBatchNode::create("sushi.pvr.ccz");
    addChild(spriteSheet);
    
	// 初始化矩阵的宽和高,即:寿司的长宽个数。MATRIX_WIDTH、MATRIX_HEIGHT通过宏定义
    m_width = MATRIX_WIDTH;
    m_height = MATRIX_HEIGHT;
    
	// 初始化寿司矩阵左下角的点
	Size visibleSize = Director::getInstance()->getVisibleSize();
	m_matrixLeftBottomX = (visibleSize.width - SushiSprite::getContentWidth() * m_width - (m_width - 1) * SUSHI_GAP) / 2;
	m_matrixLeftBottomY = (visibleSize.height - SushiSprite::getContentWidth() * m_height - (m_height - 1) * SUSHI_GAP) / 2;
    
	// 初始化数组
    int arraySize = sizeof(SushiSprite *) * m_width * m_height;//数组尺寸大小
	//为 m_matrix 分配内存,这里 m_matrix 是指向指针类型的指针,其定义为:SushiSprite **m_matrix。所以可以理解为 m_matrix 是一个指针数组
    m_matrix = (SushiSprite **)malloc(arraySize);
    memset((void*)m_matrix, 0, arraySize);//初始化数组 m_matrix
    
	/*  memset 补充

	void *memset(void *s, int ch, size_t n);
	函数解释:s 指向的某一块内存,将 s 中前 n 个字节 (typedef unsigned int size_t )用 ch 指定的ASCII值 替换并返回 s 。
	memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。

	*/
	//初始化寿司矩阵
    initMatrix();

	//调用定时器
    scheduleUpdate();
	this->schedule(schedule_selector(PlayLayer::timeUpdate), 1.0f);

	//创建并绑定触摸机制
	// 1. 创建一个事件监听器,Onebyone 为单点触摸
	auto touchListener = EventListenerTouchOneByOne::create();
	// 2. 绑定触摸事件
	touchListener->onTouchBegan = CC_CALLBACK_2(PlayLayer::onTouchBegan, this); // 触摸开始时触发
	touchListener->onTouchMoved = CC_CALLBACK_2(PlayLayer::onTouchMoved, this); // 触摸移动时触发
	// 3. 添加监听器
	_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);// addEventListenerWithSceneGraphPriority(EventListener *listener,Node *node); 事件监听器优先级为 0
	//而 _eventDispatcher->addEventListenerWithFixedPriority(EventListenr *listener,int fixedPriority)的优先级由我们设置,但不能为 0 
	/*		
		eventDispatcher事件分发器,
			1. eventDispatcher 是 Node 的属性,
			2. 通过它我们可以统一管理当前节点(如:场景、层、精灵等)的所有事件分发情况。
			3. 但是它本身是一个单例模式值的引用,在 Node 构造函数中,通过 “Director::getInstance()->getEventDispatcher();” 获取,有了这个属性,我们能更为方便的调用。
	*/
    return true;
}
void BloodFlashPage::onEnterState()
{
    MsgChangeBackground msg("");
    MessageCenter::getInstance()->sendMessage(&msg);
    loadUI();
}
void CustomSpritePage::onEnterState()
{
    MsgChangeBackground msg("");
    MessageCenter::getInstance()->sendMessage(&msg);
    loadUI();
}
void SpriteBatchNodeTestPage::onEnterState()
{
    MsgChangeBackground msg("");
    MessageCenter::getInstance()->sendMessage(&msg);
    loadUI();
}