protected void GeneralStopImpact(ImpactLogicInfo logicInfo) { if (IsLogicDead(logicInfo.Target)) { SetGfxStateFlag(logicInfo.Target, Operate_Type.OT_RemoveBit, GfxCharacterState_Type.Stiffness); SetGfxStateFlag(logicInfo.Target, Operate_Type.OT_RemoveBit, GfxCharacterState_Type.HitFly); SetGfxStateFlag(logicInfo.Target, Operate_Type.OT_RemoveBit, GfxCharacterState_Type.GetUp); } else { ClearGfxStateFlag(logicInfo.Target); } logicInfo.CustomDatas.Clear(); //foreach=>for for (int i = 0; i < logicInfo.EffectsDelWithImpact.Count; ++i) { GameObject Obj = logicInfo.EffectsDelWithImpact[i]; ResourceSystem.RecycleObject(Obj); } //foreach(GameObject obj in logicInfo.EffectsDelWithImpact){ // ResourceSystem.RecycleObject(obj); //} ResetLayer(logicInfo.Target, logicInfo); LogicSystem.NotifyGfxAnimationFinish(logicInfo.Target, false); LogicSystem.NotifyGfxMoveControlFinish(logicInfo.Target, logicInfo.ImpactId, false); LogicSystem.NotifyGfxStopImpact(logicInfo.Sender, logicInfo.ImpactId, logicInfo.Target); }
public void RecylceAsset(GameEntity entity) { if (entity.hasView) { UnityView view = entity.view.Value as UnityView; view.gameObject.Unlink(); ResourceSystem.RecycleObject(view.gameObject); } }
private void OnHitTarget(GameObject obj) { ImpactInfo impact = m_ImpactInfo.Clone() as ImpactInfo; impact.Attacker = m_Sender; impact.m_Velocity = this.transform.forward * impact.m_Velocity.z; ImpactSystem.Instance.SendImpact(m_Sender, obj, impact.Clone() as ImpactInfo); ResourceSystem.RecycleObject(gameObject); }
public override void Reset() { m_IsInited = false; SetBlackPercent(0); Camera.main.cullingMask = m_OldMask; Camera.main.clearFlags = UnityEngine.CameraClearFlags.Skybox; ResourceSystem.RecycleObject(m_BlackCameraObj); m_BlackCameraObj = null; m_BlackCamera = null; }
public override void StopImpact(ImpactLogicInfo logicInfo) { for (int i = 0; i < logicInfo.EffectsDelWithImpact.Count; i++) { ResourceSystem.RecycleObject(logicInfo.EffectsDelWithImpact[i]); } /* * foreach(GameObject obj in logicInfo.EffectsDelWithImpact){ * ResourceSystem.RecycleObject(obj); * }*/ logicInfo.IsActive = false; }
public void StopEffects() { for (int i = 0; i < m_EffectObject.Count; i++) { ResourceSystem.RecycleObject(m_EffectObject[i]); } /* * foreach (GameObject effect in m_EffectObject) { * ResourceSystem.RecycleObject(effect); * }*/ m_EffectObject.Clear(); }
public void RemoveHudHead(GameEntity entity) { UnityView view = entity.view.Value as UnityView; if (null != view) { HudInfo hudInfo; if (m_HudHeadInfos.TryGetValue(view.gameObject.GetInstanceID(), out hudInfo)) { ResourceSystem.RecycleObject(hudInfo.Obj); m_HudHeadInfos.Remove(view.gameObject.GetInstanceID()); } } }
protected void GeneralStopSkill() { m_IsActive = false; m_AnimationPlayer.StopAllAnim(); SharedGameObjectInfo info = LogicSystem.GetSharedGameObjectInfo(gameObject); foreach (GameObject obj in m_EffectList) { ResourceSystem.RecycleObject(obj); } m_EffectList.Clear(); if (null != info) { LogicSystem.PublishLogicEvent("ge_set_ai_enable", "ai", info.m_LogicObjectId, true); } LogicSystem.NotifyGfxMoveControlFinish(gameObject); LogicSystem.NotifyGfxAnimationFinish(gameObject); }
// Update is called once per frame void Update() { if (!m_HitCollider) { this.transform.position += this.transform.forward * m_ThrowSpeed * Time.deltaTime; } else { m_AfterHitColliderTime -= Time.deltaTime; if (m_AfterHitColliderTime > 0.0f) { this.transform.position += this.transform.forward * m_ThrowSpeed * Time.deltaTime; } } if (Time.time > m_BornTime + m_MaxLiveTime) { ResourceSystem.RecycleObject(gameObject); } }
public override void Tick(long delta_ns) { if (m_IsOver) { return; } m_CurTimeNs += delta_ns; if (m_HoldTime < GetCurTime()) { long pass_time = GetCurTime() - m_HoldTime; float t = pass_time / (m_FadeOutTime * 1.0f); t = t > 1 ? 1 : t; float new_alpha = UnityEngine.Mathf.Lerp(m_StartAlpha, 0, t); SetGameObjectAlpha(m_ShadowObject, new_alpha); } if (m_HoldTime + m_FadeOutTime < GetCurTime()) { ResourceSystem.RecycleObject(m_ShadowObject); m_IsOver = true; } }
public void Tick(ICameraService cameraService) { float time = Time.time; int count = m_Damages.Count; for (int i = count - 1; i >= 0; i--) { DamageInfo textInfo = m_Damages[i]; if (null == textInfo.Obj) { m_Damages.Remove(textInfo); continue; } if (textInfo.DeleteTime > 0 && time > textInfo.DeleteTime) { ResourceSystem.RecycleObject(textInfo.Obj); m_Damages.Remove(textInfo); } bool canMove = Time.time > textInfo.Delay; int mov = ScreenPosition(textInfo.Position, cameraService); if (canMove) { textInfo.YQuickness += Time.deltaTime; float floatSpeed = textInfo.FloatSpeed; switch (textInfo.Movement) { case Guidance.Up: textInfo.YCounterVail += (((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier) * textInfo.YQuickness; break; case Guidance.Down: textInfo.YCounterVail -= (((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier) * textInfo.YQuickness; break; case Guidance.Left: textInfo.XCounterVail -= ((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier; break; case Guidance.Right: textInfo.XCounterVail += ((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier; break; case Guidance.RightUp: textInfo.YCounterVail += (((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier) * textInfo.YQuickness; textInfo.XCounterVail += ((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier; break; case Guidance.RightDown: textInfo.YCounterVail -= (((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier) * textInfo.YQuickness; textInfo.XCounterVail += ((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier; break; case Guidance.LeftUp: textInfo.YCounterVail += (((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier) * textInfo.YQuickness; textInfo.XCounterVail -= ((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier; break; case Guidance.LeftDown: textInfo.YCounterVail -= (((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier) * textInfo.YQuickness; textInfo.XCounterVail -= ((Time.deltaTime * floatSpeed) * mov) * m_FactorMultiplier; break; } } Vector2 viewPosition = cameraService.WorldToViewportPoint(textInfo.Position); Vector2 finalPosition = new Vector2(viewPosition.x * 0.5f + textInfo.XCounterVail, -viewPosition.y - textInfo.YCounterVail); textInfo.SelfTransform.anchorMax = viewPosition; textInfo.SelfTransform.anchorMin = viewPosition; textInfo.SelfTransform.anchoredPosition = finalPosition; } foreach (var pair in m_HudHeadInfos) { int id = pair.Key; HudInfo hudInfo = pair.Value; Vector2 screenPosition = cameraService.WorldToViewportPoint(hudInfo.Owner.position + Vector3.up * 2); hudInfo.SelfTransform.anchorMax = screenPosition; hudInfo.SelfTransform.anchorMin = screenPosition; hudInfo.SelfTransform.anchoredPosition = new Vector2(screenPosition.x * 0.5f, -screenPosition.y); } }