DataEditorControl::DataEditorControl(Ui::MainWindow *ui)
{
	//设置视图模型
	mSoldierTableModule = new SoldierTableModule(this);
	mSoldierTableView = ui->soldierTableView;
	mSoldierTableView->setModel(mSoldierTableModule);

	mHorseTableModule = new HorseTableModule(this);
	mHorseTableView = ui->horseTableView;
	mHorseTableView->setModel(mHorseTableModule);

	mPWeaponTableModule = new PWeaponTableModule(this);
	mPWeaponTableView = ui->pweaponTableView;
	mPWeaponTableView->setModel(mPWeaponTableModule);

	mSWeaponTableModule = new SWeaponTableModule(this);
	mSWeaponTableView = ui->sweaponTableView;
	mSWeaponTableView->setModel(mSWeaponTableModule);

	mArmorTableModule = new ArmorTableModule(this);
	mArmorTableView = ui->armorTableView;
	mArmorTableView->setModel(mArmorTableModule);

	mShieldTableModule = new ShieldTableModule(this);
	mShieldTableView = ui->shieldTableView;
	mShieldTableView->setModel(mShieldTableModule);

	mSkillTableModule = new SkillTableModule(this);
	mSkillTableView = ui->skillTableView;
	mSkillTableView->setModel(mSkillTableModule);

	mEffectTableModule = new EffectTableModule(this);
	mEffectTableView = ui->effectTableView;
	mEffectTableView->setModel(mEffectTableModule);

	mSquadTableModule = new SquadTableModule(this);
	mSquadTableView = ui->squadTableView;
	mSquadTableView->setModel(mSquadTableModule);

	mSquadSkillTableModule = new SquadSkillTableModule(this);
	mSquadSkillTableView = ui->squadSkillTableView;
	mSquadSkillTableView->setModel(mSquadSkillTableModule);

	mStringTableModule = new StringTableModule(this);
	mStringTableView = ui->stringTableView;
	mStringTableView->setModel(mStringTableModule);

	mModBox = ui->modBox;
	mLangBox = ui->langBox;
	RefreshModList();

	//连接消息
	connect(ui->addMod,SIGNAL(clicked()),this,SLOT(AddMod()));
	connect(ui->addLang,SIGNAL(clicked()),this,SLOT(AddLang()));
	connect(ui->addSoldier,SIGNAL(clicked()),this,SLOT(AddSoldier()));
	connect(ui->delSoldier,SIGNAL(clicked()),this,SLOT(DelSoldier()));
	connect(ui->addHorse,SIGNAL(clicked()),this,SLOT(AddHorse()));
	connect(ui->delHorse,SIGNAL(clicked()),this,SLOT(DelHorse()));
	connect(ui->addPWeapon,SIGNAL(clicked()),this,SLOT(AddPWeapon()));
	connect(ui->delPWeapon,SIGNAL(clicked()),this,SLOT(DelPWeapon()));
	connect(ui->addSWeapon,SIGNAL(clicked()),this,SLOT(AddSWeapon()));
	connect(ui->delSWeapon,SIGNAL(clicked()),this,SLOT(DelSWeapon()));
	connect(ui->addArmor,SIGNAL(clicked()),this,SLOT(AddArmor()));
	connect(ui->delArmor,SIGNAL(clicked()),this,SLOT(DelArmor()));
	connect(ui->addShield,SIGNAL(clicked()),this,SLOT(AddShield()));
	connect(ui->delShield,SIGNAL(clicked()),this,SLOT(DelShield()));
	connect(ui->addSkill,SIGNAL(clicked()),this,SLOT(AddSkill()));
	connect(ui->delSkill,SIGNAL(clicked()),this,SLOT(DelSkill()));
	connect(ui->addEffect,SIGNAL(clicked()),this,SLOT(AddEffect()));
	connect(ui->delEffect,SIGNAL(clicked()),this,SLOT(DelEffect()));
	connect(ui->addSquad,SIGNAL(clicked()),this,SLOT(AddSquad()));
	connect(ui->delSquad,SIGNAL(clicked()),this,SLOT(DelSquad()));
	connect(ui->addSquadSkill,SIGNAL(clicked()),this,SLOT(AddSquadSkill()));
	connect(ui->delSquadSkill,SIGNAL(clicked()),this,SLOT(DelSquadSkill()));
	connect(ui->addString,SIGNAL(clicked()),this,SLOT(AddString()));
	connect(ui->delString,SIGNAL(clicked()),this,SLOT(DelString()));

	connect(ui->squadTableView,SIGNAL(clicked(const QModelIndex &)),this,SLOT(SelectSquad(const QModelIndex &)));
}
示例#2
0
func FxHomeCallTimer(object target, proplist fx, int time)
{
	if(!master)
	{
		KillBall();
		return -1;
	}	
	
	if(GetEffect("Blocked", this))
	{
		ox=GetX();
		oy=GetY();
		return;
	}
	
	DrawParticleLine("Flash", 0, 0, ox-GetX(), oy-GetY(), 1, 0, 0, 15, hometrailparticles);
	
	if(time%7 == 0)
	{
		for(var i = 0; i < 360; i+=5)
		{
			CreateParticle("Flash", Sin(i, 3), -Cos(i, 5), 0, 0, 10, hometrailparticles2, 2);
		}
	}

	fx.x = master->GetX();
	fx.y = master->GetY();
	var angle = Angle(GetX(), GetY(), fx.x, fx.y, 10);
	var txdir = Sin(angle, Speed + 12, 10);
	var tydir = -Cos(angle, Speed + 12, 10);
	SetXDir((GetXDir() + (txdir - GetXDir())/2));
	SetYDir((GetYDir() + (tydir - GetYDir())/2));
	
	CheckForEnemies(HomeCallSize);
	
	ox=GetX();
	oy=GetY();
	
	var dst = Distance(GetX(), GetY(), fx.x, fx.y);
	if(dst < 8)
	{
		AddShield(master);
		Sound("Ball::ball_shield", false, 20);
		
		var particles =
		{
			Prototype = Particles_Glimmer(),
			R = pR,
			G = pG,
			B = pB,
			Alpha = 255,
			Size = PV_Linear(10, 0),
			OnCollision = PC_Bounce(),
		};
		CreateParticle("StarSpark", 0, 0, PV_Random(-60,60), PV_Random(-60, 60), 25, particles, 5);
		
		var particle =
		{
			Alpha = PV_Linear(255, 0),
			Size = 50,
			R = pR,
			G = pG,
			B = pB,
			BlitMode = GFX_BLIT_Additive,
		};
		master->CreateParticle("StarSpark", 0, 0, 0, 0, 7, particle, 4);
		
		FollowMaster();
		return -1;
	}
}