protected override void Load(Dsl.CallData callData, SkillInstance instance) { if (callData.GetParamNum() > 1) { StartTime = int.Parse(callData.GetParamId(0)); m_IsLockRotate = bool.Parse(callData.GetParamId(1)); } m_SectionList.Clear(); int section_num = 0; while (callData.GetParamNum() >= 7 * (section_num + 1) + 2) { MoveSectionInfo section = new MoveSectionInfo(); section.moveTime = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 2)); section.speedVect.X = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 3)); section.speedVect.Y = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 4)); section.speedVect.Z = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 5)); section.accelVect.X = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 6)); section.accelVect.Y = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 7)); section.accelVect.Z = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 8)); m_SectionList.Add(section); section_num++; } if (m_SectionList.Count == 0) { return; } m_IsCurveMoving = true; }
protected override void Load(Dsl.CallData callData, SkillInstance instance) { int num = callData.GetParamNum(); if (num > 0) { StartTime = int.Parse(callData.GetParamId(0)); } m_SectionList.Clear(); int section_num = 0; while (num >= 7 * (section_num + 1) + 1) { MoveSectionInfo section = new MoveSectionInfo(); section.moveTime = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 1)); section.speedVect.x = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 2)); section.speedVect.y = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 3)); section.speedVect.z = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 4)); section.accelVect.x = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 5)); section.accelVect.y = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 6)); section.accelVect.z = (float)System.Convert.ToDouble(callData.GetParamId((section_num * 7) + 7)); m_SectionList.Add(section); section_num++; } if (num > 7 * (section_num + 1) + 1) { m_IsForRoundMove = callData.GetParamId((section_num * 7) + 8) == "true"; } if (m_SectionList.Count == 0) { return; } m_IsCurveMoving = true; }
public MoveSectionInfo Clone() { MoveSectionInfo copy = new MoveSectionInfo(); copy.moveTime = moveTime; copy.speedVect = speedVect; copy.accelVect = accelVect; return(copy); }
static public int get_accelVect(IntPtr l) { try { GameFramework.Skill.Trigers.MoveSectionInfo self = (GameFramework.Skill.Trigers.MoveSectionInfo)checkSelf(l); pushValue(l, true); pushValue(l, self.accelVect); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int constructor(IntPtr l) { try { GameFramework.Skill.Trigers.MoveSectionInfo o; o = new GameFramework.Skill.Trigers.MoveSectionInfo(); pushValue(l, true); pushValue(l, o); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int set_accelVect(IntPtr l) { try { GameFramework.Skill.Trigers.MoveSectionInfo self = (GameFramework.Skill.Trigers.MoveSectionInfo)checkSelf(l); UnityEngine.Vector3 v; checkType(l, 2, out v); self.accelVect = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_moveTime(IntPtr l) { try { GameFramework.Skill.Trigers.MoveSectionInfo self = (GameFramework.Skill.Trigers.MoveSectionInfo)checkSelf(l); System.Single v; checkType(l, 2, out v); self.moveTime = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
protected override void Load(Dsl.CallData callData, SkillInstance instance) { int num = callData.GetParamNum(); if (num > 0) { StartTime = int.Parse(callData.GetParamId(0)); } m_SectionList.Clear(); int nextParamIndex = 1; int section_num = 0; while (num >= nextParamIndex + 7) { MoveSectionInfo section = new MoveSectionInfo(); section.moveTime = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; section.speedVect.x = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; section.speedVect.y = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; section.speedVect.z = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; section.accelVect.x = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; section.accelVect.y = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; section.accelVect.z = (float)System.Convert.ToDouble(callData.GetParamId(nextParamIndex)); ++nextParamIndex; m_SectionList.Add(section); section_num++; } if (num > nextParamIndex) { string moveType = callData.GetParamId(nextParamIndex); ++nextParamIndex; IList <string> list = Converter.ConvertStringList(moveType); m_IsFreeMove = list.IndexOf("freemove") >= 0; } }
public override bool Execute(object sender, SkillInstance instance, long delta, long curSectionTime) { GfxSkillSenderInfo senderObj = sender as GfxSkillSenderInfo; if (null == senderObj) { return(false); } GameObject obj = senderObj.GfxObj; if (null == obj) { return(false); } if (null != senderObj.TrackEffectObj) { obj = senderObj.TrackEffectObj; } if (curSectionTime < StartTime) { return(true); } if (!m_IsCurveMoving) { return(false); } if (!m_IsInited) { Init(senderObj, instance); } if (m_SectionListCopy.Count == 0) { m_IsCurveMoving = false; return(false); } m_Now += TriggerUtil.ConvertToSecond((long)(instance.OriginalDelta * instance.MoveScale)); MoveSectionInfo cur_section = m_SectionListCopy[0]; if (m_Now - cur_section.startTime > cur_section.moveTime) { float end_time = cur_section.startTime + cur_section.moveTime; float used_time = end_time - cur_section.lastUpdateTime; cur_section.curSpeedVect = Move(obj, cur_section.curSpeedVect, cur_section.accelVect, used_time); m_SectionListCopy.RemoveAt(0); if (m_SectionListCopy.Count > 0) { cur_section = m_SectionListCopy[0]; cur_section.startTime = end_time; cur_section.lastUpdateTime = end_time; cur_section.curSpeedVect = cur_section.speedVect; } else { m_IsCurveMoving = false; } } else { cur_section.curSpeedVect = Move(obj, cur_section.curSpeedVect, cur_section.accelVect, m_Now - cur_section.lastUpdateTime); cur_section.lastUpdateTime = m_Now; } return(true); }
public override bool Execute(object sender, SkillInstance instance, long delta, long curSectionTime) { GfxSkillSenderInfo senderObj = sender as GfxSkillSenderInfo; if (null == senderObj) { return(false); } Scene scene = senderObj.Scene; EntityInfo obj = senderObj.GfxObj; if (null == obj) { return(false); } bool isTower = scene.EntityController.GetEntityType(senderObj.GfxObj) == (int)EntityTypeEnum.Tower; if (isTower) { return(false); } if (curSectionTime < StartTime) { return(true); } if (!m_IsCurveMoving) { return(false); } if (!m_IsInited) { Init(obj, senderObj.TargetGfxObj, instance); } if (m_SectionListCopy.Count == 0) { m_IsCurveMoving = false; return(false); } m_Now += TriggerUtil.ConvertToSecond((long)(instance.OriginalDelta * instance.MoveScale)); MoveSectionInfo cur_section = m_SectionListCopy[0]; if (m_Now - cur_section.startTime > cur_section.moveTime) { float end_time = cur_section.startTime + cur_section.moveTime; float used_time = end_time - cur_section.lastUpdateTime; cur_section.curSpeedVect = Move(obj, cur_section.curSpeedVect, cur_section.accelVect, used_time); m_SectionListCopy.RemoveAt(0); if (m_SectionListCopy.Count > 0) { cur_section = m_SectionListCopy[0]; cur_section.startTime = end_time; cur_section.lastUpdateTime = end_time; cur_section.curSpeedVect = cur_section.speedVect; } else { m_IsCurveMoving = false; } } else { cur_section.curSpeedVect = Move(obj, cur_section.curSpeedVect, cur_section.accelVect, m_Now - cur_section.lastUpdateTime); cur_section.lastUpdateTime = m_Now; } return(true); }
public MoveSectionInfo Clone() { MoveSectionInfo copy = new MoveSectionInfo(); copy.moveTime = moveTime; copy.speedVect = speedVect; copy.accelVect = accelVect; return copy; }
public override bool Execute(object sender, SkillInstance instance, long delta, long curSectionTime) { GfxSkillSenderInfo senderObj = sender as GfxSkillSenderInfo; if (null == senderObj) { return(false); } GameObject obj = senderObj.GfxObj; if (null == obj) { return(false); } if (null != senderObj.TrackEffectObj) { obj = senderObj.TrackEffectObj; } bool isTower = !EntityController.Instance.IsMovableEntity(obj); if (isTower) { return(false); } if (curSectionTime < StartTime) { return(true); } if (!m_IsCurveMoving) { if (m_IsForRoundMove && m_TargetPos.sqrMagnitude > Geometry.c_FloatPrecision) { obj.transform.position = m_TargetPos; } return(false); } if (!m_IsInited) { Init(senderObj, instance); } if (m_SectionListCopy.Count == 0) { m_IsCurveMoving = false; return(false); } m_Now += TriggerUtil.ConvertToSecond((long)(instance.OriginalDelta * instance.MoveScale)); MoveSectionInfo cur_section = m_SectionListCopy[0]; if (m_Now - cur_section.startTime > cur_section.moveTime) { float end_time = cur_section.startTime + cur_section.moveTime; float used_time = end_time - cur_section.lastUpdateTime; cur_section.curSpeedVect = Move(obj, cur_section.curSpeedVect, cur_section.accelVect, used_time); m_SectionListCopy.RemoveAt(0); if (m_SectionListCopy.Count > 0) { cur_section = m_SectionListCopy[0]; cur_section.startTime = end_time; cur_section.lastUpdateTime = end_time; cur_section.curSpeedVect = cur_section.speedVect; } else { m_IsCurveMoving = false; } } else { cur_section.curSpeedVect = Move(obj, cur_section.curSpeedVect, cur_section.accelVect, m_Now - cur_section.lastUpdateTime); cur_section.lastUpdateTime = m_Now; } return(true); }