Exemple #1
0
    /// <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();
                    }
                }
            }
        }
    }
Exemple #2
0
    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>());
    }
Exemple #3
0
    /// <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);
    }
Exemple #4
0
 /// <summary>
 /// 获取满怒气
 /// </summary>
 protected override int GetFullAnger()
 {
     if (Gstatus != null)
     {
         return(ConfigM.GetAngerK(1) + Gstatus.GetAttrData(EffectType.Anger));
     }
     return(ConfigM.GetAngerK(1));
 }
Exemple #5
0
    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);
    }