Inheritance: MonoBehaviour
Beispiel #1
0
    GameObject InstantiateProjectileWithoutCollider(Vector3 source, Vector3 force, Vector3 currentShooterSpeed, string shooterId, string projectileId, bool seeking, string targetUserId)
    {
        // TODO: Once again, find why these are sometimes null..
        if (activeProjectiles == null)
        {
            Debug.LogWarning("activeProjectiles is null!");
            InitActiveProjectileDict();
        }
        GameObject projectileObj = Instantiate(projectilePrefab, source, Quaternion.identity);

        activeProjectiles[projectileId] = projectileObj;
        projectileObj.GetComponent <Rigidbody>().velocity = seeking ?
                                                            force.normalized :
                                                            currentShooterSpeed;
        projectileObj.GetComponent <Rigidbody>().AddForce(force, ForceMode.Impulse);
        Projectile projectile = projectileObj.GetComponent <Projectile>();

        projectile.shooterId    = shooterId;
        projectile.projectileId = projectileId;
        projectile.lockedOn     = seeking;
        if (seeking)
        {
            // Set initial transform to align to correct direction
            projectile.transform.up = force.normalized;
            foreach (Player player in PhotonNetwork.PlayerList)
            {
                if (player.UserId == targetUserId)
                {
                    projectile.target = NetworkCharacter.GetTargetableCharacter(player);
                    break;
                }
            }
        }
        return(projectileObj);
    }
Beispiel #2
0
 public override void OnKill(NetworkCharacter character)
 {
     if (character == target)
     {
         target = null;
     }
 }
Beispiel #3
0
    void Update()
    {
        players = GameObject.FindGameObjectsWithTag("Player");
        foreach (GameObject player in players)
        {
            NetworkCharacter networkCharacter = player.GetComponent <NetworkCharacter>();
            if (networkCharacter != null)
            {
                if (networkCharacter.haveTheBall)
                {
                    ballCarrier = player;
                }
            }
            else
            {
                Debug.LogError("networkCharacter is null");
                return;
            }
        }

        // time for resetting collision with the player that launched the ball
        timeThrow += Time.deltaTime;
        if (timeThrow >= 0.2f && ball != null)
        {
            Physics.IgnoreCollision(ballCarrier.collider, ball.collider, false);
        }
    }
Beispiel #4
0
    void OnCollisionEnter(Collision collision)
    {
        if (locallyPickedUp)
        {
            return;
        }

        // If the powerup hit a pillar, it's now grounded. Shouldn't move anymore
        if (collision.collider.GetComponent <PillarBehaviour>() != null)
        {
            grounded = true;
            GetComponent <Rigidbody>().isKinematic   = true;
            GetComponent <GravityAffected>().enabled = false;
            // For bobbing motion, set current counter (degree) to minimal bob value (close to ground) and set the center of
            // the bob motion to current position plus bobbing radius
            bobDegree            = 0;
            groundedBaseLocation = transform.position - bobRadius * direction.normalized;
            return;
        }

        // If the powerup hit the LOCAL player, broadcast a message to the powerup controller
        NetworkCharacter netChar = collision.collider.GetComponent <NetworkCharacter>();

        if (netChar != null && netChar.IsLocalPlayer())
        {
            powerupCtrl.BroadcastPickupPowerup(powerupId);
            powerupCtrl.PowerupPickedUp(powerupId);
            locallyPickedUp = true;
            return;
        }
    }
    //from 0 to 100
    public double getGainFromUser(uint userID)
    {
        double result = -1;

        float maxDistance = GameManager.Instance.maxDistanceToHear;

        NetworkCharacter character = getCharacterFromID(userID);

        if (character == null)
        {
            return(-1);                   // get this value, no need to set anything
        }
        double distance = Vector3.Distance(character.transform.position, _mainCharacter.transform.position);

        result = 1 - distance / maxDistance;

        if (result < 0)
        {
            result = 0;
        }

        result *= 100;
        result  = Math.Floor(result);

        return(result);
    }
Beispiel #6
0
 public void DenyPowerup(string powerupId)
 {
     NetworkCharacter
     .GetPlayerGameObject(PhotonNetwork.LocalPlayer)
     .GetComponent <PowerupableCharacter>()
     .DenyPower(powerupId);
 }
 void Awake()
 {
     navMeshAgent = GetComponent <NavMeshAgent> ();
     navMeshAgent.stoppingDistance = navStopDistance;
     hskills   = GetComponent <HunterSkills> ();
     character = GetComponent <NetworkCharacter> ();
 }
Beispiel #8
0
    /// <summary>
    /// Start this instance.
    /// </summary>
    void Start()
    {
        character = transform.root.GetComponent <NetworkCharacter>();

        // morph target needs to be set manually; possibly other components will need the same
        if (skinnedMeshRenderer == null)
        {
            Debug.LogError("LipSyncContextMorphTarget.Start Error: " +
                           "Please set the target Skinned Mesh Renderer to be controlled!");
            return;
        }

        // make sure there is a phoneme context assigned to this object
        lipsyncContext = GetComponent <OVRLipSyncContextBase>();
        if (lipsyncContext == null)
        {
            Debug.LogError("LipSyncContextMorphTarget.Start Error: " +
                           "No OVRLipSyncContext component on this object!");
        }
        else
        {
            // Send smoothing amount to context
            lipsyncContext.Smoothing = smoothAmount;
        }
    }
Beispiel #9
0
    private IEnumerator ProjectileUpdate()
    {
        yield return(new WaitForSeconds(delay));

        Collider2D[] colliders = Physics2D.OverlapPointAll(transform.position);

        foreach (Collider2D collider in colliders)
        {
            if (collider.gameObject.layer == LayerMask.NameToLayer("Characters"))
            {
                if (collider.gameObject == this.gameObject)
                {
                    continue;
                }

                NetworkCharacter nc = collider.gameObject.GetComponent <NetworkCharacter>();

                if (nc.TakeDamage(owner, damage) <= 0)
                {
                    if (owner != null && nc != null)
                    {
                        owner.OnKill(nc);
                    }
                }
            }
        }

        // Destroy.
        NetworkManager.Destroy(this.gameObject);

        yield break;
    }
Beispiel #10
0
 // Use this for initialization
 void Start()
 {
     teamMember        = GetComponent <TeamMember>();
     score             = GameObject.FindObjectOfType <Score>();
     networkCharacter  = gameObject.GetComponent <NetworkCharacter>();
     emptyBall         = transform.Find("soldier/Hips/Spine/Spine1/Spine2/RightShoulder/RightArm/RightForeArm/RightHand/WeaponHolder/EmptyBall");
     placeholderpistol = transform.Find("soldier/Hips/Spine/Spine1/Spine2/RightShoulder/RightArm/RightForeArm/RightHand/WeaponHolder/placeholderpistol");
 }
	float targInnaccuracy = 2f; // Extra innaccuray to simulate mouse hand shake or something

	// Use this for initialization
	void Start () {
		netChar = GetComponent<NetworkCharacter>();

		if(waypoints == null) {
			waypoints = GameObject.FindObjectsOfType<Waypoint>();
		}

		destination = GetClosestWaypoint();
	}
    public void Possess(NetworkCharacter character)
    {
        if (!possessors.Contains(character))
        {
            possessors.Add(character);
        }

        ShowSprites();
    }
Beispiel #13
0
 void SetupComponents()
 {
     m_Rigidbody        = GetComponent <Rigidbody>();
     speedMultiplier    = GetComponent <SpeedMultiplier>();
     character          = GetComponent <NetworkCharacter>();
     m_CameraFollow     = GetComponent <CameraFollow>();
     m_MovementAxisName = "Vertical";
     m_TurnAxisName     = "Horizontal";
 }
Beispiel #14
0
    public float TakeDamage(NetworkCharacter attacker, float amt)
    {
        // Subtract damage.
        health -= amt;

        // Damage callback.
        OnTakeDamage(attacker, amt);

        return(health);
    }
Beispiel #15
0
    // Use this for initialization
    void Start()
    {
        netChar = GetComponent <NetworkCharacter>();
        if (waypoints == null)
        {
            waypoints = GameObject.FindObjectsOfType <Waypoint>();
        }

        destination = GetClosestWaypoint();
    }
    public void Leave(NetworkCharacter character)
    {
        if (possessors.Contains(character))
        {
            possessors.Remove(character);
        }

        if (possessors.Count == 0)
        {
            HideSprites();
        }
    }
Beispiel #17
0
    void Start()
    {
        myNetChar = gameObject.GetComponent <NetworkCharacter> ();
        if (hasWeapon)
        {
            sword = transform.Find("Sword").GetComponent <Sword>();
        }

        instance     = this;
        animator     = gameObject.GetComponent <Animator>();
        packAnimator = transform.Find("BackSlot").transform.Find("Jetpack").GetComponent <Animator>();
    }
Beispiel #18
0
    protected override void OnTakeDamage(NetworkCharacter attacker, float damage)
    {
        if (attacker == null)
        {
            return;
        }

        // Change targets.
        if (attacker.tag == "Player")
        {
            target = (Player)attacker;
        }
    }
 void Awake()
 {
     navMeshAgent = GetComponent <NavMeshAgent> ();
     survivorsk   = GetComponent <SurvivorSkills> ();
     character    = GetComponent <NetworkCharacter> ();
     hskills      = GetComponent <HunterSkills> ();
     navMeshAgent.stoppingDistance = navStopDistance;
     if (speedMultiplier == null)
     {
         speedMultiplier = GetComponent <SpeedMultiplier>();
     }
     deployedTimer = defaultDeployedUsageCooldown;
 }
    public void Start()
    {
        netChar     = gameObject.GetComponent <NetworkCharacter> ();
        cam         = gameObject.GetComponentInChildren <Camera> ();
        botCam      = gameObject.GetComponentInChildren <Camera> ();
        botMovement = gameObject.GetComponent <BotMovement> ();


        grudveBroj = 5;
        anim       = GetComponent <Animator> ();

        oldcullinMask = cam.cullingMask;
    }
    void Overcharge(string shooterId)
    {
        ResetColor();
        Destroy(Instantiate(shockwavePrefab, Vector3.zero, Quaternion.identity), 5f);

        // Damage and knock back relative to distance from sun
        GameObject playerObj = NetworkCharacter.GetPlayerGameObject(PhotonNetwork.LocalPlayer);
        float      dist      = playerObj.transform.position.magnitude;
        float      damage    = UserDefinedConstants.sunDamage * (1 - dist / UserDefinedConstants.sphereRadius);

        dmgCtrl.BroadcastInflictDamage(shooterId, damage, PhotonNetwork.LocalPlayer.UserId);
        playerObj.GetComponent <Rigidbody>().AddForce(playerObj.transform.position.normalized * damage, ForceMode.Impulse);
    }
        private async void Start()
        {
            _player = FindObjectOfType <NetworkCharacter>();

            //BASIC
            await AuthSession();
            await InitSocket();

            await _socket.ConnectAsync(_session);

            //MATCHMAKING
            SubscribeSocketsEvents();
            Debug.Log("After socket connected.");
            await _socket.AddMatchmakerAsync("*", 2, 4);
        }
Beispiel #23
0
 public override void OnKill(NetworkCharacter character)
 {
     if (character is Mage)
     {
         score += 2;
     }
     else if (character is Player)
     {
         score += 3;
     }
     else
     {
         score++;
     }
 }
    // Start is called before the first frame update
    void Start()
    {
        if (this.gameObject.GetComponent <PhotonView>().IsMine)
        {
            chargeMeter = GameObject.FindGameObjectWithTag("ChargeMeter").GetComponent <AbilityChargeMeter>();
            chargeMeter.InitizalizeMeter(this);
        }

        jumpAbility     = GetComponent <JumpAbility>();
        teleportAbility = GetComponent <TeleportAbility>();

        carRigidbody = this.GetComponent <Rigidbody>();

        networkCharacter = GetComponent <NetworkCharacter>();
    }
Beispiel #25
0
    void Awake()
    {
        // Setting up the references.
        anim                  = GetComponent <Animator>();
        playerAudio           = GetComponent <AudioSource>();
        playerMovement        = GetComponent <PlayerMovement>();
        controler             = GetComponent <FirstPersonController>();
        playerNetworkChracter = GetComponent <NetworkCharacter>();
        avatarImg.texture     = GameObject.Find("CanvasMenu").transform.GetChild(2).gameObject.transform.GetChild(0).GetComponent <RawImage>().texture;

        playerShooting = GetComponentInChildren <PlayerShoting>();

        // Set the initial health of the player.
        currentHealth = startingHealth;
    }
Beispiel #26
0
    public void OnPlaybackAudioFrameBeforeMixingHandler(uint uid, AudioFrame audioFrame)
    {
        //Debug.Log("AgoraTest  OnPlaybackAudioFrameBeforeMixingHandler  buffer = " + audioFrame.buffer + " ,bytesPerSample = " + audioFrame.bytesPerSample + ",channels = " + audioFrame.channels + ",renderTimeMs = " + audioFrame.renderTimeMs + ",samples = " + audioFrame.samples + ",samplesPerSec = " + audioFrame.samplesPerSec + ",type = " + audioFrame.type + ",avsync_type = " + audioFrame.avsync_type);

        //if (uid != UDID) return;



        NetworkCharacter character = getCharacterFromID(uid);

        if (character == null)
        {
            return;
        }



        byte[] byteArray = audioFrame.buffer;

        buffData = Helper.PCM2Floats(byteArray, isLittleEndian);

        if (lipSyncSolution == ELipSyncSolution.OculusSolution && character.context != null)
        {
            character.context.ProcessAudioSamples(buffData, 2);
        }
        else if (lipSyncSolution == ELipSyncSolution.SalsaSolution && character.salsaComponent != null)
        {
            //Debug.Log(buffData.Length);

            //character.audioSource.clip = clipTemp;
            //character.audioSource.Play();

            //Debug.Log("set data " + character.UDID + " " + buffData.Length);

            character.audioDataBuffer = buffData;

            //if (character.audioSource && character.audioSource.clip) {

            //    if (character.audioSource.isPlaying)
            //        character.audioSource.Stop();

            //    character.audioSource.clip.SetData(buffData, 0);
            //    character.audioSource.Play();
            //}

            //Debug.Log("set buffer data");
        }
    }
    public void RemoteExplosion(Vector3 position, Vector3 explosionForce, float dist, string shooterId)
    {
        // Instantiate explosion graphic and sound
        Explosion(position);

        // Apply force (disable root motion for a bit):
        Player     player    = PhotonNetwork.LocalPlayer;
        GameObject playerObj = NetworkCharacter.GetPlayerGameObject(player);

        playerObj.GetComponent <PlayerMovementController>().DisableRootMotionFor(UserDefinedConstants.explosionParalysisTime);
        playerObj.GetComponent <Rigidbody>().AddForce(explosionForce, ForceMode.Impulse);
        // Do damage (to self):
        float damage = UserDefinedConstants.projectileHitDamage * (1 - Mathf.Clamp01(dist / UserDefinedConstants.explosionRadius));

        dmgCtrl.BroadcastInflictDamage(shooterId, damage, player.UserId);
    }
Beispiel #28
0
    void Start()
    {
        fxManager = GameObject.FindObjectOfType <FXManager>();

        if (fxManager == null)
        {
            Debug.LogError("Couldn't find FXManager");
        }

        networkCharacter = gameObject.GetComponent <NetworkCharacter>();

        if (networkCharacter == null)
        {
            Debug.LogError("Couldn't find NetworkCharacter");
        }
    }
Beispiel #29
0
    // Use this for initialization
    void Start()
    {
        ballManager = GameObject.FindObjectOfType <BallManager>();

        if (ballManager == null)
        {
            Debug.LogError("Couldn't find BallManager");
        }

        networkCharacter = gameObject.GetComponentInParent <NetworkCharacter>();

        if (networkCharacter == null)
        {
            Debug.LogError("Couldn't find NetworkCharacter");
        }
    }
Beispiel #30
0
    //from -1 to 1
    public double getPanFromUser(uint userID)
    {
        double result = -1;

        NetworkCharacter character = getCharacterFromID(userID);

        if (character == null)
        {
            return(-1);                   // get this value, no need to set anything
        }
        Vector3 targetDir = character.transform.position - _mainCharacter.transform.position;
        double  angle     = Vector3.SignedAngle(targetDir, transform.forward, Vector3.up);

        result = angle / 180;

        return(result);
    }
Beispiel #31
0
    public void onStreamMessageNative(string data)
    {
        //take uid and data

        string[] splitData = data.Split(new string[] { "*data*" }, StringSplitOptions.None);

        string uidString = splitData[0];

        //convert uid to uint uid
        uint uid = UInt32.Parse(uidString);

        string justData = splitData[1];

        NetworkCharacter character = getCharacterFromID(uid);

        character.ReceiveLipsyncMessage(justData);
    }
Beispiel #32
0
 /// <summary>Called by Unity on start of the application and does a setup the PhotonView.</summary>
 public void Awake()
 {
     this.Setup();
     Character = GetComponent<NetworkCharacter>();
 }
Beispiel #33
0
	void Start () {
		rb = GetComponent<Rigidbody2D>();
		nchar = GetComponent<NetworkCharacter>();
	}
    // Use this for initialization
    void Start()
    {
        netChar = GetComponent<NetworkCharacter>();

        Cursor.visible = false;
    }
 // Use this for initialization
 void Start()
 {
     netChar = GetComponent<NetworkCharacter>();
 }