Ejemplo n.º 1
0
    /// <summary>
    /// �f�V���A���C�Y
    /// </summary>
    /// <param name="bytes">�V���A���C�Y�ς݃��[�V�����f�[�^</param>
    /// <param name="offset">���[�V�����f�[�^�̊J�n�ʒu</param>
    /// <returns>�f�V���A���C�Y�Ɏg�p�����o�C�g�T�C�Y��offset����Z�����l</returns>
    public override int Deserialize(byte[] bytes, int offset)
    {
        offset = base.Deserialize(bytes, offset);

        duration = BitConverter.ToSingle(bytes, offset);
        offset += sizeof(float);
        progFuncType = (ProgFuncBase.FuncType)BitConverter.ToInt32(bytes, offset);
        offset += sizeof(int);
        progFunc = ProgFuncBase.GetDeserialized(progFuncType, bytes, offset, out offset);

        return offset;
    }
Ejemplo n.º 2
0
    /// <summary>
    /// �V���A���C�Y
    /// </summary>
    /// <returns>�V���A���C�Y���ꂽ�o�C�i���z��</returns>
    public override byte[] Serialize()
    {
        var result = base.Serialize();

        if ( progFunc == null ) {
            progFunc = ProgFuncBase.CreateInstance(progFuncType);
        }

        return result
            .Concat(BitConverter.GetBytes(duration))
            .Concat(BitConverter.GetBytes((int)progFuncType))
            .Concat(progFunc.Serialize()).ToArray();
    }
Ejemplo n.º 3
0
    /// <summary>
    /// �C���X�y�N�^���GUI��`�悷��
    /// </summary>
    public override void DrawGUI()
    {
        base.DrawGUI();
        duration = UnityEditor.EditorGUILayout.FloatField("Duration", duration);
        var prevType = progFuncType;
        progFuncType = (ProgFuncBase.FuncType)UnityEditor.EditorGUILayout.EnumPopup("Function", progFuncType);

        if ( progFuncType != prevType || progFunc == null ) {
            // �^���ύX���ꂽ
            progFunc = ProgFuncBase.CreateInstance(progFuncType);
        }

        progFunc.DrawGUI();
    }