예제 #1
0
        public AVATAR_INFOS_LIST createFromStreamEx(MemoryStream stream)
        {
            AVATAR_INFOS_LIST datas = new AVATAR_INFOS_LIST();

            datas.values = values_DataType.createFromStreamEx(stream);
            return(datas);
        }
        public override void onRemoteMethodCall(MemoryStream stream)
        {
            ScriptModule sm = EntityDef.moduledefs["Account"];

            UInt16 methodUtype            = 0;
            UInt16 componentPropertyUType = 0;

            if (sm.useMethodDescrAlias)
            {
                componentPropertyUType = stream.readUint8();
                methodUtype            = stream.readUint8();
            }
            else
            {
                componentPropertyUType = stream.readUint16();
                methodUtype            = stream.readUint16();
            }

            Method method = null;

            if (componentPropertyUType == 0)
            {
                method = sm.idmethods[methodUtype];
            }
            else
            {
                Property pComponentPropertyDescription = sm.idpropertys[componentPropertyUType];
                switch (pComponentPropertyDescription.properUtype)
                {
                default:
                    break;
                }

                return;
            }

            switch (method.methodUtype)
            {
            case 10005:
                Byte         onCreateAvatarResult_arg1 = stream.readUint8();
                AVATAR_INFOS onCreateAvatarResult_arg2 = ((DATATYPE_AVATAR_INFOS)method.args[1]).createFromStreamEx(stream);
                onCreateAvatarResult(onCreateAvatarResult_arg1, onCreateAvatarResult_arg2);
                break;

            case 3:
                UInt64 onRemoveAvatar_arg1 = stream.readUint64();
                onRemoveAvatar(onRemoveAvatar_arg1);
                break;

            case 10003:
                AVATAR_INFOS_LIST onReqAvatarList_arg1 = ((DATATYPE_AVATAR_INFOS_LIST)method.args[0]).createFromStreamEx(stream);
                onReqAvatarList(onReqAvatarList_arg1);
                break;

            default:
                break;
            }
            ;
        }
예제 #3
0
        public override void onReqAvatarList(AVATAR_INFOS_LIST infos)
        {
            avatars.Clear();
            Dbg.DEBUG_MSG("Account::onReqAvatarList: avatarsize=" + infos.values.Count);
            for (int i = 0; i < infos.values.Count; i++)
            {
                AVATAR_INFOS info = infos.values[i];
                Dbg.DEBUG_MSG("Account::onReqAvatarList: name" + i + "=" + info.name);
                avatars.Add(info.dbid, info);
            }

            // ui event
            Dictionary <UInt64, AVATAR_INFOS> avatarList = new Dictionary <UInt64, AVATAR_INFOS>(avatars);

            Event.fireOut("onReqAvatarList", new object[] { avatarList });

            if (infos.values.Count == 0)
            {
                return;
            }
        }
예제 #4
0
 public abstract void onReqAvatarList(AVATAR_INFOS_LIST arg1);
예제 #5
0
 public void addToStreamEx(Bundle stream, AVATAR_INFOS_LIST v)
 {
     values_DataType.addToStreamEx(stream, v.values);
 }
 public override void onReqAvatarList(AVATAR_INFOS_LIST infos)
 {
     Dbg.DEBUG_MSG("Account::onReqAvatarList: avatarsize=" + infos.values.Count);
     Event.fireOut(AccountEvent_Out.EventName.onReqAvatarList, new object[] { infos });
 }