コード例 #1
0
        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);
        }
コード例 #2
0
    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);
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
    }
コード例 #5
0
 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)
     });
 }
コード例 #6
0
    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);
    }