Ejemplo n.º 1
0
 void OnTriggerExit2D(Collider2D other)
 {
     if (other.tag == "ground")
     {
         PhotonView.Destroy(gameObject);
     }
 }
Ejemplo n.º 2
0
 public void CleanLines()
 {
     foreach (GameObject line in lines)
     {
         PhotonView.Destroy(line);
     }
     lines.Clear();
 }
Ejemplo n.º 3
0
 void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Spider")
     {
         other.SendMessage("Damage", _ownerId);
     }
     else
     {
         PhotonView.Destroy(gameObject);
     }
 }
 void IsDestroyed()
 {
     if (this.hp <= 0)
     {
         var    value = Time.time.ToString() + Random.Range(0, float.MaxValue);
         string hash  = Hash128.Parse(value).ToString();
         var    go    = PhotonNetwork.Instantiate("BigExplosionEffectPref", GetComponent <Transform>().position, Quaternion.identity, 0, new object[] { hash });
         if (this.gameObject != null)
         {
             PhotonView.Destroy(this.gameObject);
         }
     }
 }
Ejemplo n.º 5
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "apple_red" || other.tag == "apple_green")
        {
            audio.PlayOneShot(audio.clip);
            Debug.Log("get apple !");
            if (photonView.isMine)
            {
                game.appleCounterUp(other.tag);
            }

            PhotonView.Destroy(other.gameObject);
        }
    }
Ejemplo n.º 6
0
    public void TakeDamage(int p_damage)
    {
        if (photonView.IsMine)
        {
            current_health -= p_damage;
            Debug.Log(current_health);

            if (current_health <= 0)
            {
                manager.Spawn();
                PhotonView.Destroy(gameObject);
            }
        }
    }
Ejemplo n.º 7
0
 public void takeDamage(float damage)
 {
     if (PV.IsMine)
     {
         health -= damage;
         if (health > MaxHealth)
         {
             health = MaxHealth;
         }
         if (health < 0)
         {
             PhotonView.Destroy(gameObject);
         }
     }
 }
Ejemplo n.º 8
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("MysteryBox"))
        {
            int item = Random.Range(0, IconSprites.Count - 1);
            switch (item)
            {
            case 0:
                player.item = ArcadeKart.Items.Banana;
                break;

            case 1:
                player.item = ArcadeKart.Items.RedShell;
                break;

            case 2:
                player.item = ArcadeKart.Items.GreenShell;
                break;

            case 3:
                player.item = ArcadeKart.Items.BoostSpeed;
                break;

            case 4:
                player.item = ArcadeKart.Items.LowSpeed;
                break;

            default:
                player.item = ArcadeKart.Items.None;
                gameFlowManager.ImageItem.sprite = IconSprites[5];
                break;
            }
            if (gameObject.CompareTag("Player"))
            {
                if (!multiplayer)
                {
                    gameFlowManager.ImageItem.sprite = IconSprites[item];
                    Destroy(other.gameObject);
                }
                else if (multiplayer && this.GetComponent <PhotonView>().IsMine)
                {
                    PhotonView.Destroy(other.gameObject);
                    gameFlowManager.ImageItem.sprite = IconSprites[item];
                }
            }
            player.m_canThrow = true;
        }
    }
Ejemplo n.º 9
0
    void TrigerBombEffect()
    {
        Debug.Log("triger freezebomb effect");
        //例項化一個爆炸效果
        Instantiate(explosion, gameObject.transform.position, Quaternion.identity);
        //GameObject bombAnime = PhotonNetwork.Instantiate(explosion.name, gameObject.transform.position, Quaternion.identity);
        //獲得以炸彈為中心的一定範圍內的所有物件
        Collider2D[] colliders = Physics2D.OverlapCircleAll(gameObject.transform.position, radius);
        foreach (Collider2D itemCollider2D in colliders)
        {
            GameObject item = itemCollider2D.gameObject;
            if (item == gameObject)
            {
                Debug.Log("freezebomb effect: self " + item.name);
            }
            else
            {
            }
            Vector3 forceDirection = -(gameObject.transform.position - item.transform.position);
            forceDirection[2] = 0;
            Debug.Log("bomb effect: other " + item.name + ":" + forceDirection.normalized);
            if (item.name == "Player(Clone)")
            {
                var statusScript = item.GetComponent <PlayerStatus>();
                int id           = statusScript.GetStatusIdByName("Freeze");
                item.GetComponent <PlayerManager>().SetStatusEffect(id, 5);
            }


            /*
             * if(item.GetComponent<Pushable>() != null){
             *  Vector3 forceDirection = -(gameObject.transform.position - item.transform.position);
             *  forceDirection[2] = 0;
             *  Debug.Log("bomb effect: other " + item.name + ":" +  forceDirection.normalized);
             *  //item.GetComponent<Rigidbody2D>().AddForce(forceDirection * bombForce,ForceMode2D.Impulse);
             *  PhotonView photonViewOther = PhotonView.Get(item);
             *  if(photonViewOther != null){
             *      photonViewOther.RPC("bePushedByforce", RpcTarget.All, forceDirection * bombForce);
             *  }
             * }
             */
        }
        triger_flag = false;
        //Animator bombAnimator = bombAnime.GetComponentInChildren<Animator>();
        //PhotonNetwork.Destroy(bombAnime);
        PhotonView.Destroy(this.gameObject);
    }
Ejemplo n.º 10
0
 private void Update()
 {
     if (PhotonNetwork.inRoom)
     {
         Debug.Log(PhotonNetwork.room.Name + " " + PhotonNetwork.room.PlayerCount + " " + PhotonNetwork.playerName);
         if (PhotonNetwork.room.MaxPlayers == PhotonNetwork.room.PlayerCount)
         {
             if (PhotonNetwork.isMasterClient && MatchManager == null)
             {
                 MatchManager = PhotonNetwork.Instantiate("MatchManager", Vector3.zero, Quaternion.identity, 0).GetComponent <MatchManager>();
             }
             //매치매이킹 성공
         }
         else if (MatchManager != null)
         {
             PhotonView.Destroy(MatchManager.gameObject);
         }
     }
 }
Ejemplo n.º 11
0
 void TrigerBombEffect()
 {
     Debug.Log("triger bomb effect");
     //例項化一個爆炸效果
     Instantiate(explosion, gameObject.transform.position, Quaternion.identity);
     //GameObject bombAnime = PhotonNetwork.Instantiate(explosion.name, gameObject.transform.position, Quaternion.identity);
     //獲得以炸彈為中心的一定範圍內的所有物件
     Collider2D[] colliders = Physics2D.OverlapCircleAll(gameObject.transform.position, radius);
     foreach (Collider2D itemCollider2D in colliders)
     {
         GameObject item          = itemCollider2D.gameObject;
         var        playerManager = item.GetComponent <PlayerManager>();
         if (playerManager != null)
         {
             playerManager.energy -= removeEnergy;
         }
     }
     triger_flag = false;
     PhotonView.Destroy(this.gameObject);
 }
Ejemplo n.º 12
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (photonView.IsMine ||   !multiplayerMode)
     {
         if (other.gameObject.tag == "Drops")
         {
             if (other.gameObject.GetComponent <ChipScript>() != null)
             {
                 //Debug.LogError("Hit a Chip");
                 chips += other.gameObject.GetComponent <ChipScript>().chips;
                 PhotonView.Destroy(other.gameObject);
             }
         }
         if (other.gameObject.tag == "NPC")
         {
             interactable = other.gameObject;
         }
     }
     if (other.gameObject.tag == "PlayerProjectile")
     {
         if (canTakeDamage)
         {
             if (other.gameObject.GetComponent <BulletScript>().shooterID != photonView.ViewID)
             {
                 if (other.gameObject.transform.position.x < transform.position.x)
                 {
                     hitDirectionRight = false;
                 }
                 else
                 {
                     hitDirectionRight = true;
                 }
                 //Debug.Log("Hitted Other Player");
                 TakeDamage(other.gameObject.GetComponent <BulletScript>().GetDamage());
                 Destroy(other.gameObject);
             }
         }
     }
 }
Ejemplo n.º 13
0
 void TrigerBombEffect()
 {
     Debug.Log("triger camera shake effect");
     //例項化一個爆炸效果
     Instantiate(explosion, gameObject.transform.position, Quaternion.identity);
     //GameObject bombAnime = PhotonNetwork.Instantiate(explosion.name, gameObject.transform.position, Quaternion.identity);
     //獲得以炸彈為中心的一定範圍內的所有物件
     Collider2D[] colliders = Physics2D.OverlapCircleAll(gameObject.transform.position, radius);
     foreach (Collider2D itemCollider2D in colliders)
     {
         GameObject item         = itemCollider2D.gameObject;
         var        statusScript = item.GetComponent <PlayerStatus>();
         if (statusScript != null)
         {
             int id = statusScript.GetStatusIdByName("CameraShaking");
             item.GetComponent <PlayerManager>().SetStatusEffect(id, time);
         }
     }
     triger_flag = false;
     //Animator bombAnimator = bombAnime.GetComponentInChildren<Animator>();
     //PhotonNetwork.Destroy(bombAnime);
     PhotonView.Destroy(this.gameObject);
 }