public static WK_MOVE WorkToWkMove(Byte[] work) { WK_MOVE wk_MOVE = new WK_MOVE(); wk_MOVE.Org[0] = (Int16)(((Int32)work[1] << 8) + (Int32)(work[0] & Byte.MaxValue)); wk_MOVE.Org[1] = (Int16)(((Int32)work[3] << 8) + (Int32)(work[2] & Byte.MaxValue)); wk_MOVE.Org[2] = (Int16)(((Int32)work[5] << 8) + (Int32)(work[4] & Byte.MaxValue)); wk_MOVE.Dst[0] = (Int16)(((Int32)work[7] << 8) + (Int32)(work[6] & Byte.MaxValue)); wk_MOVE.Dst[1] = (Int16)(((Int32)work[9] << 8) + (Int32)(work[8] & Byte.MaxValue)); wk_MOVE.Dst[2] = (Int16)(((Int32)work[11] << 8) + (Int32)(work[10] & Byte.MaxValue)); wk_MOVE.Frames = (Int16)(((Int32)work[13] << 8) + (Int32)(work[12] & Byte.MaxValue)); wk_MOVE.Next = (UInt16)(((Int32)work[15] << 8) + (Int32)(work[14] & Byte.MaxValue)); return(wk_MOVE); }
public static void SeqInitMoveToTurn(SEQ_WORK pSeqWork, BTL_DATA pMe) { btlseq.BattleLog("SeqInitMoveToTurn"); WK_MOVE wk_MOVE = new WK_MOVE(); wk_MOVE.Next = 2; pSeqWork.IncCnt = 1; wk_MOVE.Frames = (Int16)btlseq.sequenceReader.ReadByte(); for (Int16 num = 0; num < 3; num = (Int16)(num + 1)) { wk_MOVE.Org[(Int32)num] = (Int16)pMe.gameObject.transform.localPosition[(Int32)num]; wk_MOVE.Dst[(Int32)num] = (Int16)pMe.base_pos[(Int32)num]; } pSeqWork.Work = btlseq.SequenceConverter.WkMoveToWork(wk_MOVE); }
public static void SeqInitMoveToPoint(SEQ_WORK pSeqWork, BTL_DATA pMe) { btlseq.BattleLog("SeqInitMoveToPoint"); WK_MOVE wk_MOVE = btlseq.SequenceConverter.WorkToWkMove(pSeqWork.Work); wk_MOVE.Next = 8; pSeqWork.IncCnt = 1; wk_MOVE.Frames = (Int16)btlseq.sequenceReader.ReadByte(); for (Int16 num = 0; num < 3; num = (Int16)(num + 1)) { wk_MOVE.Org[(Int32)num] = (Int16)pMe.gameObject.transform.localPosition[(Int32)num]; Int16 num2 = btlseq.sequenceReader.ReadInt16(); if (num == 1) { num2 = (Int16)(num2 * -1); } wk_MOVE.Dst[(Int32)num] = num2; } pSeqWork.Work = btlseq.SequenceConverter.WkMoveToWork(wk_MOVE); }
public static void SeqInitMoveToTarget(SEQ_WORK pSeqWork, BTL_DATA pMe) { btlseq.BattleLog("SeqInitMoveToTarget"); WK_MOVE wk_MOVE = new WK_MOVE(); wk_MOVE.Next = 4; pSeqWork.IncCnt = 1; wk_MOVE.Frames = (Int16)btlseq.sequenceReader.ReadByte(); for (Int32 i = 0; i < 3; i++) { wk_MOVE.Org[i] = (Int16)pMe.pos[i]; } wk_MOVE.Dst[1] = wk_MOVE.Org[1]; btlseq.SeqSubTargetAveragePos(pSeqWork.CmdPtr.tar_id, out wk_MOVE.Dst[0], out wk_MOVE.Dst[2]); Int16 num = btlseq.sequenceReader.ReadInt16(); if (wk_MOVE.Org[0] != wk_MOVE.Dst[0] || wk_MOVE.Org[2] != wk_MOVE.Dst[2]) { if (btlseq.wSeqCode == 30) { Int16[] dst = wk_MOVE.Dst; Int32 num2 = 2; dst[num2] = (Int16)(dst[num2] + (Int16)(-num)); } else { Double num3 = (Double)Mathf.Atan2((Single)(wk_MOVE.Dst[0] - wk_MOVE.Org[0]), (Single)(wk_MOVE.Dst[2] - wk_MOVE.Org[2])); Double num4 = (Double)Mathf.Sin((Single)num3); Double num5 = (Double)Mathf.Cos((Single)num3); Int16[] dst2 = wk_MOVE.Dst; Int32 num6 = 0; dst2[num6] = (Int16)(dst2[num6] + (Int16)(num4 * (Double)num)); Int16[] dst3 = wk_MOVE.Dst; Int32 num7 = 2; dst3[num7] = (Int16)(dst3[num7] + (Int16)(num5 * (Double)num)); } } pSeqWork.Work = btlseq.SequenceConverter.WkMoveToWork(wk_MOVE); }
public static Byte[] WkMoveToWork(WK_MOVE wMove) { return(new Byte[] { (Byte)(wMove.Org[0] & 255), (Byte)(wMove.Org[0] >> 8), (Byte)(wMove.Org[1] & 255), (Byte)(wMove.Org[1] >> 8), (Byte)(wMove.Org[2] & 255), (Byte)(wMove.Org[2] >> 8), (Byte)(wMove.Dst[0] & 255), (Byte)(wMove.Dst[0] >> 8), (Byte)(wMove.Dst[1] & 255), (Byte)(wMove.Dst[1] >> 8), (Byte)(wMove.Dst[2] & 255), (Byte)(wMove.Dst[2] >> 8), (Byte)(wMove.Frames & 255), (Byte)(wMove.Frames >> 8), (Byte)(wMove.Next & 255), (Byte)(wMove.Next >> 8) }); }
public static Int32 SeqExecMoveToTarget(SEQ_WORK pSeqWork, BTL_DATA pMe) { btlseq.BattleLog("SeqExecMoveToTarget"); WK_MOVE wk_MOVE = new WK_MOVE(); wk_MOVE = btlseq.SequenceConverter.WorkToWkMove(pSeqWork.Work); Vector3 zero = Vector3.zero; Vector3 zero2 = Vector3.zero; for (Int16 num = 0; num < 3; num = (Int16)(num + 1)) { Int16 num2 = wk_MOVE.Org[(Int32)num]; Int16 num3 = wk_MOVE.Dst[(Int32)num]; zero[(Int32)num] = pMe.pos[(Int32)num]; zero2[(Int32)num] = (Single)num3; pMe.pos[(Int32)num] = (Single)(num3 - num2) * ((Single)pSeqWork.IncCnt * 1f) / (Single)wk_MOVE.Frames + (Single)num2; } if (pSeqWork.IncCnt >= wk_MOVE.Frames) { pSeqWork.CurPtr += (Int32)wk_MOVE.Next; } return(0); }