private void CreateMuzzleFire()
 {
     if (!(null == muzzleFire) && !(null == muzzle))
     {
         if (muzzleFxInstance == null)
         {
             GameObject gameObject = Object.Instantiate((Object)muzzleFire) as GameObject;
             Recursively.SetLayer(gameObject.GetComponent <Transform>(), LayerMask.NameToLayer("FPWeapon"));
             gameObject.transform.position      = muzzle.position;
             gameObject.transform.parent        = muzzle;
             gameObject.transform.localRotation = Quaternion.Euler(90f, 90f, 0f);
             muzzleFxInstance = gameObject;
         }
         ParticleEmitter particleEmitter = null;
         int             childCount      = muzzleFxInstance.transform.childCount;
         for (int i = 0; i < childCount; i++)
         {
             Transform child = muzzleFxInstance.transform.GetChild(i);
             particleEmitter = child.GetComponent <ParticleEmitter>();
             if ((bool)particleEmitter)
             {
                 particleEmitter.Emit();
             }
         }
     }
 }
    public DroppedItem(int _itemSeq, string _itemCode, int _bulletCount, int _bulletCount2, float x, float y, float z)
    {
        itemSeq      = _itemSeq;
        itemCode     = _itemCode;
        bulletCount  = _bulletCount;
        bulletCount2 = _bulletCount2;
        TWeapon tWeapon = TItemManager.Instance.Get <TWeapon>(itemCode);

        eff = (UnityEngine.Object.Instantiate((UnityEngine.Object)GlobalVars.Instance.droppedEff, new Vector3(x, y, z), Quaternion.Euler(0f, 0f, 0f)) as GameObject);
        obj = (UnityEngine.Object.Instantiate((UnityEngine.Object)tWeapon.CurPrefab()) as GameObject);
        obj.transform.position = new Vector3(x, y, z);
        obj.transform.rotation = Quaternion.Euler(0f, 0f, 0f);
        obj.GetComponent <WeaponGadget>().enabled   = true;
        obj.GetComponent <WeaponFunction>().enabled = false;
        obj.GetComponent <WeaponFunction>().ItemSeq = itemSeq;
        Aim component = obj.GetComponent <Aim>();

        if (null != component)
        {
            component.enabled = false;
        }
        Scope component2 = obj.GetComponent <Scope>();

        if (null != component2)
        {
            component2.enabled = false;
        }
        Recursively.SetLayer(obj.GetComponent <Transform>(), LayerMask.NameToLayer("Default"));
    }
示例#3
0
    private GameObject AttachWeapon(GameObject weaponPrefab,TWeapon tItem)
    {
        if (null == weaponPrefab || null == rightHand)
        {
            return(null);
        }
        GameObject gameObject = Object.Instantiate((Object)weaponPrefab) as GameObject;

        gameObject.GetComponent <Weapon>().tItem           = tItem;
        gameObject.GetComponent <WeaponFunction>().enabled = true;
        gameObject.GetComponent <WeaponFunction>().SetDrawn(draw: false);
        if (tItem != null && tItem.IsTwoHands)
        {
            WeaponLeft = (Object.Instantiate((Object)weaponPrefab) as GameObject);
            WeaponLeft.GetComponent <Weapon>().tItem           = tItem;
            WeaponLeft.GetComponent <WeaponFunction>().enabled = true;
            WeaponLeft.GetComponent <WeaponFunction>().SetDrawn(draw: false);
            WeaponLeft.GetComponent <Gun>().LeftHand = true;
            WeaponLeft.GetComponent <Gun>().TwoHands = true;
        }
        if (RoomManager.Instance.CurrentRoomType != 0 && tItem != null)
        {
            gameObject.GetComponent <WeaponFunction>().category = tItem.cat;
            if (WeaponLeft != null)
            {
                WeaponLeft.GetComponent <WeaponFunction>().category = tItem.cat;
            }
        }
        Recursively.SetLayer(gameObject.GetComponent <Transform>(),LayerMask.NameToLayer("FPWeapon"));
        if (WeaponLeft != null)
        {
            Recursively.SetLayer(WeaponLeft.GetComponent <Transform>(),LayerMask.NameToLayer("FPWeapon"));
        }
        Attach(gameObject.transform,rightHand,Quaternion.Euler(0f,90f,90f));
        if (WeaponLeft != null)
        {
            Attach(WeaponLeft.transform,leftHand,Quaternion.Euler(0f,90f,90f));
        }
        gameObject.SetActive(value: false);
        if (WeaponLeft != null)
        {
            WeaponLeft.SetActive(value: false);
        }
        return(gameObject);
    }
 public virtual void setFever(bool isOn)
 {
     if (isOn)
     {
         if (objFever != null)
         {
             Object.Destroy(objFever);
             objFever = null;
         }
         Transform[] componentsInChildren = GetComponentsInChildren <Transform>();
         int         num = 0;
         while (transformFever == null && num < componentsInChildren.Length)
         {
             if (componentsInChildren[num].name.Contains("Dummy_fire_effect"))
             {
                 transformFever = componentsInChildren[num];
                 break;
             }
             num++;
         }
         if (transformFever != null && objFever == null)
         {
             objFever = (Object.Instantiate((Object)GlobalVars.Instance.fxFeverGun, transformFever.position, Quaternion.Euler(0f, 0f, 0f)) as GameObject);
             Recursively.SetLayer(objFever.GetComponent <Transform>(), LayerMask.NameToLayer("FPWeapon"));
             objFever.transform.position      = transformFever.position;
             objFever.transform.parent        = transformFever;
             objFever.transform.localRotation = Quaternion.Euler(90f, 90f, 0f);
         }
         else
         {
             Debug.LogError("Not found. Dummy_fire_effect.");
         }
     }
     else if (objFever != null)
     {
         Object.Destroy(objFever);
         objFever            = null;
         transformFever      = null;
         feverAutoFire1Click = false;
         feverAutoFire2Click = false;
     }
 }
示例#5
0
    public GameObject Instantiate(ushort code, Vector3 position, Quaternion rotation)
    {
        GameObject gameObject = UnityEngine.Object.Instantiate((UnityEngine.Object)brick, position, Quaternion.Euler(0f, 0f, 0f)) as GameObject;

        if (meshOptimize)
        {
            for (DIR dIR = DIR.TOP; dIR <= DIR.RIGHT; dIR++)
            {
                if ((code & meshCodeSet[(int)dIR]) > 0)
                {
                    GameObject gameObject2 = bright[(int)dIR];
                    if ((code & shadowCodeSet[(int)dIR]) > 0)
                    {
                        gameObject2 = dark[(int)dIR];
                    }
                    GameObject gameObject3 = UnityEngine.Object.Instantiate((UnityEngine.Object)gameObject2, position, gameObject2.transform.rotation) as GameObject;
                    gameObject3.transform.parent  = gameObject.transform;
                    gameObject.transform.rotation = rotation;
                }
            }
        }
        else
        {
            GameObject gameObject4 = UnityEngine.Object.Instantiate((UnityEngine.Object)bright[0], position, bright[0].transform.rotation) as GameObject;
            if (NeedChunkOptimize())
            {
                Collider[] componentsInChildren = gameObject4.GetComponentsInChildren <Collider>();
                for (int i = 0; i < componentsInChildren.Length; i++)
                {
                    UnityEngine.Object.Destroy(componentsInChildren[i]);
                }
                Recursively.SetLayer(gameObject4.transform, LayerMask.NameToLayer("Default"));
            }
            gameObject4.transform.parent  = gameObject.transform;
            gameObject.transform.rotation = rotation;
        }
        return(gameObject);
    }