private void Start() { Debug.Log("开始Demo"); Debug.Log("开始....加载xml数据..............."); new URLReqImpl { dataFormat = "binary", url = "staticdata/staticdata.dat" }.load(delegate(IURLReq url_req, object ret) { Debug.Log("demo 加载数据xml..............."); byte[] d = ret as byte[]; ByteArray byteArray = new ByteArray(d); byteArray.uncompress(); XMLMgr.instance.init(byteArray); }, null, delegate(IURLReq url_req, string err) { Debug.Log("加载staticdata 失败。。。。。。。。。。。。" + url_req.url); }); Globle.Init_DEFAULT(); Globle.A3_DEMO = true; Application.targetFrameRate = 60; new CrossApp(true); CrossApp.singleton.regPlugin(new gameEventDelegate()); CrossApp.singleton.regPlugin(new processManager()); Screen.SetResolution(Screen.width, Screen.height, true); SceneCamera.Init(); SelfRole.Init(); Variant variant = new Variant(); variant["id"] = 1; GRMap.changeMapTimeSt = 7; GRMap.loading = false; GameRoomMgr.getInstance().onChangeLevel(variant, null); }
public void onDead() { if (isDead == false) { isDead = true; if (isfake) { int len = ConfigUtil.getRandom(1, 3); if (len > 0) { List <DropItemdta> l = new List <DropItemdta>(); for (int i = 0; i < len; i++) { DropItemdta d = new DropItemdta(); d.dpid = 0; d.count = ConfigUtil.getRandom(1, 10); l.Add(d); } // BaseRoomItem.instance.showDropItem(m_curModel.position, l, true); } } if (m_curAni) { m_curAni.enabled = true; m_curAni.SetBool(EnumAni.ANI_B_DIE, true); } if (m_curPhy) { m_curPhy.gameObject.SetActive(false); } if (m_moveAgent) { m_moveAgent.baseOffset = 0f; m_moveAgent.enabled = false; } PlayerNameUIMgr.getInstance().hide(this); //记录杀敌数 if (MapModel.getInstance().curLevelId != 0) { if (MapModel.getInstance().dFbDta.ContainsKey((int)MapModel.getInstance().curLevelId)) { MapModel.getInstance().dFbDta[(int)MapModel.getInstance().curLevelId].kmNum++; } } if (GameRoomMgr.getInstance().curRoom != null) { GameRoomMgr.getInstance().curRoom.onMonsterDied(this); } } }
public void onJump(float x, float y) { float x2 = x / 53.333f; float z = y / 53.333f; Vector3 position = new Vector3(x2, base.transform.position.y, z); bool flag = GameRoomMgr.getInstance().curRoom == GameRoomMgr.getInstance().dRooms[3342u]; if (!flag) { NavMeshHit navMeshHit; NavMesh.SamplePosition(position, out navMeshHit, 100f, this.m_monRole.m_layer); position = navMeshHit.position; } float num = Vector3.Distance(base.transform.position, position); this.m_monRole.SetDestPos(position); base.transform.DOJump(position, 0.2f * num + position.y, 1, 0.01f, false); }
public void onJump(float x, float y) { float to_x = x / GameConstant.PIXEL_TRANS_UNITYPOS; float to_y = y / GameConstant.PIXEL_TRANS_UNITYPOS; NavMeshHit hit; Vector3 endpos = new Vector3(to_x, transform.position.y, to_y); if (GameRoomMgr.getInstance().curRoom == GameRoomMgr.getInstance().dRooms[3342]) {//解决多层阻挡点寻路的问题 } else { NavMesh.SamplePosition(endpos, out hit, 100f, m_monRole.m_layer); endpos = hit.position; } float dis = Vector3.Distance(transform.position, endpos); m_monRole.SetDestPos(endpos); transform.DOJump(endpos, 0.2f * dis + endpos.y, 1, 0.01f); }
//private int idIdx = 0; public void AddOtherPlayer(Variant p) { if (GRMap.grmap_loading) { cacheProxy.Add(p); return; } debug.Log(p["name"] + "--------------:" + p.dump()); uint iid = p["iid"]._uint; uint lvlsideid = 0; if (p.ContainsKey("lvlsideid")) { lvlsideid = p["lvlsideid"]; } if (m_mapOtherPlayer.ContainsKey(iid)) { return; } uint cid = 0; int type = p["carr"]; if (p.ContainsKey("cid")) { cid = p["cid"]._uint; } string name = p["name"]; Vector3 born_pt = new Vector3(p["x"] / GameConstant.PIXEL_TRANS_UNITYPOS, 0f, p["y"] / GameConstant.PIXEL_TRANS_UNITYPOS); ProfessionRole pro_role = null; bool invisible = false; if (p.ContainsKey("invisible") && p["invisible"] > 0) { invisible = p["invisible"] > 0; } int title_sign = 0; //if ( p.ContainsKey( "title_sign" ) ) //{ // title_sign = p[ "title_sign" ]._int; //} if (2 == type) { pro_role = new P2Warrior(); if (SceneCamera.m_nModelDetail_Level != 1) { (pro_role as P2Warrior).Init(name, EnumLayer.LM_DEFAULT, born_pt, false, p); } else { (pro_role as P2Warrior).Init(name, invisible ? EnumLayer.LM_ROLE_INVISIBLE : EnumLayer.LM_OTHERPLAYER, born_pt, false, p); } } else if (3 == type) { pro_role = new P3Mage(); if (SceneCamera.m_nModelDetail_Level != 1) { (pro_role as P3Mage).Init(name, EnumLayer.LM_DEFAULT, born_pt, false, p); } else { (pro_role as P3Mage).Init(name, invisible ? EnumLayer.LM_ROLE_INVISIBLE : EnumLayer.LM_OTHERPLAYER, born_pt, false, p); } } else if (5 == type) { pro_role = new P5Assassin(); if (SceneCamera.m_nModelDetail_Level != 1) { (pro_role as P5Assassin).Init(name, EnumLayer.LM_DEFAULT, born_pt, false, p); } else { (pro_role as P5Assassin).Init(name, invisible ? EnumLayer.LM_ROLE_INVISIBLE : EnumLayer.LM_OTHERPLAYER, born_pt, false, p); } } else { pro_role = new P3Mage(); if (SceneCamera.m_nModelDetail_Level != 1) { (pro_role as P3Mage).Init(name, EnumLayer.LM_DEFAULT, born_pt, false, p); } else { (pro_role as P3Mage).Init(name, invisible ? EnumLayer.LM_ROLE_INVISIBLE : EnumLayer.LM_OTHERPLAYER, born_pt, false, p); } } pro_role.m_layer = invisible ? EnumLayer.LM_ROLE_INVISIBLE : EnumLayer.LM_OTHERPLAYER; if (GameRoomMgr.getInstance().curRoom == GameRoomMgr.getInstance().dRooms[3342] || GameRoomMgr.getInstance().curRoom == GameRoomMgr.getInstance().dRooms[3358]) {//解决多层阻挡点寻路的问题 pro_role.setNavLay(NavmeshUtils.allARE); } //暂时都是可以自由pk的 pro_role.m_curModel.position = born_pt; if (p.ContainsKey("face")) { pro_role.m_curModel.rotation = new Quaternion(pro_role.m_curModel.rotation.x, p["face"], pro_role.m_curModel.rotation.z, 0); } if (p.ContainsKey("lvlsideid")) { if (lvlsideid != 0 && PlayerModel.getInstance().inSpost) { if (1 == lvlsideid) { pro_role.refresNameColor_spost(SPOSTNAME_TYPE.RED); } else if (2 == lvlsideid) { pro_role.refresNameColor_spost(SPOSTNAME_TYPE.BULE); } } else if (lvlsideid != 0 && PlayerModel.getInstance().inCityWar) { if (lvlsideid == PlayerModel.getInstance().lvlsideid) { pro_role.refresNameColor_spost(SPOSTNAME_TYPE.BULE); } else { pro_role.refresNameColor_spost(SPOSTNAME_TYPE.RED); } } } if (pro_role == null) { return; } m_mapOtherPlayer.Add(iid, pro_role); m_mapOtherPlayerUnsee.Add(iid, pro_role); if (GRMap.curSvrConf["id"] == 24) { pro_role.setPos(new Vector3(born_pt.x, born_pt.y, born_pt.z + 18f)); } else { pro_role.setPos(born_pt); } pro_role.SetDestPos(born_pt); pro_role.m_unIID = iid; pro_role.m_unCID = cid; pro_role.m_unPK_Param = cid; pro_role.lvlsideid = lvlsideid; pro_role.invisible = invisible; pro_role.spost_lvlsideid = (int)lvlsideid; debug.Log("对方是" + lvlsideid); pro_role.speed = p["speed"]._int; pro_role.maxHp = p["battleAttrs"]["max_hp"]; pro_role.curhp = p["hp"]; if (p.ContainsKey("zhuan")) { pro_role.zhuan = p["zhuan"]; } if (p.ContainsKey("pk_state")) { pro_role.Pk_state = p["pk_state"]; } switch (pro_role.Pk_state) { case 0: pro_role.m_ePK_Type = PK_TYPE.PK_PEACE; break; case 1: pro_role.m_ePK_Type = PK_TYPE.PK_PKALL; break; case 2: pro_role.m_ePK_Type = PK_TYPE.PK_TEAM; break; case 3: pro_role.m_ePK_Type = PK_TYPE.PK_LEGION; break; case 4: pro_role.m_ePK_Type = PK_TYPE.PK_PEACE; break; case 5: pro_role.m_ePK_Type = PK_TYPE.Pk_SPOET; break; } ; if (p.ContainsKey("teamid")) { pro_role.m_unTeamID = p["teamid"]; PlayerNameUIMgr.getInstance().refeshHpColor(pro_role); } if (p.ContainsKey("clanid")) { pro_role.m_unLegionID = p["clanid"]; } if (p.ContainsKey("pet")) { pro_role.ChangePetAvatar(p["pet"]["id"], 0); } if (p.ContainsKey("treasure_num")) { pro_role.mapCount = p["treasure_num"]; debug.Log("对方宝图" + p["treasure_num"]); pro_role.refreshmapCount(p["treasure_num"]); } if (p.ContainsKey("serial_kp")) { pro_role.serial = p["serial_kp"]; pro_role.refreshserialCount(p["serial_kp"]); } if (p.ContainsKey("vip")) { pro_role.refreshVipLvl((uint)p["vip"]); } if (p.ContainsKey("strike_back_tm") && p["strike_back_tm"] > 0) { pro_role.havefanjibuff = true; //也会发78号,不做处理也显示正常zzz debug.Log("这个人身上有反击buff"); } else { pro_role.havefanjibuff = false; } //if (GRMap.grmap_loading == false) // pro_role.refreshViewType(1); //if (pro_role != null) //{ // PlayerData dta = new PlayerData(); // dta.roleId = iid; // //dta.monid = type; // pro_role.playerDta = dta; //} //idIdx++; //if (mon != null) // dispatchEvent(GameEvent.Create(MonsterMgr.EVENT_MONSTER_ADD, this, mon)); }
public void onDead() { bool flag = !this.isDead; if (flag) { this.isDead = true; bool isfake = this.isfake; if (isfake) { int random = ConfigUtil.getRandom(1, 3); bool flag2 = random > 0; if (flag2) { List <DropItemdta> list = new List <DropItemdta>(); for (int i = 0; i < random; i++) { list.Add(new DropItemdta { dpid = 0u, count = ConfigUtil.getRandom(1, 10) }); } } } bool flag3 = this.m_curAni; if (flag3) { this.m_curAni.enabled = true; this.m_curAni.SetBool(EnumAni.ANI_B_DIE, true); } bool flag4 = this.m_curPhy; if (flag4) { this.m_curPhy.gameObject.SetActive(false); } bool flag5 = this.m_moveAgent; if (flag5) { this.m_moveAgent.baseOffset = 0f; this.m_moveAgent.enabled = false; } PlayerNameUIMgr.getInstance().hide(this); bool flag6 = MapModel.getInstance().curLevelId > 0u; if (flag6) { bool flag7 = MapModel.getInstance().dFbDta.ContainsKey((int)MapModel.getInstance().curLevelId); if (flag7) { MapData expr_15D = MapModel.getInstance().dFbDta[(int)MapModel.getInstance().curLevelId]; int kmNum = expr_15D.kmNum; expr_15D.kmNum = kmNum + 1; } } bool flag8 = GameRoomMgr.getInstance().curRoom != null; if (flag8) { GameRoomMgr.getInstance().curRoom.onMonsterDied(this); } } }
public void AddOtherPlayer(Variant p) { bool loading = GRMap.loading; if (loading) { this.cacheProxy.Add(p); } else { uint @uint = p["iid"]._uint; bool flag = this.m_mapOtherPlayer.ContainsKey(@uint); if (!flag) { uint num = 0u; int num2 = p["carr"]; bool flag2 = p.ContainsKey("cid"); if (flag2) { num = p["cid"]._uint; } string name = p["name"]; Vector3 vector = new Vector3(p["x"] / 53.333f, 0f, p["y"] / 53.333f); bool flag3 = 2 == num2; ProfessionRole professionRole; if (flag3) { professionRole = new P2Warrior(); (professionRole as P2Warrior).Init(name, EnumLayer.LM_OTHERPLAYER, vector, false); } else { bool flag4 = 3 == num2; if (flag4) { professionRole = new P3Mage(); (professionRole as P3Mage).Init(name, EnumLayer.LM_OTHERPLAYER, vector, false); } else { bool flag5 = 5 == num2; if (flag5) { professionRole = new P5Assassin(); (professionRole as P5Assassin).Init(name, EnumLayer.LM_OTHERPLAYER, vector, false); } else { professionRole = new P3Mage(); (professionRole as P3Mage).Init(name, EnumLayer.LM_OTHERPLAYER, vector, false); } } } bool flag6 = GameRoomMgr.getInstance().curRoom == GameRoomMgr.getInstance().dRooms[3342u]; if (flag6) { professionRole.setNavLay(NavmeshUtils.allARE); } professionRole.m_curModel.position = vector; bool flag7 = p.ContainsKey("face"); if (flag7) { professionRole.m_curModel.rotation = new Quaternion(professionRole.m_curModel.rotation.x, p["face"], professionRole.m_curModel.rotation.z, 0f); } bool flag8 = professionRole == null; if (!flag8) { this.m_mapOtherPlayer.Add(@uint, professionRole); this.m_mapOtherPlayerUnsee.Add(@uint, professionRole); professionRole.setPos(vector); professionRole.SetDestPos(vector); professionRole.m_unIID = @uint; professionRole.m_unCID = num; professionRole.m_unPK_Param = num; professionRole.maxHp = p["battleAttrs"]["max_hp"]; professionRole.curhp = p["hp"]; bool flag9 = p.ContainsKey("zhuan"); if (flag9) { professionRole.zhuan = p["zhuan"]; } bool flag10 = p.ContainsKey("pk_state"); if (flag10) { professionRole.Pk_state = p["pk_state"]; } switch (professionRole.Pk_state) { case 0: professionRole.m_ePK_Type = PK_TYPE.PK_PEACE; break; case 1: professionRole.m_ePK_Type = PK_TYPE.PK_PKALL; break; case 2: professionRole.m_ePK_Type = PK_TYPE.PK_TEAM; break; case 3: professionRole.m_ePK_Type = PK_TYPE.PK_LEGION; break; case 4: professionRole.m_ePK_Type = PK_TYPE.PK_PEACE; break; } bool flag11 = p.ContainsKey("teamid"); if (flag11) { professionRole.m_unTeamID = p["teamid"]; } bool flag12 = p.ContainsKey("clanid"); if (flag12) { professionRole.m_unLegionID = p["clanid"]; } bool flag13 = p.ContainsKey("pet"); if (flag13) { professionRole.ChangePetAvatar(p["pet"]["id"], 0); } bool flag14 = p.ContainsKey("treasure_num"); if (flag14) { professionRole.mapCount = p["treasure_num"]; debug.Log("对方宝图" + p["treasure_num"]); professionRole.refreshmapCount(p["treasure_num"]); } bool flag15 = p.ContainsKey("serial_kp"); if (flag15) { professionRole.serial = p["serial_kp"]; professionRole.refreshserialCount(p["serial_kp"]); } bool flag16 = p.ContainsKey("vip"); if (flag16) { professionRole.refreshVipLvl(p["vip"]); } bool flag17 = !GRMap.loading; if (flag17) { professionRole.refreshViewType(1); } } } } }