コード例 #1
0
        private void OnTriggerEnter(Collider other)
        {
            if (IsTargetLayer(other.gameObject))
            {
                var bs = other.GetComponentInParent <Minion>();
                if (bs != null && bs.CanBeTarget())
                {
                    PoolManager.instance.ActivateObject("Effect_Stone", bs.ts_HitPos.position);
                    if (ActorProxy.isPlayingAI)
                    {
                        if (bs != null && bs.isAlive)
                        {
                            bs.ActorProxy.HitDamage(power);
                        }
                    }
                }
            }

            if (other.CompareTag("Wall") || other.CompareTag("Tower"))
            {
                if (elapsedTime < 1.0f)
                {
                    return;
                }

                PoolManager.instance.ActivateObject("Effect_Bomb", transform.position);
                ts_Model.gameObject.SetActive(false);
                SoundManager.instance.Play(Global.E_SOUND.SFX_COMMON_EXPLOSION);
                if (ActorProxy.isPlayingAI)
                {
                    ActorProxy.Destroy();
                }
            }
        }
コード例 #2
0
        public void Bomb()
        {
            ps_Tail.Stop();
            ps_BombEffect.Play();
            SoundManager.instance.Play(Global.E_SOUND.SFX_INGAME_COMMON_EXPLOSION);

            if (ActorProxy.isPlayingAI)
            {
                ActorProxy.Destroy(1.1f);
            }
        }
コード例 #3
0
        void Bomb()
        {
            if (bombed)
            {
                return;
            }

            bombed = true;
            //ActorProxy.DestroyAfterSummonActor(SummonActorInfos.SinzedPoison, transform.position);
            ActorProxy.CreateActorBy(3013, ActorProxy.ingameUpgradeLevel, ActorProxy.outgameUpgradeLevel,
                                     new Vector3[] { transform.position });
            ActorProxy.Destroy();
        }
コード例 #4
0
        private void Destroy()
        {
            if (isDestroyRequested)
            {
                return;
            }

            if (ActorProxy.isPlayingAI)
            {
                isDestroyRequested = true;
                ActorProxy.Destroy();
            }
        }
コード例 #5
0
ファイル: Mine.cs プロジェクト: robin1392/robin
        public void Bomb()
        {
            if (ActorProxy.isPlayingAI == false)
            {
                return;
            }

            if (isBombed)
            {
                return;
            }

            isBombed = true;
            ActorProxy.Destroy();
        }
コード例 #6
0
ファイル: RageOfTower.cs プロジェクト: robin1392/robin
        public override void Initialize(bool pIsBottomPlayer)
        {
            base.Initialize(pIsBottomPlayer);

            var rwClient = ActorProxy.Client as RWNetworkClient;

            tower = rwClient.GetTower(ActorProxy.ownerTag);

            if (ps_Bomb != null)
            {
                ps_Bomb.transform.position = tower.transform.position;
                ps_Bomb.Play();
            }

            ActorProxy.Destroy(2f);
        }
コード例 #7
0
        protected override IEnumerator Cast()
        {
            target = ActorProxy.GetRandomEnemyCanBeAttacked();
            if (target == null)
            {
                ActorProxy.Destroy();
                yield break;
            }

            var iceBallAction = new IceBallAction();

            RunningAction = iceBallAction;
            yield return(iceBallAction.ActionWithSync(ActorProxy, target.ActorProxy));

            RunningAction = null;
        }
コード例 #8
0
        protected override IEnumerator Cast()
        {
            target = ActorProxy.GetEnemyTowerOrBossEgg();
            if (target == null)
            {
                ActorProxy.Destroy();
                yield break;
            }

            var rocketAction = new RocketAction();

            RunningAction = rocketAction;
            yield return(rocketAction.ActionWithSync(ActorProxy, target.ActorProxy));

            RunningAction = null;
        }
コード例 #9
0
ファイル: Invincibility.cs プロジェクト: robin1392/robin
        protected override IEnumerator Cast()
        {
            if (ActorProxy.isPlayingAI)
            {
                for (int i = 0; i < ActorProxy.diceScale; i++)
                {
                    var m = ActorProxy.GetRandomFirendlyMinion();
                    if (m != null)
                    {
                        m.ActorProxy.AddBuff(BuffInfos.Invincibility, effect);
                    }
                }
            }

            ActorProxy.Destroy();
            yield break;
        }
コード例 #10
0
ファイル: Fireball.cs プロジェクト: robin1392/robin
        public void Bomb()
        {
            if (isBombed)
            {
                return;
            }

            isBombed      = true;
            light.enabled = false;
            ps_Tail.Stop();
            ps_BombEffect.Play();

            SoundManager.instance.Play(Global.E_SOUND.SFX_INGAME_COMMON_EXPLOSION);

            if (ActorProxy.isPlayingAI)
            {
                SplashDamage();
                ActorProxy.Destroy(1.1f);
            }
        }
コード例 #11
0
        public void Bomb()
        {
            SoundManager.instance.Play(clip_Explosion);
            ps_Tail.Stop();
            ps_BombEffect.Play();

            if (ActorProxy.isPlayingAI == false)
            {
                return;
            }

            var targetActorProxy = ActorProxy.baseEntity.target.ActorProxy;

            if (targetActorProxy != null && targetActorProxy.baseEntity.CanBeTarget())
            {
                targetActorProxy.AddBuff(BuffInfos.Freeze, sturnTime);
                targetActorProxy.HitDamage(ActorProxy.power);
            }

            ActorProxy.Destroy(1.1f);
        }
コード例 #12
0
        private IEnumerator Root()
        {
            while (ActorProxy.spawnTime + lifeTime > ActorProxy.NetworkTime.Time)
            {
                var cols = Physics.OverlapSphere(transform.position, 1f, targetLayer);

                foreach (var col in cols)
                {
                    var bs = col.transform.GetComponentInParent <Minion>();

                    if (bs == null || bs.CanBeTarget() == false || bs.id == id)
                    {
                        continue;
                    }

                    bs.ActorProxy.HitDamage(power);
                }

                yield return(new WaitForSeconds(0.1f));
            }

            ActorProxy.Destroy();
        }