public void SetData(Vector3 dest, float height, float last_time, float up_ratio, OnBehaviorFinsh on_finish) { if(last_time <= 0 || up_ratio <= 0 || up_ratio >= 1) return; dest.y += 50.0f; _Destination = dest; _Destination.y = ECUtility.GetSupportPlaneHeight(dest); _StartHeight = m_ECObj.transform.position.y; _StopHeight = _Destination.y; _MaxHeight = height + _StartHeight; //Debug.LogWarning("_StartHeight = " + _StartHeight + " _StopHeight = " + _StopHeight + " _MaxHeight = " + _MaxHeight + " height = " + height); float upward_time = last_time*up_ratio; _UpAcceleration = 2 * height / (upward_time * upward_time); _StartYVelocity = 2 * height / upward_time; float downward_time = last_time*(1-up_ratio); _DownAcceleration = 2 * (_MaxHeight - _StopHeight) / (downward_time * downward_time); _HoriVelocity = (_Destination - m_ECObj.transform.position) / last_time; m_onFinish = on_finish; _CurPhase = JUMP_PHASE.JP_UPWARD; _LastScecond = 0; }
public void SetData(Vector3 vDest, float s, OnBehaviorFinsh onFinish) { m_onFinish = onFinish; m_vDest = vDest; m_fSpeed = s; Vector3 v = m_Trans.forward; if (vDest != m_Trans.position) v = vDest - m_Trans.position; v.y = 0; m_vDir = Vector3.Normalize(v); if ((vDest - m_Trans.position).magnitude < 0.2) { m_fDist = -1f; } else { m_fDist = v.magnitude; } m_vLastPos = m_Trans.position; SyncPushMoveToServer(false); m_bSync = false; }
public void SetData(Vector3 vDest, Vector3 vO, float s, OnBehaviorFinsh onFinish) { m_onFinish = onFinish; m_vDest = vDest; m_vO = vO; m_fSpeed = s; var curpos = m_Trans.position; var crossA = Vector3.Cross(curpos - m_vO, vDest - m_vO); curpos.y = 0; vO.y = 0; vDest.y = 0; float a = Vector3.Angle(curpos - vO, vDest - vO) * Mathf.Deg2Rad; m_ftime = a * (curpos - vO).magnitude / s; m_fAngularVelocity = (crossA.y > 0 ? 1 : -1) * s / (curpos - vO).magnitude; //Debug.Log(string.Format("dst is {0}", vDest)); //Debug.Log(string.Format("dst1 in c# is {0}", (vDest - vO).magnitude)); //Debug.Log(string.Format("dst2 in c# is {0}", (curpos - vO).magnitude)); SyncPushMoveToServer(false); m_bSync = false; }
public void SetData(float s, OnBehaviorFinsh onFinish, bool isSkillMove = false) { if (m_Trans == null) return; m_onFinish = onFinish; m_fSpeed = s; m_vLastNotifyPos = m_Trans.position; m_bIsSkillMove = isSkillMove; SyncPushMoveToServer(false); m_bSync = false; }
public void SetData(Vector3 vDest, float speed, OnBehaviorFinsh onFinish) { m_onFinish = onFinish; vDest.y = 0; _destdir = Vector3.Normalize(vDest); GameObject obj = m_ECObj.gameObject; Vector3 v = obj.transform.forward; v.y = 0; _startdir = Vector3.Normalize(v); _totaltime = Vector3.Angle(_startdir, _destdir) / speed; _timepassed = 0; }
public void SetData(Vector3 vDest, float time, OnBehaviorFinsh onFinish) { if (time <= 0) { Debug.LogWarning("Move time can not be 0 !!!!"); return; } vDest.y += 50.0f; vDest.y = ECUtility.GetSupportPlaneHeight(vDest); _Destination = vDest; Vector3 dis = vDest - m_ECObj.transform.position; _Velocity = dis / time; _FinishedTime = Time.time + time; //Debug.LogWarning("dest = " + vDest + " src = " + m_ECObj.transform.position + " v = " + _Velocity + " t = " + time); }
public void SetData(Vector3 vDest, float s, OnBehaviorFinsh onFinish) { m_onFinish = onFinish; m_vDest = vDest; m_fSpeed = s; Vector3 v = vDest - m_Trans.position; v.y = 0; m_vDir = Vector3.Normalize(v); m_fDist = v.magnitude; if (m_fDist > 0.05f) m_speedY = (vDest.y - m_Trans.position.y) / (m_fDist / m_fSpeed); // if (m_fDist > 1e-4f) // m_Trans.forward = m_vDi }
public void SetData(Vector3 vDest, float s, OnBehaviorFinsh onFinish, bool bSkillMove = false) { if (m_Trans == null) return; m_onFinish = onFinish; m_vDest = vDest; m_fSpeed = s; m_bIsSkillMove = bSkillMove; Vector3 v = m_Trans.forward; if (vDest != m_Trans.position) v = vDest - m_Trans.position; v.y = 0; m_vDir = Vector3.Normalize(v); m_fDist = v.magnitude; //m_bSync = Vector3.Angle(m_Trans.forward, m_vDir) > 45; //m_vDir.y = 0; //m_Trans.forward = m_vDir; m_vAdjustDir = Vector3.zero; SyncPushMoveToServer(false); m_bSync = false; }
public void AddHPAutoMoveBehavior(Vector3 dest, float speed, OnBehaviorFinsh onBehaviorFinish) { ECHPAutoMoveBehavior beh = ECHPAutoMoveBehavior.Create(); AddBehavior(beh); beh.SetData(dest, speed, onBehaviorFinish); }
public void AddHPJoystickMoveBehavior(float speed, bool isSkillMove, OnBehaviorFinsh onBehaviorFinish) { ECHPJoystickMoveBehavior beh = ECHPJoystickMoveBehavior.Create(); AddBehavior(beh); beh.SetData(speed, onBehaviorFinish, isSkillMove); }
public void AddHPMoveBehavior(Vector3 dest, float speed, bool isSkillMove, OnBehaviorFinsh onBehaviorFinish) { ECHPMoveBehavior beh = ECHPMoveBehavior.Create(); AddBehavior(beh); beh.SetData(dest, speed, onBehaviorFinish, isSkillMove); }
/* public void AddJumpBehavior(Vector3 dest, float height, float last_time, float up_ratio, OnBehaviorFinsh onBehaviorFinish) { ECJumpBehavior beh = ECJumpBehavior.Create(); AddBehavior(beh); beh.SetData(dest, height, last_time, up_ratio, onBehaviorFinish); } * */ public void AddChargeBehavior(Vector3 dest, float last_time, OnBehaviorFinsh onBehaviorFinish) { ECChargeBehavior beh = ECChargeBehavior.Create(); AddBehavior(beh); beh.SetData(dest, last_time, onBehaviorFinish); }
public void AddTurnBehavior(Vector3 destdir, float speed, OnBehaviorFinsh onBehaviorFinish) { ECTurnBehavior beh = ECTurnBehavior.Create(); AddBehavior(beh); beh.SetData(destdir, speed, onBehaviorFinish); }