예제 #1
0
 public override void Broken()
 {
     base.Broken();
     //產生道具
     if (photonView.IsMine)
     {
         //Debug.LogFormat("Container broken! Instantiate obj in {0}", transform.position);
         photonView.RPC("PerformBroken", RpcTarget.All);
         PhotonNetwork.InstantiateSceneObject(ZDAssetTable.GetPath(DropPrefabs[randomNum]),
                                              transform.position,
                                              Quaternion.identity);
         if (!animator)
         {
             //如果沒有Animator就自行Destroy不然就由Animator來觸發。
             Destroy();
         }
     }
 }
예제 #2
0
        static public GameObject PlayAtPoint(AudioClip clip, Vector3 pos, float vol = 1.0f, bool loop = false)
        {
            GameObject Sample      = ZDAssetTable.GetObject("AudioPlayer");
            GameObject AudioPlayer = null;

            if (Sample)
            {
                AutoDestroyAudioSource audioController;
                AudioPlayer     = Object.Instantiate(Sample, pos, Quaternion.identity);
                audioController = AudioPlayer.GetComponent <AutoDestroyAudioSource>();
                if (audioController)
                {
                    //找得到就播放聲音
                    audioController.Setup(clip, vol, loop);
                }
                else
                {
                    //找不到Script就刪掉
                    Object.Destroy(AudioPlayer);
                    AudioPlayer = null;
                }
            }
            return(AudioPlayer);
        }