Exemple #1
0
 /// <summary>
 /// 在zombie的attack动画中添加event片段,执行此函数,对player造成等同于zombie攻击力数值的伤害
 /// </summary>
 public void Attack()
 {
     if (PlayerStatusManager.Instance().currentHp > 0)
     {
         PlayerStatusManager.Instance().ReduceHp(attackPower - (int)(PlayerStatusInfo.Instance().def * 0.2f));
     }
 }
Exemple #2
0
 /// <summary>
 /// 使用此快捷栏中的技能
 /// </summary>
 /// <returns>使用成功返回 true</returns>
 public bool UseSkill()
 {
     //没有技能的情况
     if (this.id == 0)
     {
         Debug.Log("没有快捷技能");
         return(false);
     }
     //cd没好的情况
     else if (!SkillBoard.Instance().FindSkillById(id).GetSkillReadyState())
     {
         Debug.Log("CD未冷却");
         return(false);
     }
     //mp不够的情况
     else if (!PlayerStatusManager.Instance().ReduceMp(this.info.mpSpend))
     {
         Debug.Log("蓝不够");
         return(false);
     }
     //没有以上情况则释放技能
     else
     {
         //使技能进入冷却
         SkillBoard.Instance().FindSkillById(id).SetSkillColdState();
         //技能发射器发射技能
         SkillShoot.Instance().ShootSkill(this.id, this.info);
         return(true);
     }
 }
Exemple #3
0
    void Update()
    {
#if UnityEditor
        //背包加药品
        if (Input.GetKeyDown(KeyCode.P))
        {
            int x = 0;
            BagBoard.Instance().PickOneItemById(x = Random.Range(1001, 1004));
            Debug.Log(x);
        }
        //背包加装备
        if (Input.GetKeyDown(KeyCode.O))
        {
            int x = 0;
            BagBoard.Instance().PickOneItemById(x = Random.Range(2001, 2023));
            Debug.Log(x);
        }
        //商店加药品
        if (Input.GetKeyDown(KeyCode.L))
        {
            ShopBoard.Instance().AddOneShopItemById(c++);
            Debug.Log(c);
        }
        //商店加装备
        if (Input.GetKeyDown(KeyCode.K))
        {
            ShopBoard.Instance().AddOneShopItemById(z++);
            Debug.Log(z);
        }
        //扣血
        if (Input.GetKeyDown(KeyCode.M))
        {
            PlayerStatusManager.Instance().ReduceHp(50);
        }
        //加钱
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            CoinManager.Instance().AddCoin(50);
        }
        //扣钱
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            CoinManager.Instance().ReduceCoin(50);
        }
        //加点
        if (Input.GetKeyDown(KeyCode.KeypadPlus))
        {
            PlayerStatusManager.Instance().AddPoint();
        }
        //加技能
        if (Input.GetKeyDown(KeyCode.B))
        {
            SkillBoard.Instance().AddOneSkillById(4001);
            SkillBoard.Instance().AddOneSkillById(4002);
            SkillBoard.Instance().AddOneSkillById(4003);
        }
#endif
    }
Exemple #4
0
 /// <summary>
 /// 使用药品
 /// </summary>
 public void UseDrug()
 {
     //死人是用不了药的
     if (Global.playerState != Global.State.DieState)
     {
         PlayerStatusManager.Instance().AddHpAndMp(info);
         ReduceItemNum(1);
     }
 }
Exemple #5
0
 /// <summary>
 /// 从此装备栏中移除装备信息
 /// </summary>
 public void UnloadThisGridEquip()
 {
     //移除装备赋予玩家的属性
     PlayerStatusManager.Instance().ReduceProperties(info);
     //物品栏添加该物品
     BagBoard.Instance().PickOneItemById(this.id);
     //此栏装备清空
     this.id   = 0;
     this.info = null;
     DestroyImmediate(this.GetComponentInChildren <Item>().transform.gameObject);
 }
Exemple #6
0
    /// <summary>
    /// 向此装备栏添加装备信息
    /// </summary>
    /// <param name="id">装备id</param>
    /// <param name="info">装备info</param>
    public void SetThisGridEquipById(int id, ObjectInfo info)
    {
        this.id   = id;
        this.info = info;
        Item equip = this.GetComponentInChildren <Item>();

        equip.SetIconAndId(id, this.info.icon_name);
        equip.equiping = true;
        //赋予玩家装备的属性
        PlayerStatusManager.Instance().AddProperties(info);
    }
Exemple #7
0
	IEnumerator BuffDoEnumerator(SkillInfo info)
	{
		Debug.Log("buff加持中");
		GameObject fx =  Instantiate(buffAtkFx);
		fx.transform.parent = player.transform;
		fx.transform.localPosition = new Vector3(0,0.05f,0);
		fx.GetComponent<ParticleSystem>().Play(true);
		PlayerStatusManager.Instance().AddProperties(info.skillEffectType, info.amount);
		yield return new WaitForSeconds(info.timeDuration);
		Debug.Log("buff加持结束");
		Destroy(fx);
		PlayerStatusManager.Instance().ReduceProperties(info.skillEffectType, info.amount);
	}
Exemple #8
0
	/// <summary>
	/// Cure技能发射
	/// </summary>
	/// <param name="info">技能info</param>
	private void CureDo(SkillInfo info)
	{
		GameObject fx =  Instantiate(cureHpFx);
		fx.transform.parent = player.transform;
		fx.transform.localPosition = new Vector3(0,0.05f,0);
		fx.GetComponent<ParticleSystem>().Play(true);
		Destroy(fx,2.5f);
		switch(info.skillEffectType)
		{
			case SkillInfo.SkillEffectType.HP : PlayerStatusManager.Instance().AddHp(info.amount); break;
			case SkillInfo.SkillEffectType.MP : PlayerStatusManager.Instance().AddMp(info.amount); break;
		}
	}
 /// <summary>
 /// ok按钮单击回调
 /// </summary>
 public void OkButtonClick()
 {
     if (QuestManager.Instance().questState == QuestManager.QuestState.FINISH)
     {
         finishLabel.SetActive(true);
         CoinManager.Instance().AddCoin(rewards_coin_num);
         PlayerStatusManager.Instance().AddExp(rewards_exp_num);
         QuestManager.Instance().questState = QuestManager.QuestState.GETREWARD;
     }
     //BoardManager.Instance().SwitchShowBoard(BoardManager.BoardShow.NONE);
     Hide();
     if (QuestManager.Instance().questState == QuestManager.QuestState.GETREWARD)
     {
         againButton.SetActive(true);
     }
 }
Exemple #10
0
 /// <summary>
 /// 死亡操作
 /// </summary>
 void DoDie()
 {
     //死亡后加一次对应任务进度,掉落一个物品
     if (onceDropAndAchievement)
     {
         if (QuestManager.Instance().questState != QuestManager.QuestState.GETREWARD)
         {
             QuestManager.Instance().QuestStateUpdateByType(thisZombieIndex);
         }
         anim.SetBool("Die", true);
         this.GetComponent <CapsuleCollider>().enabled = false;
         PlayerStatusManager.Instance().AddExp(provideExp);
         ItemDropManager.Instance().CreateRandomDropItem(transform.position);
         onceDropAndAchievement = false;
         Destroy(this.gameObject, 3);
     }
 }
Exemple #11
0
 /// <summary>
 /// 加点按钮回调
 /// </summary>
 /// <param name="go">按钮对象</param>
 public void PointAddButtonClick(GameObject go)
 {
     PlayerStatusManager.Instance().AddProperties(go.name);
     PlayerStatusManager.Instance().ReducePoint(1);
     UpdateStatusShow();
 }