private void PrepareNivose() { // _mOrigPosition = Globals.Instance.MSceneManager.mMainCamera.transform.position; // _mOrigEulerAngles = Globals.Instance.MSceneManager.mMainCamera.transform.rotation.eulerAngles; // _mOrigCullingMask = Globals.Instance.MSceneManager.mMainCamera.cullingMask; // // Globals.Instance.MSceneManager.mMainCamera.transform.position = _mSkillUser.U3DGameObject.transform.position + new Vector3(0.0f, 50.0f, -100.0f); // Globals.Instance.MSceneManager.mMainCamera.transform.LookAt(_mSkillUser.U3DGameObject.transform.position); int cullingMask = LayerMaskDefine.GetCullMaskEveryThing(); cullingMask -= LayerMaskDefine.GetLayerCullMask(LayerMaskDefine.GUI); cullingMask -= LayerMaskDefine.GetLayerCullMask(LayerMaskDefine.NIVOSE_RENDER); Globals.Instance.MSceneManager.mMainCamera.cullingMask = cullingMask; // Duplicate a RTT camera GameObject cam = new GameObject(); cam.name = "RttCamera"; _mRTTCam = cam.AddComponent(typeof(Camera)) as Camera; _mRTTCam.CopyFrom(Globals.Instance.MSceneManager.mMainCamera); _mRTTCam.cullingMask = LayerMaskDefine.GetLayerCullMask(LayerMaskDefine.NIVOSE_RENDER); _mRTTCam.clearFlags = CameraClearFlags.Depth; _mRTTCam.depth = Globals.Instance.MSceneManager.mMainCamera.depth + 2; _mRTTCam.gameObject.tag = TagMaskDefine.UNTAGGED; // A transparent plane CreateOcclusionPlane(); }
protected override void Awake() { base.Awake(); base.radius = 200.0f; base.DoChange(); LayerMaskDefine.SetLayerRecursively(this.gameObject, LayerMaskDefine.IGNORE_RAYCAST); }
private void CreateOcclusionPlane() { Object obj = Resources.Load("Common/OcclusionPlane"); _mOcclusionPlane = Object.Instantiate(obj) as GameObject; LayerMaskDefine.SetLayerRecursively(_mOcclusionPlane, LayerMaskDefine.DEFAULT); _mOcclusionPlane.transform.parent = Globals.Instance.MSceneManager.mMainCamera.transform; _mOcclusionPlane.transform.localRotation = Quaternion.Euler(new Vector3(-90.0f, 0.0f, 0.0f)); _mOcclusionPlane.transform.localPosition = new Vector3(0.0f, 0.0f, Globals.Instance.MSceneManager.mMainCamera.near + 0.1f); _mOcclusionPlane.transform.localScale = new Vector3(Globals.Instance.MSceneManager.mMainCamera.near, 1.0f, Globals.Instance.MSceneManager.mMainCamera.near); }
public void ReplaceMode(string newResouce, CreateCallback callback) { Globals.Instance.MResourceManager.Load(newResouce, delegate(Object obj, string error) { if (null == obj) { return; } GameObject.Destroy(_thisGameObject); _thisGameObject = GameObject.Instantiate(obj, Vector3.zero, Quaternion.identity) as GameObject; GameObject.DontDestroyOnLoad(_thisGameObject); LayerMaskDefine.SetLayerRecursively(_thisGameObject, LayerMaskDefine.REFLECTION); if (_warshipName != null) { _thisGameObject.name = _warshipName; } Animation am = _thisGameObject.GetComponent <Animation>(); if (am != null) { _mAnimationController = new AnimationController(am); } else { am = _thisGameObject.GetComponentInChildren <Animation>(); if (am != null) { _mAnimationController = new AnimationController(am); } } _emitEffectFontUtil = _thisGameObject.AddComponent <EmitEffectFontUtil>(); AddPropertyComp(); Create3DName(); CreateWarshipHeader(); Show3DName(false); InitializeAttachmentSlots(); if (null != callback) { callback(this); } IsLoaded = true; }); }
public void SetSize(Vector3 center, Vector3 size) { BoxCollider coll = gameObject.GetComponent <BoxCollider>() as BoxCollider; if (null == coll) { coll = gameObject.AddComponent <BoxCollider>() as BoxCollider; } // coll.center = center; coll.size = size; coll.isTrigger = true; LayerMaskDefine.SetLayerRecursively(this.gameObject, LayerMaskDefine.GUI); }
void Awake() { Vector3 boxSize = new Vector3(70.0f, 20.0f, 70.0f); BoxCollider coll = gameObject.GetComponent <BoxCollider>() as BoxCollider; if (null == coll) { coll = gameObject.AddComponent <BoxCollider>() as BoxCollider; } coll.size = boxSize; coll.isTrigger = true; // LayerMaskDefine.SetLayerRecursively(this.gameObject, LayerMaskDefine.IGNORE_RAYCAST); LayerMaskDefine.SetLayerRecursively(this.gameObject, LayerMaskDefine.GUI); }
public GameObject CreateEZ3DItem(UnityEngine.Object prefab, Vector3 worldPos, int Layer = 8) { GameObject go = GameObject.Instantiate(prefab) as GameObject; go.name = "UI3DItem" + _mEZ3DObjList.Count; go.transform.parent = EZ3DItemParent; go.transform.localScale = Vector3.one; Vector3 guiPos = GUIManager.WorldToGUIPoint(worldPos); guiPos.x *= Globals.Instance.M3DItemManager.EZ3DItemParentScaleInv.x; guiPos.y *= Globals.Instance.M3DItemManager.EZ3DItemParentScaleInv.y; go.transform.localPosition = new Vector3(guiPos.x, guiPos.y, GUIManager.GUI_NEAREST_Z); // Set GUI layer LayerMaskDefine.SetLayerRecursively(go, Layer); _mEZ3DObjList.Add(go.GetInstanceID(), go); return(go); }
IEnumerator Create2DPackedEffect(PackedSprite prefab, Vector3 guiPos, float length, EffectEndDelegate endDel = null) { PackedSprite sprite = Instantiate(prefab) as PackedSprite; sprite.gameObject.name = "UI3DItem" + _mEZ3DObjList.Count; sprite.transform.parent = EZ3DItemParent; sprite.transform.localScale = Vector3.one; guiPos.x *= Globals.Instance.M3DItemManager.EZ3DItemParentScaleInv.x; guiPos.y *= Globals.Instance.M3DItemManager.EZ3DItemParentScaleInv.y; sprite.transform.localPosition = new Vector3(guiPos.x, guiPos.y, GUIManager.GUI_NEAREST_Z); sprite.PlayAnim(0); LayerMaskDefine.SetLayerRecursively(sprite.gameObject, LayerMaskDefine.GUI); yield return(new WaitForSeconds(length)); if (null != endDel) { endDel(); } Destroy(sprite.gameObject); }
protected override void OnDestroy() { base.OnDestroy(); LayerMaskDefine.SetLayerRecursively(this.gameObject, LayerMaskDefine.DEFAULT); }
public virtual void Initialize(CreateCallback callback) { // Object obj = Resources.Load (_warshipResourceName); // if (null == obj) // return; // // _thisGameObject = GameObject.Instantiate(obj, Vector3.zero, Quaternion.identity) as GameObject; // // Control the GameObject ourself // GameObject.DontDestroyOnLoad(_thisGameObject); // // if (_warshipName != null) // _thisGameObject.name = _warshipName; // Animation am = _thisGameObject.GetComponent<Animation>(); // if (am != null) // { // _mAnimationController = new AnimationController(am); // } // else // { // am = _thisGameObject.GetComponentInChildren<Animation>(); // if (am != null) // _mAnimationController = new AnimationController(am); // } // // _emitEffectFontUtil = _thisGameObject.AddComponent<EmitEffectFontUtil>(); // // AddPropertyComp(); // Create3DName(); // Show3DName(false); // // InitializeAttachmentSlots(); // // // Notify warship is created // OnWarshipCreated(); // // if (null != callback) // callback(this); // // IsLoaded = true; Globals.Instance.MResourceManager.Load(_warshipResourceName, delegate(Object obj, string error) { if (null == obj) { return; } _thisGameObject = GameObject.Instantiate(obj, Vector3.zero, Quaternion.identity) as GameObject; // Control the GameObject ourself GameObject.DontDestroyOnLoad(_thisGameObject); LayerMaskDefine.SetLayerRecursively(_thisGameObject, LayerMaskDefine.REFLECTION); if (_warshipName != null) { _thisGameObject.name = _warshipName; } Animation am = _thisGameObject.GetComponent <Animation>(); if (am != null) { _mAnimationController = new AnimationController(am); } else { am = _thisGameObject.GetComponentInChildren <Animation>(); if (am != null) { _mAnimationController = new AnimationController(am); } } _emitEffectFontUtil = _thisGameObject.AddComponent <EmitEffectFontUtil>(); AddPropertyComp(); Create3DName(); CreateWarshipHeader(); Show3DName(false); InitializeAttachmentSlots(); // Notify warship is created OnWarshipCreated(); if (null != callback) { callback(this); } IsLoaded = true; }); }
// Update is called once per frame public override void Update() { if (_mSkillIsEnd) { return; } _mCurrentTrackTime += Time.deltaTime; if (!_mIsFireParticleCreated) { CreateFireParticle(); } if (null != _mRTTCam) { _mRTTCam.transform.position = Globals.Instance.MSceneManager.mMainCamera.transform.position; _mRTTCam.transform.rotation = Globals.Instance.MSceneManager.mMainCamera.transform.rotation; } switch (_mSkillState) { case SkillState.FIRE: { if (_mFireDuration <= 0.0f) { if (!_mIsFlyParticleCreated) { CreateFlyParticle(); } } _mFireDuration -= Time.deltaTime; break; } case SkillState.FLY: { if (null != _mRTTCam) { if (null != _mOcclusionPlane) { GameObject.Destroy(_mOcclusionPlane); } _mOcclusionPlane = null; GameObject.Destroy(_mRTTCam.gameObject); _mRTTCam = null; int cullingMask = LayerMaskDefine.GetCullMaskEveryThing(); cullingMask -= LayerMaskDefine.GetLayerCullMask(LayerMaskDefine.GUI); cullingMask -= LayerMaskDefine.GetLayerCullMask(LayerMaskDefine.NIVOSE_RENDER); Globals.Instance.MSceneManager.mMainCamera.cullingMask = cullingMask; LayerMaskDefine.SetLayerRecursively(_mSkillUser.U3DGameObject, LayerMaskDefine.DEFAULT); } break; } case SkillState.HIT_TARGET: { if (null != _mFollowTarget) { // iTween.MoveTo(Globals.Instance.MSceneManager.mMainCamera.gameObject, _mOrigPosition, 1.5f); // iTween.RotateTo(Globals.Instance.MSceneManager.mMainCamera.gameObject, _mOrigEulerAngles, 1.5f); } break; } case SkillState.END: { break; } } if (!CheckSkill()) { return; } }
public override void CreateFireParticle() { // Get the skill user _mSkillUser = Globals.Instance.MPlayerManager.GetWarship(_mSkillDataSlot._attackerID); if (!_mSkillUser.Property.WarshipIsAttacker) { base.CreateFireParticle(); // tzz modified for creating fire state // if (_mIsFireParticleCreated) { _mSkillState = SkillState.FIRE; } return; } bool isCreate = false; foreach (SkillEffectData.SkillFireParticleData fireParticleData in _mSkillDataSlot._skillEffectData._skillFireParticleList) { if (_mCurrentTrackTime >= fireParticleData._delayTime) { if (!isCreate) { LayerMaskDefine.SetLayerRecursively(_mSkillUser.U3DGameObject, LayerMaskDefine.NIVOSE_RENDER); PrepareNivose(); } if (null != fireParticleData._skillSound) { Globals.Instance.MSoundManager.PlaySoundEffect(fireParticleData._skillSound._soundName); } // Create the fire particle GameObject go = null; string effectName = fireParticleData._particleName; if (_mSkillDataSlot.MSkillData.BasicData.SkillIsNormalAttack) { if (_mSkillUser.Property.WarshipIsAttacker) { effectName = fireParticleData._particleName + "_L"; } else { effectName = fireParticleData._particleName + "_R"; } } go = GameObject.Instantiate(Resources.Load(effectName), fireParticleData._position, fireParticleData._rotation) as GameObject; GameObject tagPoint = _mSkillUser.GetTagPointGameObject(TagPointDefine.TAG_POINT_SHIP_CANNON); if (null == tagPoint) { go.transform.position = _mSkillUser.U3DGameObject.transform.position; } else { go.transform.parent = tagPoint.transform; go.transform.localPosition = Vector3.zero; } LayerMaskDefine.SetLayerRecursively(go, LayerMaskDefine.NIVOSE_RENDER); GameObject.DestroyObject(go, fireParticleData._durationTime); _mFireDuration = fireParticleData._durationTime; isCreate = true; _mSkillState = SkillState.FIRE; } } _mIsFireParticleCreated = isCreate; }