コード例 #1
0
 void Start()
 {
     facingRight = true;
     rb          = GetComponent <Rigidbody2D>();
     anim        = GetComponent <Animator>();
     attackCtrl  = GetComponent <AttackCtrl>();
 }
コード例 #2
0
    private void OnTriggerExit2D(Collider2D collision)
    {
        AttackCtrl a = collision.GetComponent <AttackCtrl>();

        if (collision.tag == "Shootable" && a.GetAttackType() == 8)
        {
            _isChained = false;
        }
    }
コード例 #3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        AttackCtrl a = collision.GetComponent <AttackCtrl>();

        if (collision.tag == "Strongable" && _abilityCode == a.GetStrongTarget())
        {
            StrongBE(a.GetAttackEnergy());
            Destroy(collision.gameObject);
            AudioManager._am.StageAttackSoundPlay(0);
        }
    }
コード例 #4
0
 private void ThirtyAttack()
 {
     _attackCtrl = (Instantiate(_attackBall, transform.position, Quaternion.identity, transform.parent) as GameObject).GetComponent <AttackCtrl>();
     _attackCtrl.SetAttackEnergy(_bibleEnergy * 3);
     _invokeThiCnt++;
     if (_invokeThiCnt == 10)
     {
         _invokeThiCnt = 0;
         CancelInvoke("ThirtyAttack");
     }
 }
コード例 #5
0
 private IEnumerator Shot(float rate, float interval, int count)
 {
     while (CanShot)
     {
         for (int i = 0; i < count; ++i)
         {
             AttackCtrl.PoolCreateAndManage(Weapon, Muzz, transform.name);
             yield return(new WaitForSeconds(rate));
         }
         yield return(new WaitForSeconds(interval));
     }
 }
コード例 #6
0
ファイル: AttackCtrl.cs プロジェクト: sunio00000/StarBringer
 public override void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
     base.Awake();
 }
コード例 #7
0
 private void Attacking()
 {
     if (_abilityCode == 2)
     {
         InvokeRepeating("TripleAttack", 0f, 0.25f);
     }
     else if (_abilityCode == 3)
     {
         _attackCtrl = (Instantiate(_attackBall, transform.position, Quaternion.identity, transform.parent) as GameObject).GetComponent <AttackCtrl>();
         _attackCtrl.SetAttackEnergy(_bibleEnergy);
         _attackCtrl = (Instantiate(_attack2thBall, transform.position, Quaternion.identity, transform.parent) as GameObject).GetComponent <AttackCtrl>();
         _attackCtrl.SetAttackEnergy(_bibleEnergy);
     }
     else if (_abilityCode == 6)
     {
         GameObject[] all = GameObject.FindGameObjectsWithTag("Touchable");
         foreach (GameObject enemy in all)
         {
             enemy.GetComponent <EnemyCtrl>().AllAtack(_bibleEnergy);
         }
     }
     else if (_abilityCode == 7)
     {
         _attackCtrl = (Instantiate(_attackBall, transform.position, Quaternion.identity) as GameObject).GetComponent <AttackCtrl>();
         _attackCtrl.SetAttackEnergy(_bibleEnergy);
     }
     else if (_abilityCode == 9)
     {
         int i = Random.Range(0, 100);
         if (i <= 49)
         {
             InvokeRepeating("ThirtyAttack", 0f, 0.2f);
         }
         else
         {
             _attackCtrl = (Instantiate(_attackBall, transform.position, Quaternion.identity, transform.parent) as GameObject).GetComponent <AttackCtrl>();
             _attackCtrl.SetAttackEnergy(_bibleEnergy);
         }
     }
     else
     {
         _attackCtrl = (Instantiate(_attackBall, transform.position, Quaternion.identity, transform.parent) as GameObject).GetComponent <AttackCtrl>();
         _attackCtrl.SetAttackEnergy(_bibleEnergy);
     }
     _abilityAttackCount -= 1;
     _acText.text         = _abilityAttackCount + "";
     if (_abilityAttackCount == 0)
     {
         StageManager._SMInstance.AbilityEnd();
     }
 }
コード例 #8
0
        void RegisterAllMessage()
        {
            SubscribeNetNotify(NetMsg.MSG_ENTER_GAME, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_EASY_LOGIN, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_QUEUE, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_QUEUE_OK, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_PING, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_HOTUP, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_SYS_SETTING, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_UDP_TOKEN, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_PLAYER_REQUEST_ALL_INFO_END, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_ACC_ROLE_CHANGE_FAIL, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_PLAYER_OPEN_TIME, HandleServerData);
            SubscribeNetNotify(NetMsg.MSG_PLAYER_DAILY_RESET, HandleServerData);

            CustomDataMgr.Instance.RegisterMessages();
            DebugServer.Instance.RegisterAllMessage();
            MainmapManager.Instance.RegisterAllMessage();
            GlobalSettings.Instance.RegisterAllMessages();
            MoveCtrl.RegisterAllMessage();
            AttackCtrl.RegisterAllMessage();
            BeattackedCtrl.RegisterAllMessage();
            BuffCtrl.RegisterAllMessage();
            CooldownManager.Instance.RegisterAllMessage();
            LocalPlayerManager.Instance.RegisterAllMessage();
            GuideManager.Instance.RegisterAllMessages();
            SysConfigManager.Instance.RegisterAllMessages();
            SysPreviewManager.Instance.RegisterAllMessages();
            CullManager.Instance.RigisterAllMessage();
            InstanceManager.Instance.RegisterAllMessages();
            ChatNetEx.Instance.RegisterMessages();
            FriendsNet.Instance.RegisterMessages();
            TaskNet.Instance.RegisterMessages();
            ItemManager.Instance.RegisterAllMessage();
            TaskManager.Instance.RegisterAllMessage();
            MailNet.Instance.RegisterAllMessage();
            InstanceDropManager.Instance.RegisterAllMessages();
            TeamManager.Instance.RegisterAllMessage();
            SkillManager.Instance.RegisterAllMessage();
            xc.Dungeon.CollectionObjectManager.Instance.RegisterMessages();
            HookSettingManager.Instance.RegisterMessages();
            GuildLeagueManager.Instance.RegisterAllMessages();
            SpanServerManager.Instance.RegisterAllMessage();
            MarryManager.Instance.RegisterAllMessage();
            MiniGameManager.Instance.RegisterAllMessages();
        }
コード例 #9
0
ファイル: LocalPlayer.cs プロジェクト: wuhuolong/MaxBooks
    override public void Update()
    {
        if (mTrans == null)
        {
            mTrans = transform;
        }

        bool need_trigger_autoFindTarget = false;

        if (AttackCtrl != null && AttackCtrl.CurSelectActor == null)
        {
            Skill cur_skill = GetCurSkill();
            if (cur_skill != null && cur_skill.IsInBeforeSkillActionEndingStage())
            {
                need_trigger_autoFindTarget = false;
            }
            else
            {
                need_trigger_autoFindTarget = true;
            }
        }
        else if (InBattleStatus == false && InstanceManager.Instance.IsAutoFighting == false)
        {
            m_prepearSelectTotalTime += Time.deltaTime;

            if ((m_lastPrepearPos - mTrans.position).magnitude >= m_PrepearAutoSelectMoveMaxDist)
            {
                need_trigger_autoFindTarget = true;
            }
            if (m_prepearSelectTotalTime > m_PrepearAutoSelectInterval)
            {
                need_trigger_autoFindTarget = true;
            }
        }
        else
        {
            m_prepearSelectTotalTime = 0;
        }
        if (AttackCtrl != null && need_trigger_autoFindTarget)
        {
            m_lastPrepearPos         = mTrans.position;
            m_prepearSelectTotalTime = 0;
            AttackCtrl.AutoFindTarget(m_PrepearAutoSelectSearchRadius);
        }
        PKModeManagerEx.Instance.UpdatePVPBattleState();
        PKModeManagerEx.Instance.UpdateEnemyList();
        base.Update();
//
//         if (mEnemyList != null)
//         {
//             m_cur_has_enemy = mEnemyList.HasEnemy();
//             if (m_pre_has_enemy != m_cur_has_enemy)
//             {
//                 TextNameBehavior nameBehavoir = GetBehavior<TextNameBehavior>();
//                 if (nameBehavoir != null)
//                 {
//                     UI3DText.StyleInfo info = nameBehavoir.DataStyleInfo;
//                     if (info != null)
//                     {
//                         m_pre_has_enemy = m_cur_has_enemy;
//                         info.IsShowBar = m_pre_has_enemy;
//                     }
//                 }
//             }
//         }
    }
コード例 #10
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Shootable")
        {
            AttackCtrl a = collision.GetComponent <AttackCtrl>();
            switch (a.GetAttackType())
            {
            case 1:
                DamagedEnemy(a.GetAttackEnergy());
                Destroy(collision.gameObject);
                break;

            case 2:
                DamagedEnemy(a.GetAttackEnergy());
                _poisoningDamage = Convert.ToInt64(a.GetAttackEnergy() * 0.2);
                if (IsInvoking("PoisoningDamaged"))
                {
                    _poisoningDamage      = Convert.ToInt64(((10 - _poisoningAttackCount) * _newPoisoningDamage) * 0.1) + _poisoningDamage;
                    _poisoningAttackCount = 0;
                    CancelInvoke("PoisoningDamaged");
                }
                InvokeRepeating("PoisoningDamaged", 0.5f, 0.5f);
                Destroy(collision.gameObject);
                break;

            case 4:
                HumanAttributeAttack(a.GetAttackEnergy());
                Destroy(collision.gameObject);
                break;

            case 5:
                GhostAttributeAttack(a.GetAttackEnergy());
                Destroy(collision.gameObject);
                break;

            case 7:
                if (!_isFiring)
                {
                    DamagedEnemy(a.GetAttackEnergy());
                    InvokeRepeating("FiringDamaged", 0.5f, 0.5f);
                    _firingDamage = Convert.ToInt64(a.GetAttackEnergy() * 0.15);
                    _isFiring     = true;
                }
                break;

            case 8:
                if (!_isChained)
                {
                    DamagedEnemy(a.GetAttackEnergy());
                    if (a.GetChainCount() <= 4)
                    {
                        _isChained = true;
                    }
                    a.ChainArrived();
                }
                break;

            case 9:
                DamagedEnemy(a.GetAttackEnergy());
                Destroy(collision.gameObject);
                break;

            default:
                break;
            }
            //Debug.Log(collision.GetComponent<AttackCtrl>().GetAttackEnergy());
        }
    }