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(); }
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); }
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); } }
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); }
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]); } }
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]); }
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); } }
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; } }
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); }
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); }
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; }
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);//初始化显示英雄头像 } }
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); }
SkillNode GetSkillNodeByIndex(int skillIndex) { return(FSDataNodeTable <SkillNode> .GetSingleton().DataNodeList[Globe.Heros()[0].node.skill_id[skillIndex]]); }