Example #1
0
    void ShowHeroInfo()
    {
        if (null == Globe.Heros())
        {
            return;
        }
        GameObject go       = null;
        HeroData   heroData = null;

        for (int i = 0; i < 4; i++)
        {
            if (null == Globe.Heros()[i] || Globe.Heros()[i].id == 0)
            {
                continue;
            }
            go = NGUITools.AddChild(HeroGrid.gameObject, HeroGo);
            if (Globe.Heros()[i] != null && Globe.Heros()[i].id != 0)
            {
                heroData = playerData.GetInstance().GetHeroDataByID(Globe.Heros()[i].id);
                if (null == heroData)
                {
                    continue;
                }
                heroData.exps += sceneNode.exp;
                UpGradeHero(heroData);
                go.GetComponent <AccountItem>().RefreshUIHero(Globe.Heros()[i].id, sceneNode.exp);
            }
        }
        HeroGrid.Reposition();
    }
Example #2
0
    public HeroData DefaultMainHeroData()
    {
        HeroData hd = null;

        if (Globe.playHeroList[0] == null || Globe.playHeroList[0].id == 0)
        {
            if (!GameLibrary.isNetworkVersion)
            {
                Globe.fightHero[0] = (int)GameLibrary.player;
            }
            else
            {
                GameLibrary.player = Globe.fightHero[0];
            }
            playerData.GetInstance().AddHeroToList(Globe.fightHero[0]);
        }
        if (mCurActiveSceneName == GameLibrary.UI_Major || mCurActiveSceneName == GameLibrary.LGhuangyuan)
        {
            hd = Globe.playHeroList[0];
        }
        else
        {
            hd = Globe.Heros()[0];
            if (null == hd)
            {
                hd = new HeroData(GameLibrary.player);
            }
        }
        hd.state      = Modestatus.Player;
        hd.groupIndex = 1;
        return(hd);
    }
Example #3
0
 SkillNode GetSkillNodeByIndex(int skillIndex)
 {
     if (!GameLibrary.isNetworkVersion && Globe.Heros()[0] == null)
     {
         return(FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList[new HeroData(GameLibrary.player).node.skill_id[skillIndex]]);
     }
     if (Globe.Heros()[0] != null)
     {
         return(FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList[Globe.Heros()[0].node.skill_id[skillIndex]]);
     }
     else
     {
         return(null);
     }
 }
Example #4
0
    SkillNode GetSkillNodeBySeat(int skillIndex)
    {
        SkillNode mTempSkillNode = null;

        long[] skillIds = Globe.Heros() != null && Globe.Heros()[0] != null?Globe.Heros()[0].node.skill_id : Globe.playHeroList[0].node.skill_id;

        for (int i = 0; i < skillIds.Length; i++)
        {
            if (GameLibrary.skillNodeList.ContainsKey(skillIds[i]) && GameLibrary.skillNodeList[skillIds[i]].seat == 5 - skillIndex)
            {
                mTempSkillNode = GameLibrary.skillNodeList[skillIds[i]];
                break;
            }
        }
        return(mTempSkillNode);
    }
Example #5
0
    public void Summon()
    {
        int randIndex = Random.Range(5, 8);

        if (Globe.Heros()[randIndex - 4] == null)
        {
            return;
        }
        if (thisCs == CharacterManager.playerCS && FightTouch._instance != null)
        {
            FightTouch._instance.DoSummon(randIndex, Globe.Heros()[randIndex - 4]);
        }
        else
        {
            GetComponent <SummonHero>().Summon(Globe.Heros()[randIndex - 4]);
        }
    }
Example #6
0
    void OnSummon(int index, bool b)
    {
        CancelTp();
        if (TaskAutoTraceManager._instance != null)
        {
            TaskAutoTraceManager._instance.StopTaskAutoFindWay();
        }
        CancelRiding();
        if (b)
        {
            TouchHandler.GetInstance().Touch(GetSkillStatusByIndex(index + 4));
        }
        else
        {
            TouchHandler.GetInstance().Release(GetSkillStatusByIndex(index + 4));
        }

        DoSummon(index, Globe.Heros()[index - 4]);
    }
Example #7
0
    void UseSkill(int indexOfUI)
    {
        HeroData  hd        = null != Globe.Heros() && null != Globe.Heros()[0] ? Globe.Heros()[0] : Globe.playHeroList[0];
        SkillNode skillNode = GetSkillNodeByIndex(hd.node.skill_id.Length - 1 - (4 - indexOfUI) % 4);

        if (!Enabled || allSkillCD)
        {
            return;
        }
        if (GetSkillBtn(indexOfUI).isCD)
        {
            return;
        }
        CharacterManager.instance.shouldMove = false;
        if (CharacterManager.instance.PlayerSkill(skillNode, indexOfUI + 3))
        {
            startCd(indexOfUI);
        }
    }
Example #8
0
    void InitSummonBtnState(SkillBtnCD summonBtn, int index)
    {
        summonBtn.index = index;
        HeroData hd = Globe.Heros()[index - 4];

        if (null == hd || hd.id == 0)
        {
            summonBtn.GetComponent <UISprite>().spriteName = "";
        }
        else
        {
            summonBtn.SetCd(Globe.isFightGuide ? 1 : 30);
#if UNITY_EDITOR
            summonBtn.SetCd(1);
#endif
            summonBtn.onPressed = OnSummon;
            summonBtn.GetComponent <UISprite>().spriteName = hd.node.icon_name;
        }
    }
Example #9
0
 public bool IsPlayerCanUseSkill(int index)
 {
     if (RoleEnum.IsPlayer(mController.GetRoleType()))
     {
         bool canUse = false;
         if (index == 0)
         {
             canUse = true;
         }
         else
         {
             int       skillLength = Globe.Heros()[0].node.skill_id.Length;
             SkillNode skillNode   = GetSkillNodeByIndex(skillLength - 1 - (4 - index) % 4);
             canUse = !fightTouch.GetSkillBtn(index).isCD;
         }
         return(!fightTouch.isLock && !fightTouch.allSkillCD && canUse);
     }
     return(true);
 }
Example #10
0
    private STATUS GetPlayerUseSkill(int index)
    {
        if (RoleEnum.IsPlayer(mController.GetRoleType()))
        {
            if (index == 0)
            {
                int attackCount = 0;
                switch (mStateHelper.CurStatus)
                {
                case STATUS.ATTACK01:
                    attackCount = 0;
                    break;

                case STATUS.ATTACK02:
                    attackCount = 1;
                    break;

                case STATUS.ATTACK03:
                    attackCount = 2;
                    break;

                case STATUS.ATTACK04:
                    attackCount = 3;
                    break;

                default:
                    break;
                }
                SkillNode skillNode = GetSkillNodeByIndex(attackCount);
                return(PlayerSkill(skillNode, attackCount, false));
            }
            else
            {
                int       skillLength = Globe.Heros()[0].node.skill_id.Length;
                SkillNode skillNode   = GetSkillNodeByIndex(skillLength - 1 - (4 - index) % 4);
                return(PlayerSkill(skillNode, index, true));
            }
        }
        return(STATUS.NONE);
    }
Example #11
0
    public override void InitScene()
    {
        instance = this;

        Globe.fightHero = new int[] { (int)GameLibrary.player, 201000300, 201001900, 201001100, 0, 0 };

        Resource.CreatPrefabs("HeroPosEmbattle", null, new Vector3(10, 1000, 0));

        guidePanel = NextGuidePanel.Single();
        guidePanel.transform.parent     = SceneUIManager.instance.transform;
        guidePanel.transform.localScale = Vector3.one;

        insGuangQuan = Resources.Load(GameLibrary.Effect_UI + "yd_guangq") as GameObject;
        yd_guangq    = NGUITools.AddChild(SceneUIManager.instance.gameObject, insGuangQuan);
        yd_guangq.SetActive(false);
        if (yd_guangq.transform.Find("guangquan"))
        {
            guangquan = yd_guangq.transform.Find("guangquan").gameObject;
        }

        YinDao_GuangQuan = transform.Find("BullockCarts").gameObject;
        insYinDao        = Resource.CreatPrefabs("UI_YinDao_GuangQuan_01", YinDao_GuangQuan, Vector3.zero, GameLibrary.Effect_UI);

        promptArrow1 = Resource.CreatPrefabs("UI_YinDao_XiangQian_01", gameObject, Vector3.zero, GameLibrary.Effect_UI);
        promptArrow2 = Resource.CreatPrefabs("UI_YinDao_XiangQian_01", gameObject, Vector3.zero, GameLibrary.Effect_UI);
        SetArrowState(promptArrow1);
        SetArrowState(promptArrow2);

        fightTouchIns = FightTouch._instance;
        fightTouchIns.HideAllFightBtn();
        fightTouchIns.OnTouchBtn     += HideGuide;
        fightTouchIns.OnBtnTargetNil += SummonTargetNil;

        touchMove         = SceneUIManager.instance.moveTouch;
        touchMove.OnMove += TouchMove;

        touchCollider = SceneUIManager.instance.moveTouch.GetComponent <BoxCollider>();

        EffectBlock[] eb = GetComponentsInChildren <EffectBlock>();
        for (int i = 0; i < eb.Length; i++)
        {
            eb[i].OnCloseWall += (int num) =>
            {
                if (num > 2)
                {
                    SetArrowState(promptArrow2, true, airWallPos.transform.position);
                }
            };

            if (null == block && eb[i].transform.childCount == 2)
            {
                block = eb[i];
            }
        }

        for (int i = 0; i < Globe.fightHero.Length; i++)
        {
            if (Globe.fightHero[i] != 0)
            {
                playerData.GetInstance().RefreshHeroToList(Globe.fightHero[i], 1, i == 0 ? 1 : 20);
            }
        }

        CreateMainHero();

        for (int i = 0; i < Globe.Heros().Length; i++)
        {
            if (null != Globe.Heros()[i] && Globe.Heros()[i].id != 0)
            {
                Globe.Heros()[i].useServerAttr = false;
                Globe.Heros()[i].RefreshAttr();
            }
        }

        defKey = TOUCH_KEY.Run;
        ShowGuide(touchMove.transform, true);
        ShowGuidePanel(1);
        StartSpawn();
        SetArrowState(promptArrow1, true, player.transform.position);

        for (int i = 0; i < spwanList.Count; i++)
        {
            spwanList[i].isKM = false;
            if (spwanList[i].tag == Tag.boss)
            {
                spwanList[i].OnCreatMonster += (GameObject go, CharacterData cd) =>
                {
                    bossCs = go.GetComponent <CharacterState>();
                    TaskBossBlood();
                    go.GetComponent <CharacterState>().OnDead += (CharacterState cs) => { BossDead(); };
                };
            }
        }

        ReadTask(500);
        EnterDungensTask();

        ThirdCamera.instance._flatAngle = FSDataNodeTable <SceneNode> .GetSingleton().FindDataByType(GameLibrary.dungeonId).flat_angle;

        mask = SceneUIManager.instance.transform.Find("GuideMask").gameObject;
    }
Example #12
0
 public void SetMainHeroLevel()
 {
     if (!GameLibrary.isNetworkVersion)
     {
         HeroData hd = playerData.GetInstance().GetHeroDataByID(GameLibrary.player);
         // ShowLv(null == hd ? 1 : hd.lvl);
         RefreshIconId(GameLibrary.SceneType(SceneType.PVP3) ? (int)Globe.challengeTeam[0].id : (int)GameLibrary.player);//初始化显示英雄头像
     }
     else
     {
         if (null == SceneBaseManager.instance)
         {
             //  UIRole.instance.RefreshLv(playerData.GetInstance().selfData.level);//经验值
         }
         else
         {
             //  ShowLv(Globe.Heros()[0].lvl);
         }
         RefreshIconId(null == SceneBaseManager.instance ? (int)GameLibrary.player : (int)Globe.Heros()[0].id);//初始化显示英雄头像
     }
 }
Example #13
0
    public void CreateTownPlayer()
    {
        if (player != null)
        {
            if (SceneManager.GetActiveScene().name == GameLibrary.UI_Major)
            {
                transform.localPosition = Vector3.zero;

                mPos = playerData.GetInstance().selfData.GetPos();
            }
            else if (SceneManager.GetActiveScene().name == GameLibrary.LGhuangyuan)
            {
                mPos = FSDataNodeTable <TransferTableNode> .GetSingleton().DataNodeList[4294713000].toPos;

                mRot = player.transform.localRotation;
            }
            else if (SceneManager.GetActiveScene().name == GameLibrary.PVP_1V1)
            {
                mPos = playerData.GetInstance().selfData.GetPos();
            }
            else
            {
                mPos = player.transform.localPosition;
            }

            mScale = player.transform.localScale;
            if (player != null)
            {
                mPos = player.transform.localPosition;
                Destroy(player);
            }
        }
        else
        {
            transform.localPosition = Vector3.zero;

            mPos = playerData.GetInstance().selfData.GetPos();
        }
        HeroData defaultHd = DefaultMainHeroData();

        GameObject     go = Resource.CreateCharacter(defaultHd.node.icon_name, gameObject);
        CharacterState cs = BattleUtil.AddMoveComponents(go, defaultHd.attrNode.modelNode);

        cs.pm.nav.obstacleAvoidanceType = UnityEngine.AI.ObstacleAvoidanceType.NoObstacleAvoidance;
        cs.InitData(defaultHd);
        SetMainHero(cs);

        player.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false;  // 防止生成的模型位置出错
        player.transform.localPosition = mPos;
        player.transform.localRotation = mRot;
        player.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = true;
        if (mCurActiveSceneName == GameLibrary.UI_Major)
        {
            Debug.Log("Major init player");
            if (!isInit)
            {
                player.transform.parent        = CreatePeople.GetInstance().OhterPlayer.transform;
                player.transform.localPosition = playerData.GetInstance().selfData.GetPos();
                isInit = true;
            }
            //CreateNpc();
            //CreateCollect();
        }
        else if (mCurActiveSceneName == GameLibrary.LGhuangyuan || mCurActiveSceneName == GameLibrary.PVP_1V1)
        {
            Debug.Log(mCurActiveSceneName + " init player");
            if (!isInit)
            {
                player.transform.parent        = CreatePeople.GetInstance().OhterPlayer.transform;
                player.transform.localPosition = playerData.GetInstance().selfData.GetPos();
                isInit = true;
            }
            //是野外向服务器同步血量
            CharacterState csp = player.GetComponent <CharacterState>();
            if (csp != null)
            {
                csp.InitData(Globe.Heros()[0]);
                csp.keyId        = playerData.GetInstance().selfData.keyId;
                csp.isNetworking = true;
                ClientSendDataMgr.GetSingle().GetWalkSend().SendSetPlayerHp(csp.maxHp);
                playerData.GetInstance().selfData.hp = csp.maxHp;
            }
            UnityUtil.AddComponetIfNull <SummonHero>(csp.gameObject);
        }
        if (!GameLibrary.Instance().isLoadOtherPepole)
        {
            if (SceneManager.GetActiveScene().name == GameLibrary.UI_Major ||
                SceneManager.GetActiveScene().name == GameLibrary.LGhuangyuan ||
                SceneManager.GetActiveScene().name == GameLibrary.PVP_1V1
                )
            {
                Debug.Log(" =====>CreateOthers");
                CreateNearElement();
                GameLibrary.Instance().isLoadOtherPepole = true;
            }
        }
        if (player != null)
        {
            if (player.transform.GetComponent <SetMainHeroName>() == null)
            {
                player.transform.gameObject.AddComponent <SetMainHeroName>();
            }
        }
        GameLibrary.isSkipingScene = false;
        //if (MiniMap.instance != null)
        //    MiniMap.instance.CreateTargetPos(player, ShowType.player);
    }
Example #14
0
 SkillNode GetSkillNodeByIndex(int skillIndex)
 {
     return(FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList[Globe.Heros()[0].node.skill_id[skillIndex]]);
 }