コード例 #1
0
ファイル: Robot.cs プロジェクト: iidioter/jazz2
        private void Shoot()
        {
            SpikeBall spikeBall = new SpikeBall();

            spikeBall.OnActivated(new ActorActivationDetails {
                LevelHandler = levelHandler,
                Pos          = Transform.Pos + new Vector3(0f, -32f, 0f),
                Params       = new[] { (ushort)(IsFacingLeft ? 1 : 0) }
            });
            levelHandler.AddActor(spikeBall);

            shots--;

            PlaySound("Attack");
            SetTransition((AnimState)1073741825, false, delegate {
                if (shots > 0)
                {
                    PlaySound("AttackShutter");
                    Shoot();
                }
                else
                {
                    Run();
                }
            });
        }
コード例 #2
0
    public override void Attack()
    {
        if (MainCharacter.Instance.Alive && CanAttack)
        {
            CanAttack = false;
            StartCoroutine(CoolWeaponDown());
            SpikeBall bullet = SpikeBallPool.Instance.GetNext(true);

            Vector3 toTarget = MainCharacter.Instance.transform.position - transform.position;
            bullet.Fire(transform.position, (Vector2)toTarget, Damage);
            //MainCharacter.Instance.Hurt(Damage);
        }
    }
コード例 #3
0
        void FireRPC(Vector3 firePos, Vector3 fireDir)
        {
            if (gameObject.activeSelf == false)
            {
                return;
            }

            GameObject obj = Instantiate(fireObj) as GameObject;

            obj.transform.position = fireTr.position;

            Rigidbody rb = obj.GetComponent <Rigidbody>();

            rb.velocity = fireTr.forward * fireSpeed;

            // 발사한 사람을 기록한다.
            SpikeBall sb = obj.GetComponent <SpikeBall>();

            sb.actorNumber = _photonView.Owner.ActorNumber;
        }