/// <summary> /// 点击场景角色或物件 /// </summary> void MouseDownInTheScene() { //释放怒气 if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 100, 1 << LayerMask.NameToLayer("Role"))) { Role w = hit.transform.GetComponentInParent <LifeProperty>().GetLife() as Role; if (w != null && w.m_Core.m_IsPlayer == true) { if (w.Anger >= ConfigM.GetAngerK(1)) { w.ReleaseSkillEffect(); } } } ray = EffectCamera.camera.ScreenPointToRay(Input.mousePosition); //拾取资源 if (Physics.Raycast(ray, out hit, 100, 1 << LayerMask.NameToLayer("Resource"))) { GameObjectActionExcute gae = hit.transform.GetComponentInParent <GameObjectActionExcute>(); if (gae != null) { GameObjectAction ga = gae.GetCurrentAction(); if (ga is GameObjectActionWait || ga is GameObjectActionBoxWait) { gae.GoNextAction(); } } } } }
public void CreatItem(SoldierInfo soldierInfo) { GameObject go = NDLoad.LoadWndItem("CombatRoleItem", MyHead.table.transform); //根据类型切换头像 CombatRoleItem c = go.GetComponent <CombatRoleItem>(); if (c != null) { c.SetSoldierUI(soldierInfo); c.m_isPlayer = false; c.SetHp(1.0f); c.SetAnger(0.0f); } foreach (treasure.TreasureObjInfo tdi in m_status) { if (tdi.type == 2 && soldierInfo.ID == tdi.objid) { float hp = tdi.hp == -1 ? 1 : tdi.hp * 1.0f / soldierInfo.m_hp; c.SetHp(hp); float anger = tdi.mp * 1.0f / ConfigM.GetAngerK(1); c.SetAnger(anger); } } // NGUIUtil.SetItemPanelDepth(c.gameObject, MyHead.table.GetComponentInParent<UIPanel>()); }
/// <summary> /// 怒气累计(策划文档:战斗系统——怒气累计说明) /// </summary> /// <returns>最后的怒气值</returns> /// <param name="way">怒气累计的方式</param> /// <param name="currentAngerValue">当前怒气值</param> private static int CACL_SOLDIER_ANGER(AngerAddWay way, int currentAngerValue, int damageHp, int fullHp) { int result = currentAngerValue; switch (way) { case AngerAddWay.Attack: result += ConfigM.GetAngerK(2); break; case AngerAddWay.BeAttacked: result += damageHp * ConfigM.GetAngerK(3) / fullHp; break; case AngerAddWay.KillSoldier: result += ConfigM.GetAngerK(4); break; case AngerAddWay.KillHero: result += ConfigM.GetAngerK(5); break; case AngerAddWay.KillBuild: result += ConfigM.GetAngerK(5); break; default: App.log.To("CalcFunc.cs", "CACL_SOLDIER_ANGER Error AngerAddWay"); break; } return(result); }
/// <summary> /// 获取满怒气 /// </summary> protected override int GetFullAnger() { if (Gstatus != null) { return(ConfigM.GetAngerK(1) + Gstatus.GetAttrData(EffectType.Anger)); } return(ConfigM.GetAngerK(1)); }
public void ResetUI() { eBtnState = FIRE_BTN_STATE.FireBtnNone; Set3DHeadStandby(); DestroyAngryUI(); SetHp(1); SoldierInfo soldierInfo = new SoldierInfo(); soldierInfo = CmCarbon.GetSoldierInfo(CmCarbon.GetPlayer2Camp(m_isPlayer), SoldierDataID); //.GetPlayerSoldierInfo(SoldierDataID); float anger = soldierInfo.m_mp * 1.0f / ConfigM.GetAngerK(1); SetAnger(anger); }