예제 #1
0
        void Start()
        {
            isOffline = GameObject.FindObjectOfType<PlayersManager> ().isOffline;

            GameObject[] players = GameObject.FindGameObjectsWithTag (Tags.GameController);

            grenadeController = GetComponentInChildren<Grenade> ();
            grenadeController.shooterID = shooterID;
            rocket.GetComponent<Rocket>().shooterID = shooterID;
            grenadeController.damage = damage;
            grenadeController.radius = radius;

            rocketHolder = transform.gameObject;

            foreach (GameObject player in players) {
                if (player.name == shooterID) {
                    _inputManager = player.GetComponentInChildren<InputManager> ();
                    _inputManager.SetRocketMode (true);
                    grenadeController.isDecider = true;
                    // find camera
                    if (!isOffline && _inputManager._isLocalPlayer) {
                        // online
                        mainCamera = Camera.main.GetComponent<CameraController> ();
                        mainCamera.target = this.gameObject;
                    }
                }
            }

            Quaternion initialRotation = Quaternion.LookRotation (initialVelocity, Vector3.back);
            initialRotation.x = 0f;
            initialRotation.y = 0f;
            transform.rotation = initialRotation;

            lastVelocities = new Vector2[velocityBuffer];
            volume = audioSource.volume;
            audioSource.volume = 0f;
            audioSource.Play();
        }
예제 #2
0
파일: Weapon.cs 프로젝트: Kundara/project1
		//at start
		void GetObjects ()
		{
			_weaponHolder = transform.parent.gameObject.GetComponent<WeaponHolder> ();

			foreach (Transform child in transform) {
				if (child.gameObject.name == "shootFrom") {
					_shootFrom = child.gameObject;
				}
			}

			GameObject gameController = transform.root.gameObject;

			var playerObjectsRef = gameController.GetComponent<PlayerObjectReferences> ();
			character = playerObjectsRef.character;

			_jetPackController = character.jetPack;
			_edgeAnimator = GameObject.FindObjectOfType<edgeIndicator> ().gameObject.GetComponent<Animator> ();

			_characterAnimator = character.animator;

			_isOffline = GameObject.FindObjectOfType<PlayersManager> ().isOffline;
			if (_isOffline) {
				// offline
				_isLocalPlayer = true;
				_OfflinePlayerController = gameController.GetComponent<OfflinePlayerController> ();
				ID = _OfflinePlayerController.ID;
				//_combatOffline = gameController.GetComponent<CombatOffline> ();
			} else {
				// online
				_MultiplayerPlayerController = gameController.GetComponent<MultiplayerPlayerController> ();
				_isLocalPlayer = _MultiplayerPlayerController.isLocalPlayer;
				ID = _MultiplayerPlayerController.ID;
				combat = gameController.GetComponent<Combat> ();
				_CombatAmmoSync = transform.root.gameObject.GetComponent<CombatAmmoSync> ();
			}
			_audioPlayer = gameController.GetComponent<AudioPlayerCharacter> ();
			_cameraCont = GameObject.FindGameObjectWithTag ("MainCamera").GetComponent<CameraController> ();
			_inputManager = playerObjectsRef.inputManager;

			_fire = transform.FindChild ("Fire").GetComponent<ParticleSystem> ();

			if (weaponType == WeaponType.Shocker) {
				shocker = GetComponent<Shocker> ();
				shocker.totalEnergy = damage;
				shocker.range = range;
			}
				

			weaponsHud = FindObjectOfType<WeaponsHud> ();
			statusIndicators = playerObjectsRef.statusIndicators;

		}