| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import { _decorator, Component, Toggle, ToggleContainer, Animation, v3 } from 'cc';
- import { BattleData } from '../battle/BattleData';
- import { DataSystem } from '../core/data/DataSystem';
- import { Http, HttpResponseCode } from '../core/net/Http';
- import { UITween } from '../core/ui/tween/UITween';
- import { Window } from '../core/ui/window/Window';
- import { platform } from '../data/jsb/platform';
- import { UserData } from '../data/UserData';
- import { FormationData } from '../hero/formation/FormationData';
- import { UserHeroData } from '../hero/UserHeroData';
- const { ccclass, property, requireComponent } = _decorator;
- /**
- * 图鉴英雄项
- * @author 袁浩
- */
- @ccclass('FirstHero')
- @requireComponent(Http)
- export class FirstHero extends Component {
- @property({ tooltip: "武将列表容器", type: ToggleContainer })
- public heroContainer: ToggleContainer;
- private selectedIndex = 0;
- public onSelected(toggle: Toggle) {
- for (let i = 0; i < this.heroContainer.toggleItems.length; i++) {
- const item = this.heroContainer.toggleItems[i];
- if (item != toggle) {
- item.node.getChildByName("缩小动画").getComponent(UITween).play();
- }
- else {
- this.selectedIndex = i;
- }
- }
- toggle.node.getChildByName("放大动画").getComponent(UITween).play();
- }
- public async onReceive() {
- let http = this.getComponent(Http);
- let result = await http.send("/api/hero/receiveFirstHero", { index: this.selectedIndex });
- if (result && result.code == HttpResponseCode.Success) {
- platform.reportThinking("guide", JSON.stringify({ guide_id: 'first_recruit' }));
- let userHero = DataSystem.getData(UserHeroData);
- userHero.addHero(result.data);
- let formation = DataSystem.getData(FormationData);
- formation.set(1, result.data);
- let userData = DataSystem.getData(UserData);
- let battleResult = await http.send("/api/battle/startBattle", { level: userData.level });
- if (battleResult && battleResult.code == HttpResponseCode.Success) {
- DataSystem.getData(BattleData).mission = userData.level;
- }
- this.getComponent(Window).close();
- }
- }
- }
|