コード例 #1
0
 /// <summary>
 /// 對角色造成物理傷害,傳入[造成的傷害][是否在ICON顯示效果動畫]
 /// </summary>
 public virtual void ReceivePhysicalDamge(int _damage, bool _showIconAni, HitTextType _hitTextType, float _showDelay)
 {
     //不可對死者進行攻擊
     if (!IsAlive)
     {
         return;
     }
     //傷害不小於等於0
     if (_damage <= 0)
     {
         return;
     }
     //傷害最大等於剩餘血量
     if (CurHP - _damage < 0)
     {
         _damage = CurHP;
     }
     CurHP -= _damage;
     HitTextController.ShowHitText(this, _damage, _hitTextType, _showDelay);
     UpdateHealthRatio();
     //更新腳色介面
     CharaDataUI.UpdateHealth(Index);
     //檢查是否存活
     AliveCheck();
 }
コード例 #2
0
ファイル: SpineController.cs プロジェクト: Dundeer/MaoXian
    /// <summary>
    /// 创建受击数字
    /// </summary>
    /// <param name="hitType">受击类型</param>
    /// <param name="number">伤害数字</param>
    public void CreateHitNumberObjcet(GetHitType hitType, float number)
    {
        HitTextController gameObject = null;

        switch (hitType)
        {
        case GetHitType.Normal:
            gameObject = GameObject.Instantiate(noramlHitObject);
            gameObject.transform.SetParent(transform.parent);
            gameObject.transform.localScale    = new Vector3(1, 1, 1);
            gameObject.transform.localPosition = new Vector2(transform.localPosition.x, transform.localPosition.y);
            break;

        case GetHitType.CriticalStrike:
            gameObject = GameObject.Instantiate(criticalStrikeObject);
            gameObject.transform.SetParent(transform.parent);
            gameObject.transform.localScale    = new Vector3(1, 1, 1);
            gameObject.transform.localPosition = new Vector2(transform.localPosition.x, transform.localPosition.y + 200);
            break;
        }
        if (gameObject == null)
        {
            return;
        }
        gameObject.SetText(number);
    }
コード例 #3
0
    /// <summary>
    /// 生成添加血量提示物体
    /// </summary>
    private void CreateAddBlood()
    {
        HitTextController gameObject = GameObject.Instantiate(AddBloodObject);

        gameObject.transform.SetParent(transform.parent);
        gameObject.transform.localScale    = new Vector3(1, 1, 1);
        gameObject.transform.localPosition = new Vector2(transform.localPosition.x, transform.localPosition.y);
        gameObject.SetText(100);
    }
コード例 #4
0
 public void Init()
 {
     if (IsInit)
         return;
     Canvas = transform.GetComponent<RectTransform>();
     //腳色介面
     MyCharaDataUI = Canvas.FindChild("CharaData").GetComponent<CharaDataUI>();
     MyCharaDataUI.Init();//初始化
     //跳血文字控制器
     MyHitTextController = Canvas.FindChild("HitTextController").GetComponent<HitTextController>();
     MyHitTextController.Init();
     //標題控制器
     TitleController = Canvas.FindChild("FightTitle").GetComponent<FightTitleController>();
     TitleController.Init();
     //冒險進度
     MyProgress = Canvas.FindChild("Progress").GetComponent<Progress>();
     MyProgress.Init();
     //事件
     MyEventUI = Canvas.FindChild("Event").GetComponent<EventUI>();
     MyEventUI.Init();
     IsInit = true;
 }
コード例 #5
0
 /// <summary>
 /// 對角色造成治癒,傳入[造成的治癒][是否在ICON顯示效果動畫]
 /// </summary>
 public virtual void ReceiveCure(int _cure, bool _showIconAni, HitTextType _hitTextType, float _showDelay)
 {
     //不可對死者進行治癒
     if (!IsAlive)
     {
         return;
     }
     //治癒量不可小於等於0
     if (_cure <= 0)
     {
         return;
     }
     //治癒量大於損失的血量
     if (CurHP + _cure > MaxHP)
     {
         _cure = MaxHP - CurHP;
     }
     CurHP += _cure;
     UpdateHealthRatio();
     HitTextController.ShowHitText(this, _cure, _hitTextType, _showDelay);
     //更新腳色介面
     CharaDataUI.UpdateHealth(Index);
 }
コード例 #6
0
 public void Init()
 {
     if (IsInit)
     {
         return;
     }
     Canvas = transform.GetComponent <RectTransform>();
     //腳色介面
     MyCharaDataUI = Canvas.FindChild("CharaData").GetComponent <CharaDataUI>();
     MyCharaDataUI.Init();//初始化
     //跳血文字控制器
     MyHitTextController = Canvas.FindChild("HitTextController").GetComponent <HitTextController>();
     MyHitTextController.Init();
     //標題控制器
     TitleController = Canvas.FindChild("FightTitle").GetComponent <FightTitleController>();
     TitleController.Init();
     //冒險進度
     MyProgress = Canvas.FindChild("Progress").GetComponent <Progress>();
     MyProgress.Init();
     //事件
     MyEventUI = Canvas.FindChild("Event").GetComponent <EventUI>();
     MyEventUI.Init();
     IsInit = true;
 }