// 请求攻打城池 public void RequestAttack(int mapPos, long playerID, bool isNpc, int cost) { PAttack data = new PAttack(); data.pos = new PVector(); data.pos.x = mapPos; data.pos.y = (int)(isNpc ? eWorldMapType.NPC_CITY_MAP : eWorldMapType.PLAYER_CITY_MAP); data.defenserId = playerID; NetworkManager.Instance.Send(eCommand.READY_BT_OCCUPY_CITY, data, (buffer) => { PBattlVerify ret = Net.Deserialize <PBattlVerify>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.READY_BT_OCCUPY_CITY)) { return; } BattleManager.Instance.StartBattle(ret.battleId, LogicBattleType.WORLD); UserManager.Instance.CostMoney(cost, PriceType.MONEY); EventDispatcher.TriggerEvent(EventID.EVENT_UI_MAIN_REFRESH_VALUE); // 刷新地图 // UIManager.Instance.RefreshWindow<UIWorldView>(); }); }
// 请求攻击 public void RequestAttack(long playerID) { PAttack data = new PAttack(); data.defenserId = playerID; Net.Send(eCommand.READY_ATHTECLIC_CHALLENGE, data); }
private void Start() { movementModule = GetComponent <PMovement>(); targetingModule = GetComponent <PTargeting>(); wardModule = GetComponent <PWard>(); attackModule = GetComponent <PAttack>(); siphonModule = GetComponent <PSiphon>(); EnableControls(); }
public void attackUpdate(PAttack givAtkScript, PAttSyst givAttackSystem) { //if (Time.time > nextAttack) //{ attackSprite.transform.localScale = new Vector3(-attackSprite.transform.localScale.x, attackSprite.transform.localScale.y, attackSprite.transform.localScale.z); //nextAttack = Time.time + givAttackSystem.attackRate; attackSprite.SetActive(true); StartCoroutine(attackUpdateVisuals(givAtkScript)); //} }
// 请求攻打关卡 public void RequestFight(int levelID) { Log.Info("RequestFight: {0}", levelID); MissionConstConfig cfg = MissionConstConfigLoader.GetConfig(levelID); if (cfg == null) { return; } if (UserManager.Instance.SP < cfg.StaminaCost) { UIUtil.ShowErrMsgFormat("UI_NOT_ENOUGTH_SP"); return; } eCommand cmd = eCommand.READY_BT_FUBEN_NORMAL; if (cfg.MissionDegree == (int)ChapterType.NORMAL) { cmd = eCommand.READY_BT_FUBEN_NORMAL; } else if (cfg.MissionDegree == (int)ChapterType.ELITE) { cmd = eCommand.READY_BT_FUBEN_ELITE; } PAttack data = new PAttack(); // foreach (var item in UserManager.Instance.PVEHeroList) { // data.attackerId.Add(item.EntityID); // } // if (UserManager.Instance.HeroList.Count <= 0) { Log.Error("RequestFight error, no hero"); return; } for (int i = 0; i < 3; ++i) { if (i < UserManager.Instance.HeroList.Count) { data.attackerId.Add(UserManager.Instance.HeroList[i].EntityID); } } data.pos = new PVector(); data.pos.x = levelID; NetworkManager.Instance.Send(cmd, data, (buffer) => { PBattlVerify ret = Net.Deserialize <PBattlVerify>(buffer); if (!Net.CheckErrorCode(ret.errorCode, cmd)) { return; } BattleManager.Instance.StartBattle(ret.battleId, LogicBattleType.PVE); }); }
IEnumerator attackUpdateVisuals(PAttack givAtkScript) { yield return(new WaitForSeconds(givAtkScript.activeAttackColliderTime)); attackSprite.SetActive(false); }