Пример #1
0
    void Awake()
    {
        Joystick          = transform.Find("Joystick").GetComponent <ETCJoystick>();
        showTimerRequest  = GetComponent <ShowTimerRequest>();
        startPlayRequest  = GetComponent <StartPlayRequest>();
        gameOverRequest   = GetComponent <GameOverRequest>();
        quitBattleRequest = GetComponent <QuitBattleRequest>();
        quitGameRequest   = GetComponent <QuitGameRequest>();
        destroyRequest    = GetComponent <DestroyRequest>();
        gameChatRequest   = GetComponent <GameChatRequest>();
        knapsack          = transform.Find("KnapsackPanel").GetComponent <Knapsack>();
        for (int i = 0; i < 3; i++)
        {
            skillPos.Add(transform.Find("Skill" + i));
        }

        roleSelectPanel = transform.Find("RoleSelectPanel");

        timer        = transform.Find("TimerPanel/Time").GetComponent <Text>();
        gameOverText = transform.Find("GameOverPanel/GameOver").GetComponent <Text>();
        closeButton  = transform.Find("GameOverPanel/CloseButton").GetComponent <Button>();
        closeButton.onClick.AddListener(OnCloseClick);

        EffectDict    = facade.GetEffectDict();
        SkillItemDict = facade.GetSkillItemDict();

        transform.Find("SettingPanel/QuitGameButton").GetComponent <Button>().onClick.AddListener(OnQuitGameClick);

        chatDialog = transform.Find("ChatDialog");
        sendButton = transform.Find("ChatDialog/InputPanel/SendButton");
        chatButton = transform.Find("ChatDialog/ChatButton").GetComponent <Button>();
        inputField = transform.Find("ChatDialog/InputPanel/InputField").GetComponent <InputField>();
        sendButton.GetComponent <Button>().onClick.AddListener(OnSendClick);
        chatButton.onClick.AddListener(OnChatClick);
        inputField.onEndEdit.AddListener(x => OnSendClick());

        OtherPlayerChatMsgItem = Resources.Load <GameObject>("UIItem/Chat/OtherPlayerChatMsgItem");
        LocalPlayerChatMsgItem = Resources.Load <GameObject>("UIItem/Chat/LocalPlayerChatMsgItem");
        ChangeSeatItem         = Resources.Load <GameObject>("UIItem/ChangeSeatItem");
    }
Пример #2
0
    void Start()
    {
        facade.PlayBGM("pk");
        //初始化各种请求
        ActionPointIcon_Finish         = Resources.Load <Sprite>("Image/Icon/actionFinish");
        ActionPointIcon_Origin         = Resources.Load <Sprite>("Image/Icon/actionOrigin");
        showTimeRequest                = transform.GetComponent <ShowTimerRequest>();
        startGameRequest               = transform.GetComponent <StartGameRequest>();
        outCardRequest                 = transform.GetComponent <OutCardRequest>();
        gameOverRequest                = transform.GetComponent <GameOverRequest>();
        effectOverRequest              = transform.GetComponent <EffectOverRequest>();
        useSkillRequest                = transform.GetComponent <UseSkillRequest>();
        showTimeRequest.pvpFightPanel  = this;
        startGameRequest.pvpFightPanel = this;
        outCardRequest.pvpFightPanel   = this;
        gameOverRequest.pvpFightPanel  = this;
        useSkillRequest.pvpFightPanel  = this;
        //初始化信息表
        pvpPlayerInfo   = facade.GetPVPPlayerInfo();
        buff_info_dict  = facade.GetBuffInfoDict();
        card_info_dict  = facade.GetCardEffectDict();
        skill_info_dict = facade.GetAllSkillInfoDict();
        //初始化出牌信息字典
        OutCardInfoDict.Add(ElementType.Fire, 0);
        OutCardInfoDict.Add(ElementType.Water, 0);
        OutCardInfoDict.Add(ElementType.Earth, 0);
        OutCardInfoDict.Add(ElementType.Wind, 0);
        OutCardInfoDict.Add(ElementType.Thunder, 0);
        OutCardInfoDict.Add(ElementType.Dark, 0);
        SetGameInfo(facade.GetPVPInfo());
        //SynchroPlayerCard(playerCardInfo);
        //初始化显示卡牌列表
        cardInfoDict.Add(ElementType.Fire, 0);
        cardInfoDict.Add(ElementType.Water, 0);
        cardInfoDict.Add(ElementType.Earth, 0);
        cardInfoDict.Add(ElementType.Wind, 0);
        cardInfoDict.Add(ElementType.Thunder, 0);
        cardInfoDict.Add(ElementType.Dark, 0);

        //创建人物模型,设置技能
        string[] strs = pvpPlayerInfo.Split(',');
        player_hero = facade.getCardInfoDict()[playerHeroCardID];
        if (strs[2] != "00000")
        {
            staff_hero        = facade.getCardInfoDict()[int.Parse(strs[2])];
            StaffSkillTrigger = staff_hero.Staff_skill_self.isActionSkill ?
                                GameObject.Instantiate(Resources.Load <GameObject>("Prefab/AssistSkill"), transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").transform).transform :
                                GameObject.Instantiate(Resources.Load <GameObject>("Prefab/AssistPassiveSkill"), transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").transform).transform;
            StaffSkillTrigger.transform.localPosition = new Vector3(0, 0, 0);
            transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").GetComponent <Image>().sprite = Resources.Load <Sprite>(staff_hero.SkillIcon_path);
            player_hero.Staff_skill_other = staff_hero.Staff_skill_self;
        }
        else
        {
            transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").gameObject.SetActive(false);
        }
        ActionSkillTrigger = GameObject.Instantiate(Resources.Load <GameObject>("Prefab/ActionSkill"), transform.Find("PanelFight/PanelPlayerSkill/ActiveSkill").transform).transform;
        transform.Find("PanelFight/PanelPlayerSkill/ActiveSkill").GetComponent <Image>().sprite = Resources.Load <Sprite>(player_hero.SkillIcon_path);

        transform.Find("PanelFight/PanelPlayerSkill/PassiveSkillFirst").GetComponent <SkillCtrl>().skill  = player_hero.Prossive_skill_1;
        transform.Find("PanelFight/PanelPlayerSkill/PassiveSkillSecond").GetComponent <SkillCtrl>().skill = player_hero.Prossive_skill_2;
        transform.Find("PanelFight/PanelPlayerSkill/PassiveSkillThird").GetComponent <SkillCtrl>().skill  = player_hero.Prossive_skill_3;
        transform.Find("PanelFight/PanelPlayerSkill/ActiveSkill").GetComponent <SkillCtrl>().skill        = player_hero.Action_skill;
        transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").GetComponent <SkillCtrl>().skill        = player_hero.Staff_skill_other;
        transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").GetComponent <AssistSkillCtrl>().skill  = player_hero.Staff_skill_other;

        enemy_hero    = facade.getCardInfoDict()[enemyHeroCardID];
        player_heroGO = GameObject.Instantiate(Resources.Load <GameObject>(player_hero.FightModel_path), transform.Find("PanelFight/PanelFightInfo/player").transform);
        player_heroGO.GetComponent <AnimationCtrl>().isPVP = true;
        enemy_heroGO = GameObject.Instantiate(Resources.Load <GameObject>(enemy_hero.FightModel_path), transform.Find("PanelFight/PanelFightInfo/enemy").transform);
        enemy_heroGO.GetComponent <AnimationCtrl>().isPVP = true;
        enemy_heroGO.tag = "Enemy";


        //获取玩家信息面板
        playerInfo = transform.Find("PanelFight/PanelPlayerInfo").transform;
        //获取血量UI
        playerHpSlider = playerInfo.transform.Find("SliderPlayerHp").GetComponent <Slider>();
        //获取行动点UI
        playerActionPointSlider = playerInfo.transform.Find("SliderPlayer").GetComponent <Slider>();
        playerActionScrollView  = playerInfo.transform.Find("ScrollViewPlayer/Viewport/Content").transform;
        //获取BUFF列表UI
        playerBuffScrollView = playerInfo.Find("ScrollViewPlayerBuff/Viewport/Content").transform;


        //获取敌人信息面板
        enemyInfo = transform.Find("PanelFight/PanelEnemyInfo").transform;
        //获取血量UI
        enemyHpSlider = enemyInfo.transform.Find("SliderEnemyHp").GetComponent <Slider>();
        //获取行动点UI
        enemyActionPointSlider = enemyInfo.transform.Find("SliderEnemy").GetComponent <Slider>();
        enemyActionScrollView  = enemyInfo.transform.Find("ScrollViewEnemy/Viewport/Content").transform;
        //获取BUFF列表UI
        enemyBuffScrollView = enemyInfo.Find("ScrollViewEnemyBuff/Viewport/Content").transform;

        maskPanel      = transform.Find("MaskPanel").transform;
        maskLeftPanel  = maskPanel.transform.Find("LeftMask").transform;
        maskRightPanel = maskPanel.transform.Find("RightMask").transform;
        showTimePanel  = maskPanel.transform.Find("showtime").transform;
        vsPanel        = maskPanel.transform.Find("VS").transform;



        //播放卡牌动画
        transform.Find("white_image").transform.GetComponent <Animation>().Play();
        transform.Find("DrawCard").transform.GetComponent <Animation>().Play();
        transform.Find("PanelFight/PanelCardInfo/ScrollViewCard").transform.GetComponent <Animation>().Play();

        //出牌按钮事件
        transform.Find("DrawCard").GetComponent <Button>().onClick.AddListener(OnOutCardClick);
        transform.Find("white_image").GetComponent <Button>().onClick.AddListener(OnDownCardClick);


        //获取战斗结算面板
        PanelLost = transform.Find("PanelLost").transform;
        PanelWin  = transform.Find("PanelWin").transform;
        //战斗结算跳转事件
        PanelLost.Find("Button (1)").GetComponent <Button>().onClick.AddListener(OnGameOverClick);
        PanelWin.Find("Button").GetComponent <Button>().onClick.AddListener(OnGameOverClick);

        //技能使用事件
        transform.Find("PanelFight/PanelPlayerSkill/ActiveSkill").GetComponent <Button>().onClick.AddListener(delegate() { OnSkillBtnClick(player_hero.Active_skill_id.ToString()); });
        transform.Find("PanelFight/PanelPlayerSkill/AssistSkill").GetComponent <Button>().onClick.AddListener(delegate() { OnSkillBtnClick(player_hero.Staff_skill_other.Skill_id.ToString()); });

        fightInfoPanel    = transform.Find("PanelFight/PanelFightInfo").transform;
        cardPreview_Panel = transform.Find("CardPreview_Panel").transform;

        playerAnimator = player_heroGO.GetComponent <Animator>();
        enemyAnimator  = enemy_heroGO.GetComponent <Animator>();


        transform.Find("Preview_Button").GetComponent <Button>().onClick.AddListener(OnCardPreviewClick);

        if (PlayerPrefs.GetInt("PreviewTopControlBool_Save") == 0)
        {
            useCardPreview = true;
            cardPreview_Panel.gameObject.SetActive(true);
            transform.Find("Preview_Button").GetComponent <Image>().sprite = Resources.Load <Sprite>("Image/Icon/previewWait");
        }
        else
        {
            useCardPreview = false;
            transform.Find("Preview_Button").GetComponent <Image>().sprite = Resources.Load <Sprite>("Image/Icon/preview");
        }

        playerBlackHole = transform.Find("PanelFight/PanelCardEffect/PlayerCard").gameObject;
        enemyBlackHole  = transform.Find("PanelFight/PanelCardEffect/EnemyCard").gameObject;

        SetStartInfo();


        if (facade.GetPVPState())
        {
            maskPanel.gameObject.SetActive(false);
        }
    }