Exemple #1
0
        public virtual void Init()
        {
            gameScene = GameApp.GetInstance().GetGameScene();
            rConf     = GameApp.GetInstance().GetResourceConfig();

            gameCamera      = gameScene.GetCamera();
            cameraComponent = gameCamera.GetComponent <Camera>();
            cameraTransform = gameCamera.CameraTransform;
            player          = gameScene.GetPlayer(); //! 获取场景中的人物

            aimTarget = new Vector3();

            hitParticles    = rConf.hitparticles;
            projectile      = rConf.projectile;
            hitForce        = 0f;
            weaponBoneTrans = player.GetTransform().Find(BoneName.WEAPON_PATH);   //! 获取人物中挂载武器的节点

            //gun = weaponBoneTrans.Find("Rifle").gameObject;
            CreateGun();
            gun.transform.parent = weaponBoneTrans;


            BindGunAndFire();

            shootAudio = gun.GetComponent <AudioSource>();
            if (shootAudio == null)
            {
            }
            else
            {
            }
            GunOff();
        }
Exemple #2
0
        // Use this for initialization
        public virtual void Init(GameObject gObject)
        {
            gameScene      = GameApp.GetInstance().GetGameScene();
            player         = gameScene.GetPlayer();
            enemyObject    = gObject;
            enemyTransform = enemyObject.transform;
            animation      = enemyObject.GetComponent <UnityEngine.Animation>();
            aimedTransform = enemyTransform.Find(BoneName.ENEMY_AIMED_PATH);
            rigidbody      = enemyObject.GetComponent <Rigidbody>();
            //collider = enemyObject.transform.Find(BoneName.ENEMY_BODY).collider;
            collider = enemyObject.transform.GetComponent <Collider>();
            //sceneGUI = GameObject.Find("SceneGUI").GetComponent<SceneGUI>();
            rConfig = GameApp.GetInstance().GetResourceConfig();


            gConfig          = GameApp.GetInstance().GetGameConfig();
            controller       = enemyObject.GetComponent <Collider>() as CharacterController;
            detectionRange   = 150.0f;
            attackRange      = 1.5f;
            minRange         = 1.5f;
            lootCash         = 0;
            criticalAttacked = false;
            spawnCenter      = enemyTransform.position;

            target = GameObject.Find("Player").transform;

            //rigidbody.centerOfMass = Vector3.up;

            audio = new AudioPlayer();
            Transform audioFolderTrans = enemyTransform.Find("Audio");

            audio.AddAudio(audioFolderTrans, "Attack");
            audio.AddAudio(audioFolderTrans, "Walk");
            audio.AddAudio(audioFolderTrans, "Dead");
            audio.AddAudio(audioFolderTrans, "Special");
            audio.AddAudio(audioFolderTrans, "Shout");

            hitBloodObjectPool = GameApp.GetInstance().GetGameScene().HitBloodObjectPool;

            pathFinding = new GraphPathFinding();

            animation.wrapMode = WrapMode.Loop;
            animation.Play(AnimationName.ENEMY_IDLE);

            state = IDLE_STATE;

            lastUpdateTime      = Time.time;
            lastPathFindingTime = Time.time;

            idleStartTime = -2;
            enemyObject.GetComponent <UnityEngine.Animation>()[AnimationName.ENEMY_ATTACK].wrapMode = WrapMode.ClampForever;

            path = GameApp.GetInstance().GetGameScene().GetPath();
        }
Exemple #3
0
        public bool CheckInSpot()
        {
            if (bss != BombSpotState.UnInstalled)
            {
                return(false);
            }
            Player player = gameScene.GetPlayer();
            float  dis    = (player.GetTransform().position - spotTransform.position).sqrMagnitude;


            if (dis < spotRadius * spotRadius)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #4
0
        public void Init()
        {
            thumbCenter.x = AutoRect.AutoX(110);
            thumbCenter.y = AutoRect.AutoY(530);
            thumbRadius   = AutoRect.AutoValue(85);


            shootThumbCenter.x = AutoRect.AutoX(852);
            shootThumbCenter.y = AutoRect.AutoY(530);

            if (AutoRect.GetPlatform() == Platform.IPad)
            {
                thumbCenter.x      = AutoRect.AutoX(66);
                shootThumbCenter.x = AutoRect.AutoX(896);
                thumbCenter.y      = AutoRect.AutoY(500);
                shootThumbCenter.y = AutoRect.AutoY(500);
            }



            thumbCenterToScreen      = new Vector2(thumbCenter.x, Screen.height - thumbCenter.y);
            shootThumbCenterToScreen = new Vector2(shootThumbCenter.x, Screen.height - shootThumbCenter.y);

            lastShootTouch = shootThumbCenterToScreen;
            for (int i = 0; i < 2; i++)
            {
                lastTouch[i] = new Touch();
            }

            gameScene = GameApp.GetInstance().GetGameScene();
            player    = gameScene.GetPlayer();

            EnableMoveInput     = true;
            EnableShootingInput = true;
            EnableTurningAround = true;
        }