//server responded with connection success
    public void OnSocketConnect(SocketIOEvent e)
    {
        IntData data = JsonUtility.FromJson<IntData>(e.data.ToString());

        //special case: the server restarted, restart client
        if (Net.connected)
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
            ServerMessage("SERVER RESTARTED...");
            print("Attention: attempt to reconnect after the server went down, reloading the scene.");
            return;
        }
        else
        {
            ServerMessage("Connected. Players online: " + data.num);

            //if no game menu generate random nickname and send the data
            if (gameMenu == null)
            {
                AvatarData d = new AvatarData();
                d.nickName = "user"+UnityEngine.Random.Range(0, 10000);
                SendAvatarData(d);
            }

            Net.connected = true;
        }
    }
Exemple #2
0
        byte[] SetAvatar(Dictionary <string, object> request)
        {
            UUID user = UUID.Zero;

            if (!request.ContainsKey("UserID"))
            {
                return(FailureResult());
            }

            if (!UUID.TryParse(request["UserID"].ToString(), out user))
            {
                return(FailureResult());
            }

            RemoveRequestParamsNotForStorage(request);

            AvatarData avatar = new AvatarData(request);

            if (m_AvatarService.SetAvatar(user, avatar))
            {
                return(SuccessResult());
            }

            return(FailureResult());
        }
Exemple #3
0
        public static ShrunkImage getTabard(AvatarData data)
        {
            switch (data.tabard)
            {
            case -1:
                return(null);

            case 1:
                return((ShrunkImage)GFXLibrary.avatar_tabard02);

            case 2:
                return((ShrunkImage)GFXLibrary.avatar_tabard03);

            case 3:
                return((ShrunkImage)GFXLibrary.avatar_tabard04);

            case 4:
                return((ShrunkImage)GFXLibrary.avatar_tabard05);

            case 5:
                return((ShrunkImage)GFXLibrary.avatar_tabard06);

            case 6:
                return((ShrunkImage)GFXLibrary.avatar_tabard07);

            case 7:
                return((ShrunkImage)GFXLibrary.avatar_tabard08);
            }
            return((ShrunkImage)GFXLibrary.avatar_tabard01);
        }
        /// <summary>
        /// Requests all created avatars that created by current user and determinates states for them
        /// </summary>
        private IEnumerator GetAllAvatarsFunc(int maxItems, AsyncRequest <GalleryAvatar[]> request)
        {
            Connection connection     = (avatarProvider as CloudAvatarProvider).Connection;
            var        avatarsRequest = connection.GetAvatarsAsync(maxItems);

            yield return(Await(avatarsRequest, null));

            if (avatarsRequest.IsError)
            {
                yield break;
            }

            GalleryAvatar[] avatars = new GalleryAvatar[avatarsRequest.Result.Length];
            for (int i = 0; i < avatars.Length; i++)
            {
                AvatarData avatarData = avatarsRequest.Result[i];
                avatars[i] = new GalleryAvatarCloud()
                {
                    code = avatarData.code, state = GetAvatarState(avatarData), avatarData = avatarData
                };
            }

            request.Result = avatars;
            request.IsDone = true;
        }
Exemple #5
0
        public static ShrunkImage getLegs(AvatarData data)
        {
            switch (data.legs)
            {
            case 1:
                return((ShrunkImage)GFXLibrary.avatar_legs02);

            case 2:
                return((ShrunkImage)GFXLibrary.avatar_legs03);

            case 3:
                return((ShrunkImage)GFXLibrary.avatar_legs04);

            case 4:
                return((ShrunkImage)GFXLibrary.avatar_legs05);

            case 5:
                return((ShrunkImage)GFXLibrary.avatar_legs06);

            case 6:
                return((ShrunkImage)GFXLibrary.avatar_legs07);
            }
            if (data.male)
            {
                return((ShrunkImage)GFXLibrary.avatar_legs01_male);
            }
            return((ShrunkImage)GFXLibrary.avatar_legs01_female);
        }
Exemple #6
0
        public static ShrunkImage getHair(AvatarData data)
        {
            if (((data.head == 0) || (data.head == 1)) && (data.hair == 0))
            {
                return(null);
            }
            switch (data.hair)
            {
            case -1:
                return(null);

            case 1:
                return((ShrunkImage)GFXLibrary.avatar_hair02);

            case 2:
                return((ShrunkImage)GFXLibrary.avatar_hair03);

            case 3:
                return((ShrunkImage)GFXLibrary.avatar_hair04);

            case 4:
                return((ShrunkImage)GFXLibrary.avatar_hair05);

            case 5:
                return((ShrunkImage)GFXLibrary.avatar_hair06);
            }
            return((ShrunkImage)GFXLibrary.avatar_hair01_helmhide);
        }
Exemple #7
0
	private void First() {

		float min_distance = 1000;
		float current_distance = 0;
		AvatarData _avatar = null;
	
		for(int i = 0; i < searchList.Count; i++) {
		
			current_distance = Vector3.Distance(searchList[i].avatar.tran.position, avatar.avatar.tran.position);
			if(current_distance < min_distance) {
			
				min_distance = current_distance;
				_avatar = searchList[i];
			
			}
		
		}

		if(_avatar != null) {
		
			searchID.Add(_avatar.id);
		
		}

	}
Exemple #8
0
    ///<summary>
    ///Guarda el personaje.
    ///</summary>
    ///<param name="player">
    ///Es un personaje.
    ///</param>

    public static void SavePlayer(Avatar player)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          path      = "";

        switch (PlayerPrefs.GetInt("Boton"))
        {
        case 0:
            path = Application.persistentDataPath + "/player0.fun";
            break;

        case 1:
            path = Application.persistentDataPath + "/player1.fun";
            break;

        case 2:
            path = Application.persistentDataPath + "/player2.fun";
            break;

        default:
            Debug.Log("No se encontro boton");
            break;
        }
        FileStream stream = new FileStream(path, FileMode.Create);
        AvatarData data   = new AvatarData(player);

        formatter.Serialize(stream, data);
        stream.Close();
    }
Exemple #9
0
 public bool SetAvatar(UUID principalID, AvatarData avatar)
 {
     m_registry.RequestModuleInterface <ISimulationBase> ().EventManager.FireGenericEventHandler("SetAppearance", new object[2] {
         principalID, avatar
     });
     return(m_Database.Store(principalID, avatar));
 }
Exemple #10
0
 public void Add(AvatarData _avatarData)
 {
     if (!avatarDic.ContainsKey(_avatarData.id))
     {
         avatarDic.Add(_avatarData.id, _avatarData);
     }
 }
        public static void Build_Action(string unitPath)
        {
            DirectoryInfo unitDirectory = new DirectoryInfo(unitPath);

            unitName = unitDirectory.Name;
            typeName = "Effect";


            Dictionary <string, List <SpriteAnimationClip> > actionDictionary = new Dictionary <string, List <SpriteAnimationClip> >();
            int    angle      = 0;
            string actionName = "idle";
            bool   flip       = false;

            List <SpriteAnimationClip> clips = new List <SpriteAnimationClip>();

            actionDictionary.Add(actionName, clips);

            SpriteAnimationClip clip = BuildClip(unitDirectory, angle, actionName, loop, flip);

            clips.Add(clip);

            List <AvatarAction> actions = BuildActions(actionDictionary);
            AvatarData          avatar  = BuildAvatarData(actions);

            BuildPrefab(avatar);
        }
        public void Setup(ChatMessage message)
        {
            this.message = message;

            AvatarData avatarData = resourceService.GetAvatarData(message.avatar_id);

            if (avatarData != null)
            {
                avatarIconImage.overrideSprite = resourceService.GetSprite(avatarData);
            }

            nameText.text    = message.sender_name;
            levelText.text   = message.sender_level.ToString();
            messageText.text = message.content;
            ClearAttachments();
            if (message.AttachmentCount == 0)
            {
                attachmentLayout.gameObject.DeactivateSelf();
            }
            else
            {
                attachmentLayout.gameObject.ActivateSelf();

                foreach (ChatAttachment attachment in message.attachments)
                {
                    GameObject attachmentInstance = Instantiate <GameObject>(attachmentViewPrefab);
                    attachmentInstance.transform.SetParent(attachmentLayout, false);
                    attachmentInstance.GetComponent <AttachmentView>().Setup(message, attachment);
                    attachmentViews.Add(attachmentInstance.GetComponent <AttachmentView>());
                }
            }
        }
Exemple #13
0
        private bool PrepareSceneForConnection(UUID sessionId, UUID secureSessionId, UUID sceneId, UserAccount account, out string reason)
        {
            Scene scene = m_scenes[sceneId];

            AgentCircuitData agent = new AgentCircuitData();

            agent.AgentID         = account.PrincipalID;
            agent.firstname       = account.FirstName;
            agent.lastname        = account.LastName;
            agent.SessionID       = sessionId;
            agent.SecureSessionID = secureSessionId;
            agent.circuitcode     = sessionId.CRC();
            agent.BaseFolder      = UUID.Zero;
            agent.InventoryFolder = UUID.Zero;
            agent.startpos        = new Vector3(0, 0, 0); // TODO Fill in region start position
            agent.CapsPath        = "http://localhost/";
            AvatarData avatar = scene.AvatarService.GetAvatar(account.PrincipalID);

            if (avatar != null)
            {
                agent.Appearance = avatar.ToAvatarAppearance(account.PrincipalID);
            }

            if (agent.Appearance == null)
            {
                m_log.WarnFormat("[INTER]: Appearance not found for {0} {1}. Creating default.", agent.firstname, agent.lastname);
                agent.Appearance = new AvatarAppearance();
            }

            return(scene.NewUserConnection(agent, 0, out reason));
        }
        public static GameObject BuildPrefab(AvatarData avatarData)
        {
            GameObject go = new GameObject();

            go.name = unitName;
            SpriteRenderer spriteRender = go.AddComponent <SpriteRenderer>();
            Isometric      isometric    = go.AddComponent <Isometric>();

            isometric.faceCamera = true;
            go.AddComponent <SpriteAnimation>();
            SpriteAvatar avatar = go.AddComponent <SpriteAvatar>();

            avatar.avatarData = avatarData;
            avatar.action     = defaultAction;
            avatar.angle      = defaultAngle;
            if (autoDestory)
            {
                go.AddComponent <AutoDestoryOnActionComplete>();
            }

            string path = PrefabPath + "/" + typeName + "/" + unitName + ".prefab";

            CheckPath(path);
            PrefabUtility.CreatePrefab(path, go);
            DestroyImmediate(go);
            return(go);
        }
Exemple #15
0
 public override void LoadData(AvatarData avatarData, Slot slot)
 {
     this.state           = avatarData.state;
     this.currentDropSlot = slot;
     if (slot != null && this.state == Constant.AvatarState.SLEEPING)
     {
         ChangePosition(currentDropSlot.transformToBeSet.position);
         ChangeAnimation(ANIMATOR_IS_DROPPING_PROPERTY_NAME + currentDropSlot.level + currentDropSlot.slotIndex, true);
         ChangeAnimation(ANIMATOR_IS_DRAGGING_PROPERTY_NAME, false);
         if (state == Constant.AvatarState.SLEEPING)
         {
             currentDropSlot.gameObject.SetActive(false);
         }
     }
     else
     {
         ChangeAnimation(ANIMATOR_IS_DRAGGING_PROPERTY_NAME, false);
         if (currentDropSlot != null)
         {
             Debug.Log(ANIMATOR_IS_DROPPING_PROPERTY_NAME + currentDropSlot.level + currentDropSlot.slotIndex);
             ChangeAnimation(ANIMATOR_IS_DROPPING_PROPERTY_NAME + currentDropSlot.level + currentDropSlot.slotIndex, false);
             currentDropSlot = null;
         }
         ChangePosition(initialPosition);
     }
 }
        public AvatarData GetAvatar(UUID principalID)
        {
            AvatarBaseData[] av  = m_Database.Get("PrincipalID", principalID.ToString());
            AvatarData       ret = new AvatarData();

            ret.Data = new Dictionary <string, string>();

            if (av.Length == 0)
            {
                ret.AvatarType = 1; // SL avatar
                return(ret);
            }

            foreach (AvatarBaseData b in av)
            {
                if (b.Data["Name"] == "AvatarType")
                {
                    ret.AvatarType = Convert.ToInt32(b.Data["Value"]);
                }
                else
                {
                    ret.Data[b.Data["Name"]] = b.Data["Value"];
                }
            }

            return(ret);
        }
Exemple #17
0
    private void MoveUpdate()
    {
        if (targetData == null || targetData.avatar == null)
        {
            targetData = AvatarManager.Instance.GetTarget(this);
        }
        else
        {
            if (Mathf.Abs(targetData.avatar.tran.position.x - tran.position.x) -
                (radius + targetData.avatar.radius) < fightDistance)
            {
                //Fight
                OnFight();
            }
            else
            {
                //Move

                if (targetData.avatar.tran.position.x > tran.position.x)
                {
                    direction = 1;
                }
                else
                {
                    direction = -1;
                }

                pos           = tran.position;
                pos.x        += Time.deltaTime * speed * direction;
                tran.position = pos;
            }
        }
    }
Exemple #18
0
        public static AvatarData LoadAvatar(int characterId)
        {
            var ad = new AvatarData();

            ad.CharacterStat = GetCharacterData(characterId);

            var equips     = new int[Constants.EquipSlots.MaxSlotIndex];
            var equipsCash = new int[Constants.EquipSlots.MaxSlotIndex];

            foreach (var(itemid, slot) in GetEquippedItemID(characterId))
            {
                if (Constants.EquipSlots.IsValidEquipSlot(slot) == false)
                {
                    continue;
                }

                if (slot > 100)
                {
                    equipsCash[(short)(slot - 100)] = itemid;
                }
                else
                {
                    equips[slot] = itemid;
                }
            }


            ad.AvatarLook = new AvatarLook();
            ad.AvatarLook.Load(ad.CharacterStat, equips, equipsCash, true);

            return(ad);
        }
Exemple #19
0
        byte[] GetAvatar(Dictionary <string, object> request)
        {
            UUID user = UUID.Zero;

            if (!request.ContainsKey("UserID"))
            {
                return(FailureResult());
            }

            if (UUID.TryParse(request["UserID"].ToString(), out user))
            {
                AvatarData avatar = m_AvatarService.GetAvatar(user);
                if (avatar == null)
                {
                    return(FailureResult());
                }

                Dictionary <string, object> result = new Dictionary <string, object>();
                if (avatar == null)
                {
                    result["result"] = "null";
                }
                else
                {
                    result["result"] = avatar.ToKeyValuePairs();
                }

                string xmlString = ServerUtils.BuildXmlResponse(result);

                return(Util.UTF8NoBomEncoding.GetBytes(xmlString));
            }

            return(FailureResult());
        }
Exemple #20
0
        public void SetPlayerInfo(LuaTable table)
        {
            instanceID = table["instanceID"].ToString().ToUInt32();
            LuaTable playerDataTable = (LuaTable)table["playerData"];

            if (playerDataTable != null)
            {
                playerData = PlayerData.GetPlayerData(playerDataTable["id"].ToString().ToUInt32());
                heroData   = HeroData.GetHeroDataByID(playerData.heroId);
                avatarData = AvatarData.GetAvatarData(playerData.avatarID);
            }
            hairCutIndex   = table["hairCutIndex"].ToString().ToUInt32();
            hairColorIndex = table["hairColorIndex"].ToString().ToUInt32();
            faceIndex      = table["faceIndex"].ToString().ToUInt32();
            skinIndex      = table["skinIndex"].ToString().ToInt32();
            //			name = table["name"].ToString();
            exp               = table["exp"].ToString().ToInt32();
            level             = table["level"].ToString().ToInt32();
            advanceLevel      = table["advanceLevel"].ToString().ToInt32();
            strengthenLevel   = table["strengthenLevel"].ToString().ToInt32();
            strengthenExp     = table["strengthenExp"].ToString().ToInt32();
            breakthroughLevel = table["breakthroughLevel"].ToString().ToInt32();
            weaponID          = table["weaponID"].ToString().ToInt32();
            armorID           = table["armorID"].ToString().ToInt32();;
            accessoryID       = table["accessoryID"].ToString().ToInt32();
        }
 public ActorFactory(
     AvatarData avatarData,
     NovatarData novatarData)
 {
     _avatarData  = avatarData;
     _novatarData = novatarData;
 }
Exemple #22
0
    // This function is to create new game data with a default value when the player sign up for the game
    //  game progress and avatar are created at default
    void createGameData(String username)
    {
        ad.name              = username;
        ad.charPoints        = 1500;
        ad.challengePoints   = 0;
        ad.multiPlayerPoints = 0;
        gp.curWorld          = 1;
        gp.curStage          = 1;
        ad.progress          = gp;
        ad.avatar            = AvatarData.getDefault();

        var fbMgr = DataManager.getInstance();

        fbMgr.updateGameData(ad, (result, msg) =>
        {
            if (result)
            {
                print("SUCCESS SAVED DATA");
                // TODO: prompt add succeed
            }
            else
            {
                Debug.LogWarning("Save Question failed from database!");
            }
        });
    }
Exemple #23
0
    public void LoadData(AvatarData avatarData)
    {
        bool isLowHungry = avatarData.hungry <= 2;
        bool isLowSanity = avatarData.sanity <= 2;

        if (avatarData.isDead)
        {
            ChangeAnimation(ANIMATOR_IS_IN_DEAD_PROPERTY_NAME, true);
        }
        else if (isLowHungry && isLowSanity)
        {
            ChangeAnimation(ANIMATOR_IS_IN_LOW_HUNGRY_SANITY_PROPERTY_NAME, true);
        }
        else if (isLowHungry)
        {
            ChangeAnimation(ANIMATOR_IS_IN_LOW_HUNGRY_PROPERTY_NAME, true);
        }
        else if (isLowSanity)
        {
            ChangeAnimation(ANIMATOR_IS_IN_LOW_SANITY_PROPERTY_NAME, true);
        }
        else
        {
            ChangeAnimation(ANIMATOR_IS_IN_IDLING_PROPERTY_NAME, true);
        }
    }
Exemple #24
0
    public void Save()
    {
        float saveDataString = activeAvatar;

        //First save out all brushes
        //Second save out the actual avatar data with pointers towards this brush data
        List <string> brushesToSave = new List <string>();


        for (int i = 0; i < brushHolder.brushes.Length; i++)
        {
            string fileName = brushHolder.brushes[i].name + "_" + saveDataString;

            print(fileName);

            brushesToSave.Add(brushHolder.brushes[i].name + "_" + saveDataString);
            Saveable.Save(brushHolder.brushes[i].particles, "DNA/" + fileName);
        }

        AvatarData a = new AvatarData(activeAvatar, themes.activeTheme, animations.activeAnimation);

        string avatarFileName = "/AVAS/AVA_" + activeAvatar + ".ava";

        SaveOut(a, avatarFileName);
    }
Exemple #25
0
        public void UpdateDatabase(UUID user, AvatarAppearance appearance)
        {
            m_log.DebugFormat("[APPEARANCE]: UpdateDatabase");
            AvatarData adata = new AvatarData(appearance);

            m_scene.AvatarService.SetAvatar(user, adata);
        }
Exemple #26
0
        private void RemoveOldBaked(UUID principalID, AvatarData newdata)
        {
            if (!newdata.Data.ContainsKey("Textures"))
            {
                return;
            }
            AvatarData olddata = m_Database.Get("PrincipalID", principalID.ToString());

            if ((olddata == null) || (!olddata.Data.ContainsKey("Textures")))
            {
                return;
            }

            Primitive.TextureEntry old_textures = Primitive.TextureEntry.FromOSD(OSDParser.DeserializeJson(olddata.Data["Textures"]));
            Primitive.TextureEntry new_textures = Primitive.TextureEntry.FromOSD(OSDParser.DeserializeJson(newdata.Data["Textures"]));
            IAssetService          service      = m_registry.RequestModuleInterface <IAssetService>();

            for (uint i = 0; i < old_textures.FaceTextures.Length; i++)
            {
                if ((old_textures.FaceTextures[i] == null) || ((new_textures.FaceTextures[i] != null) &&
                                                               (old_textures.FaceTextures[i].TextureID == new_textures.FaceTextures[i].TextureID)))
                {
                    continue;
                }
                AssetBase ab = service.Get(old_textures.FaceTextures[i].TextureID.ToString());
                if ((ab != null) && (ab.Name == "Baked Texture"))
                {
                    service.Delete(old_textures.FaceTextures[i].TextureID);
                }
            }
        }
Exemple #27
0
        private AsyncRequest DownloadAvatarAsync(AvatarData avatar, PipelineType pipelineType)
        {
            var request = new AsyncRequest();

            AvatarSdkMgr.SpawnCoroutine(DownloadAvatarFunc(avatar, pipelineType, request));
            return(request);
        }
Exemple #28
0
        private void UploadImage(HttpPostedFileBase file, AvatarData avatarData, out string errorMessage, out string newFileName)
        {
            errorMessage = null;
            newFileName  = null;

            try
            {
                var fileExt = Path.GetExtension(file.FileName)?.ToLower().Substring(1);
                if (file.ContentLength / (1024 * 1024) > 10)
                {
                    errorMessage = "Error. File size must be less than 10 megabytes";
                    return;
                }

                if (fileExt == "jpeg" || fileExt == "jpg" || fileExt == "png" || fileExt == "gif" || fileExt == "tiff" || fileExt == "bmp")
                {
                    var bitmap = new Bitmap(file.InputStream);

                    if (avatarData.Rotate != 0)
                    {
                        bitmap = RotateBitmap(bitmap, avatarData.Rotate);
                    }

                    var cropedBitmap = new Bitmap((int)avatarData.Width, (int)avatarData.Height);
                    using (var graphics = Graphics.FromImage(cropedBitmap))
                    {
                        graphics.Clear(Color.White);
                        graphics.DrawImage(bitmap,
                                           new Rectangle(0, 0, cropedBitmap.Width, cropedBitmap.Height),
                                           new Rectangle((int)avatarData.X, (int)avatarData.Y, (int)avatarData.Width, (int)avatarData.Height),
                                           GraphicsUnit.Pixel);
                        bitmap = cropedBitmap;
                    }

                    bitmap = ResizeBitmap(bitmap, _maxWidthHeight);

                    var encoderParameters = new EncoderParameters(1)
                    {
                        Param = { [0] = new EncoderParameter(Encoder.Quality, 50L) }
                    };

                    var path = "~" + _avatarFolder;

                    newFileName = Guid.NewGuid() + ".jpg";
                    var encoder = ImageCodecInfo.GetImageDecoders().First(codec => codec.FormatID == ImageFormat.Jpeg.Guid);
                    bitmap.Save(Path.Combine(Server.MapPath(path), newFileName), encoder, encoderParameters);
                }
                else
                {
                    errorMessage = "Error. Wrong format. Use only: jpeg, jpg, gif, png.";
                    return;
                }
            }
            catch (Exception exc)
            {
                errorMessage = "Error in processing. Check the image file." + exc.Message;
                return;
            }
        }
        private void Init()
        {
            hairCutSettingText.text   = Localization.Get("ui.create_role_view.hair_cut_setting");
            hairColorSettingText.text = Localization.Get("ui.create_role_view.hair_color_setting");
            faceSettingText.text      = Localization.Get("ui.create_role_view.face_setting");

            previousStepText.text            = Localization.Get("ui.create_role_view.previous_step");
            createRoleText.text              = Localization.Get("ui.create_role_view.create_role");
            pleaseCustomizeYourRoleText.text = Localization.Get("ui.create_role_view.please_customize_you_role");

            PlayerData selectedPlayerData = PlayerData.GetPlayerData(CreateRoleProxy.instance.selectedPlayerID);
            AvatarData avatarData         = AvatarData.GetAvatarData(selectedPlayerData.avatarID);

            int faceIconCount = skinIconList.Count;

            for (int faceIconIndex = 0; faceIconIndex < faceIconCount; faceIconIndex++)
            {
                skinIconList[faceIconIndex].SetSprite(ResMgr.instance.Load <Sprite>(avatarData.faceIconPaths[faceIconIndex]));
                skinIconList[faceIconIndex].SetNativeSize();
            }

            for (int i = 0, count = hairCutTipsText.Count; i < count; i++)
            {
                hairCutTipsText[i].text = Localization.Get("ui.create_role_view.hairCutTips_" + (i + 1));
            }

            for (int i = 0, count = hairColorTipsText.Count; i < count; i++)
            {
                hairColorTipsText[i].text = Localization.Get("ui.create_role_view.hairColorTips_" + (i + 1));
            }

            Debugger.Log("Create Role");
            _characterEntity = CharacterEntity.CreatePlayerEntityAsUIElement(selectedPlayerData);
            if (_characterEntity == null)
            {
                return;
            }
            TransformUtil.SwitchLayer(_characterEntity.transform, (int)LayerType.UI);
            _characterEntity.transform.SetParent(heroModelRoot, false);
            _characterEntity.transform.localPosition = Vector3.zero;
            _characterEntity.transform.localRotation = Quaternion.Euler(Vector3.zero);
            _characterEntity.transform.localScale    = Vector3.one;

            Logic.Model.View.ModelRotateAndAnim modelRotateAndAnim = _characterEntity.gameObject.AddComponent <Logic.Model.View.ModelRotateAndAnim>();
            modelRotateAndAnim.canClick      = true;
            modelRotateAndAnim.stateNameHash = Common.Animators.AnimatorUtil.VICTORY_02_ID;
            modelRotateAndAnim.ClickBehavior();
            CapsuleCollider capsuleCollider = _characterEntity.gameObject.AddComponent <CapsuleCollider>();

            capsuleCollider.height         = 2.5f;
            capsuleCollider.radius         = 0.5f;
            capsuleCollider.center         = new Vector3(0f, 1.2f, 0f);
            _characterEntity.transform.tag = "Character";

            CreateRoleController.instance.SelectHairCut(0);
            CreateRoleController.instance.SelectHairColor(0);
            CreateRoleController.instance.SelectFace(0);
            CreateRoleController.instance.SelectSkin(0);
        }
Exemple #30
0
        public bool SetAvatar(UUID userID, AvatarData avatar)
        {
            Dictionary <string, object> sendData = new Dictionary <string, object>();

            //sendData["SCOPEID"] = scopeID.ToString();
            sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString();
            sendData["VERSIONMAX"] = ProtocolVersions.ClientProtocolVersionMax.ToString();
            sendData["METHOD"]     = "setavatar";

            sendData["UserID"] = userID.ToString();

            Dictionary <string, object> structData = avatar.ToKeyValuePairs();

            foreach (KeyValuePair <string, object> kvp in structData)
            {
                sendData[kvp.Key] = kvp.Value.ToString();
            }


            string reqString = WebUtils.BuildQueryString(sendData);

            //m_log.DebugFormat("[AVATAR CONNECTOR]: queryString = {0}", reqString);
            try
            {
                List <string> serverURIs = m_registry.RequestModuleInterface <IConfigurationService>().FindValueOf("AvatarServerURI");
                foreach (string m_ServerURI in serverURIs)
                {
                    string reply = SynchronousRestFormsRequester.MakeRequest("POST",
                                                                             m_ServerURI,
                                                                             reqString);
                    if (reply != string.Empty)
                    {
                        Dictionary <string, object> replyData = WebUtils.ParseXmlResponse(reply);

                        if (replyData.ContainsKey("result"))
                        {
                            if (replyData["result"].ToString().ToLower() == "success")
                            {
                                return(true);
                            }
                        }
                        else
                        {
                            m_log.DebugFormat("[AVATAR CONNECTOR]: SetAvatar reply data does not contain result field");
                        }
                    }
                    else
                    {
                        m_log.DebugFormat("[AVATAR CONNECTOR]: SetAvatar received empty reply");
                    }
                }
            }
            catch (Exception e)
            {
                m_log.DebugFormat("[AVATAR CONNECTOR]: Exception when contacting avatar server: {0}", e.Message);
            }

            return(false);
        }
    public override void parse()
    {
        status = DataReader.ReadShort(dataStream);

        if (status == 0) {
            short size = DataReader.ReadShort(dataStream);

            for (int i = 0; i < size; i++) {
                int avatar_id = DataReader.ReadInt(dataStream);

                AvatarData avatar = new AvatarData(avatar_id);
                avatar.name = DataReader.ReadString(dataStream);
                avatar.level = DataReader.ReadShort(dataStream);
                avatar.coins = DataReader.ReadInt(dataStream);
                avatar.last_played = DataReader.ReadString(dataStream);

                avatarList.Add(avatar_id, avatar);
            }
        }
    }
 public void UploadAvatar(AvatarData avatarData)
 {
     if (this.UploadAvatar_Callback == null)
     {
         this.UploadAvatar_Callback = new AsyncCallback(this.OurRemoteAsyncCallBack_UploadAvatar);
     }
     RemoteAsyncDelegate_UploadAvatar avatar = new RemoteAsyncDelegate_UploadAvatar(this.service.UploadAvatar);
     this.registerRPCcall(avatar.BeginInvoke(this.UserID, this.SessionID, avatarData, this.UploadAvatar_Callback, null), typeof(UploadAvatar_ReturnType));
 }
 public void update(AvatarData data)
 {
     this.avatarData = data;
     this.forceRedraw = true;
     this.Refresh();
 }
    public void ResponseAvatarList(ExtendedEventArgs eventArgs)
    {
        ResponseAvatarListEventArgs args = eventArgs as ResponseAvatarListEventArgs;

        if (args.status == 0) {
            avatarList = args.avatarList;
        }

        if (avatarList.Count > 0) {
            avatarSelected = new List<AvatarData>(avatarList.Values)[0];
            GameState.avatar = avatarSelected;
        }
    }
 public void update()
 {
     if (this.forceUpdate)
     {
         AvatarData avatar = new AvatarData();
         if (this.rbMale.Checked)
         {
             avatar.male = true;
         }
         if (this.rbFemale.Checked)
         {
             avatar.male = false;
         }
         if (this.rbFloor1.Checked)
         {
             avatar.floor = 0;
         }
         if (this.rbFloor2.Checked)
         {
             avatar.floor = 1;
         }
         if (this.rbFloor3.Checked)
         {
             avatar.floor = 2;
         }
         if (this.rbFloor4.Checked)
         {
             avatar.floor = 3;
         }
         if (this.rbFloor5.Checked)
         {
             avatar.floor = 4;
         }
         if (this.rbFloor6.Checked)
         {
             avatar.floor = 5;
         }
         if (this.rbFloor7.Checked)
         {
             avatar.floor = 6;
         }
         if (this.rbFloor8.Checked)
         {
             avatar.floor = 7;
         }
         if (this.rbFloor9.Checked)
         {
             avatar.floor = 8;
         }
         if (this.rbFloor10.Checked)
         {
             avatar.floor = 9;
         }
         if (this.rbFloor11.Checked)
         {
             avatar.floor = 10;
         }
         if (this.rbBody1.Checked)
         {
             avatar.body = 0;
         }
         if (this.rbLegs1.Checked)
         {
             avatar.legs = 0;
         }
         if (this.rbLegs2.Checked)
         {
             avatar.legs = 1;
         }
         if (this.rbLegs3.Checked)
         {
             avatar.legs = 2;
         }
         if (this.rbLegs4.Checked)
         {
             avatar.legs = 3;
         }
         if (this.rbLegs5.Checked)
         {
             avatar.legs = 4;
         }
         if (this.rbLegs6.Checked)
         {
             avatar.legs = 5;
         }
         if (this.rbLegs7.Checked)
         {
             avatar.legs = 6;
         }
         if (this.rbFeetOff.Checked)
         {
             avatar.feet = -1;
         }
         if (this.rbFeet1.Checked)
         {
             avatar.feet = 0;
         }
         if (this.rbFeet2.Checked)
         {
             avatar.feet = 1;
         }
         if (this.rbFeet3.Checked)
         {
             avatar.feet = 2;
         }
         if (this.rbFeet4.Checked)
         {
             avatar.feet = 3;
         }
         if (this.rbFeet5.Checked)
         {
             avatar.feet = 4;
         }
         if (this.rbFeet6.Checked)
         {
             avatar.feet = 5;
         }
         if (this.rbTorso1.Checked)
         {
             avatar.torso = 0;
         }
         if (this.rbTorso2.Checked)
         {
             avatar.torso = 1;
         }
         if (this.rbTorso3.Checked)
         {
             avatar.torso = 2;
         }
         if (this.rbTorso4.Checked)
         {
             avatar.torso = 3;
         }
         if (this.rbTabardOff.Checked)
         {
             avatar.tabard = -1;
         }
         if (this.rbTabard1.Checked)
         {
             avatar.tabard = 0;
         }
         if (this.rbTabard2.Checked)
         {
             avatar.tabard = 1;
         }
         if (this.rbTabard3.Checked)
         {
             avatar.tabard = 2;
         }
         if (this.rbTabard4.Checked)
         {
             avatar.tabard = 3;
         }
         if (this.rbTabard5.Checked)
         {
             avatar.tabard = 4;
         }
         if (this.rbTabard6.Checked)
         {
             avatar.tabard = 5;
         }
         if (this.rbTabard7.Checked)
         {
             avatar.tabard = 6;
         }
         if (this.rbTabard8.Checked)
         {
             avatar.tabard = 7;
         }
         if (this.rbArmsOff.Checked)
         {
             avatar.arms = -1;
         }
         if (this.rbArms1.Checked)
         {
             avatar.arms = 0;
         }
         if (this.rbArms2.Checked)
         {
             avatar.arms = 1;
         }
         if (this.rbArms3.Checked)
         {
             avatar.arms = 2;
         }
         if (this.rbArms4.Checked)
         {
             avatar.arms = 3;
         }
         if (this.rbHandsOff.Checked)
         {
             avatar.hands = -1;
         }
         if (this.rbHands1.Checked)
         {
             avatar.hands = 0;
         }
         if (this.rbHands2.Checked)
         {
             avatar.hands = 1;
         }
         if (this.rbHands3.Checked)
         {
             avatar.hands = 2;
         }
         if (this.rbHands4.Checked)
         {
             avatar.hands = 3;
         }
         if (this.rbShoulderOff.Checked)
         {
             avatar.shoulder = -1;
         }
         if (this.rbShoulders1.Checked)
         {
             avatar.shoulder = 0;
         }
         if (this.rbShoulders2.Checked)
         {
             avatar.shoulder = 1;
         }
         if (this.rbShoulders3.Checked)
         {
             avatar.shoulder = 2;
         }
         if (this.rbShoulders4.Checked)
         {
             avatar.shoulder = 3;
         }
         if (this.rbFace1.Checked)
         {
             avatar.face = 0;
         }
         if (this.rbFace2.Checked)
         {
             avatar.face = 1;
         }
         if (this.rbFace3.Checked)
         {
             avatar.face = 2;
         }
         if (this.rbFace4.Checked)
         {
             avatar.face = 3;
         }
         if (this.rbFace5.Checked)
         {
             avatar.face = 4;
         }
         if (this.rbFace6.Checked)
         {
             avatar.face = 5;
         }
         if (this.rbFace7.Checked)
         {
             avatar.face = 6;
         }
         if (this.rbHairOff.Checked)
         {
             avatar.hair = -1;
         }
         if (this.rbHair1.Checked)
         {
             avatar.hair = 0;
         }
         if (this.rbHair2.Checked)
         {
             avatar.hair = 1;
         }
         if (this.rbHair3.Checked)
         {
             avatar.hair = 2;
         }
         if (this.rbHair4.Checked)
         {
             avatar.hair = 3;
         }
         if (this.rbHair5.Checked)
         {
             avatar.hair = 4;
         }
         if (this.rbHair6.Checked)
         {
             avatar.hair = 5;
         }
         if (this.rbHeadOff.Checked)
         {
             avatar.head = -1;
         }
         if (this.rbHead1.Checked)
         {
             avatar.head = 0;
         }
         if (this.rbHead2.Checked)
         {
             avatar.head = 1;
         }
         if (this.rbHead3.Checked)
         {
             avatar.head = 2;
         }
         if (this.rbHead4.Checked)
         {
             avatar.head = 3;
         }
         if (this.rbHead5.Checked)
         {
             avatar.head = 4;
         }
         if (this.rbHead6.Checked)
         {
             avatar.head = 5;
         }
         if (this.rbHead7.Checked)
         {
             avatar.head = 6;
         }
         if (this.rbHead8.Checked)
         {
             avatar.head = 7;
         }
         if (this.rbHead9.Checked)
         {
             avatar.head = 8;
         }
         if (this.rbHead10.Checked)
         {
             avatar.head = 9;
         }
         if (this.rbHead11.Checked)
         {
             avatar.head = 10;
         }
         if (this.rbHead12.Checked)
         {
             avatar.head = 11;
         }
         if (this.rbWeaponOff.Checked)
         {
             avatar.weapon = -1;
         }
         if (this.rbWeapon1.Checked)
         {
             avatar.weapon = 0;
         }
         if (this.rbWeapon2.Checked)
         {
             avatar.weapon = 1;
         }
         if (this.rbWeapon3.Checked)
         {
             avatar.weapon = 2;
         }
         if (this.rbWeapon4.Checked)
         {
             avatar.weapon = 3;
         }
         if (this.rbWeapon5.Checked)
         {
             avatar.weapon = 4;
         }
         if (this.rbWeapon6.Checked)
         {
             avatar.weapon = 5;
         }
         avatar.BodyColour = this.getColour(this.pnlBodyCSD);
         avatar.LegsColour = this.getColour(this.pnlLegsCSD);
         avatar.FeetColour = this.getColour(this.pnlFeetCSD);
         avatar.TorsoColour = this.getColour(this.pnlTorsoCSD);
         avatar.TabardColour = this.getColour(this.pnlTabardCSD);
         avatar.ArmsColour = this.getColour(this.pnlArmsCSD);
         avatar.HandsColour = this.getColour(this.pnlHandsCSD);
         avatar.ShouldersColour = this.getColour(this.pnlShouldersCSD);
         avatar.HairColour = this.getColour(this.pnlHairCSD);
         avatar.HeadColour = this.getColour(this.pnlHeadCSD);
         avatar.WeaponColour = this.getColour(this.pnlWeaponCSD);
         this.createColours(avatar);
         this.lastData = avatar;
         this.imgAvatar.update(avatar);
         this.forceUpdate = false;
     }
 }
        public void import(AvatarData avatar)
        {
            this.rbArms4.Visible = true;
            this.rbFace3.Visible = true;
            this.rbFace4.Visible = true;
            this.rbFeet4.Visible = true;
            this.rbFloor3.Visible = true;
            this.rbFloor4.Visible = true;
            this.rbFloor5.Visible = true;
            this.rbHands4.Visible = true;
            this.rbHead4.Visible = true;
            this.rbLegs4.Visible = true;
            this.rbLegs5.Visible = true;
            this.rbTabard3.Visible = true;
            this.rbTabard4.Visible = true;
            this.allowItemChangeSFX = false;
            this.lastData = avatar;
            this.forceUpdate = true;
            if (avatar.male)
            {
                this.rbMale.Checked = true;
            }
            else
            {
                this.rbFemale.Checked = true;
            }
            switch (avatar.floor)
            {
                case 0:
                    this.rbFloor1.Checked = true;
                    break;

                case 1:
                    this.rbFloor2.Checked = true;
                    break;

                case 2:
                    this.rbFloor3.Checked = true;
                    break;

                case 3:
                    this.rbFloor4.Checked = true;
                    break;

                case 4:
                    this.rbFloor5.Checked = true;
                    break;

                case 5:
                    this.rbFloor6.Checked = true;
                    break;

                case 6:
                    this.rbFloor7.Checked = true;
                    break;

                case 7:
                    this.rbFloor8.Checked = true;
                    break;

                case 8:
                    this.rbFloor9.Checked = true;
                    break;

                case 9:
                    this.rbFloor10.Checked = true;
                    break;

                case 10:
                    this.rbFloor11.Checked = true;
                    break;
            }
            if (avatar.body == 0)
            {
                this.rbBody1.Checked = true;
            }
            switch (avatar.legs)
            {
                case 0:
                    this.rbLegs1.Checked = true;
                    break;

                case 1:
                    this.rbLegs2.Checked = true;
                    break;

                case 2:
                    this.rbLegs3.Checked = true;
                    break;

                case 3:
                    this.rbLegs4.Checked = true;
                    break;

                case 4:
                    this.rbLegs5.Checked = true;
                    break;

                case 5:
                    this.rbLegs6.Checked = true;
                    break;

                case 6:
                    this.rbLegs7.Checked = true;
                    break;
            }
            switch (avatar.feet)
            {
                case -1:
                    this.rbFeetOff.Checked = true;
                    break;

                case 0:
                    this.rbFeet1.Checked = true;
                    break;

                case 1:
                    this.rbFeet2.Checked = true;
                    break;

                case 2:
                    this.rbFeet3.Checked = true;
                    break;

                case 3:
                    this.rbFeet4.Checked = true;
                    break;

                case 4:
                    this.rbFeet5.Checked = true;
                    break;

                case 5:
                    this.rbFeet6.Checked = true;
                    break;
            }
            switch (avatar.torso)
            {
                case 0:
                    this.rbTorso1.Checked = true;
                    break;

                case 1:
                    this.rbTorso2.Checked = true;
                    break;

                case 2:
                    this.rbTorso3.Checked = true;
                    break;

                case 3:
                    this.rbTorso4.Checked = true;
                    break;
            }
            switch (avatar.tabard)
            {
                case -1:
                    this.rbTabardOff.Checked = true;
                    break;

                case 0:
                    this.rbTabard1.Checked = true;
                    break;

                case 1:
                    this.rbTabard2.Checked = true;
                    break;

                case 2:
                    this.rbTabard3.Checked = true;
                    break;

                case 3:
                    this.rbTabard4.Checked = true;
                    break;

                case 4:
                    this.rbTabard5.Checked = true;
                    break;

                case 5:
                    this.rbTabard6.Checked = true;
                    break;

                case 6:
                    this.rbTabard7.Checked = true;
                    break;

                case 7:
                    this.rbTabard8.Checked = true;
                    break;
            }
            switch (avatar.arms)
            {
                case -1:
                    this.rbArmsOff.Checked = true;
                    break;

                case 0:
                    this.rbArms1.Checked = true;
                    break;

                case 1:
                    this.rbArms2.Checked = true;
                    break;

                case 2:
                    this.rbArms3.Checked = true;
                    break;

                case 3:
                    this.rbArms4.Checked = true;
                    break;
            }
            switch (avatar.hands)
            {
                case -1:
                    this.rbHandsOff.Checked = true;
                    break;

                case 0:
                    this.rbHands1.Checked = true;
                    break;

                case 1:
                    this.rbHands2.Checked = true;
                    break;

                case 2:
                    this.rbHands3.Checked = true;
                    break;

                case 3:
                    this.rbHands4.Checked = true;
                    break;
            }
            switch (avatar.shoulder)
            {
                case -1:
                    this.rbShoulderOff.Checked = true;
                    break;

                case 0:
                    this.rbShoulders1.Checked = true;
                    break;

                case 1:
                    this.rbShoulders2.Checked = true;
                    break;

                case 2:
                    this.rbShoulders3.Checked = true;
                    break;

                case 3:
                    this.rbShoulders4.Checked = true;
                    break;
            }
            switch (avatar.face)
            {
                case 0:
                    this.rbFace1.Checked = true;
                    break;

                case 1:
                    this.rbFace2.Checked = true;
                    break;

                case 2:
                    this.rbFace3.Checked = true;
                    break;

                case 3:
                    this.rbFace4.Checked = true;
                    break;

                case 4:
                    this.rbFace5.Checked = true;
                    break;

                case 5:
                    this.rbFace6.Checked = true;
                    break;

                case 6:
                    this.rbFace7.Checked = true;
                    break;
            }
            switch (avatar.hair)
            {
                case -1:
                    this.rbHairOff.Checked = true;
                    break;

                case 0:
                    this.rbHair1.Checked = true;
                    break;

                case 1:
                    this.rbHair2.Checked = true;
                    break;

                case 2:
                    this.rbHair3.Checked = true;
                    break;

                case 3:
                    this.rbHair4.Checked = true;
                    break;

                case 4:
                    this.rbHair5.Checked = true;
                    break;

                case 5:
                    this.rbHair6.Checked = true;
                    break;
            }
            switch (avatar.head)
            {
                case -1:
                    this.rbHeadOff.Checked = true;
                    break;

                case 0:
                    this.rbHead1.Checked = true;
                    break;

                case 1:
                    this.rbHead2.Checked = true;
                    break;

                case 2:
                    this.rbHead3.Checked = true;
                    break;

                case 3:
                    this.rbHead4.Checked = true;
                    break;

                case 4:
                    this.rbHead5.Checked = true;
                    break;

                case 5:
                    this.rbHead6.Checked = true;
                    break;

                case 6:
                    this.rbHead7.Checked = true;
                    break;

                case 7:
                    this.rbHead8.Checked = true;
                    break;

                case 8:
                    this.rbHead9.Checked = true;
                    break;

                case 9:
                    this.rbHead10.Checked = true;
                    break;

                case 10:
                    this.rbHead11.Checked = true;
                    break;

                case 11:
                    this.rbHead12.Checked = true;
                    break;
            }
            switch (avatar.weapon)
            {
                case -1:
                    this.rbWeaponOff.Checked = true;
                    break;

                case 0:
                    this.rbWeapon1.Checked = true;
                    break;

                case 1:
                    this.rbWeapon2.Checked = true;
                    break;

                case 2:
                    this.rbWeapon3.Checked = true;
                    break;

                case 3:
                    this.rbWeapon4.Checked = true;
                    break;

                case 4:
                    this.rbWeapon5.Checked = true;
                    break;

                case 5:
                    this.rbWeapon6.Checked = true;
                    break;
            }
            this.createColours(avatar);
            this.update();
            this.allowItemChangeSFX = true;
        }
 public void createColours(AvatarData avatar)
 {
     Panel pnlBody = null;
     CustomSelfDrawPanel pnlBodyCSD = null;
     Color[] colorArray = null;
     colorArray = avatar.getBodyColourRange();
     if (!AvatarData.compare(colorArray, this.lastBodyColours))
     {
         pnlBody = this.pnlBody;
         pnlBodyCSD = this.pnlBodyCSD;
         avatar.BodyColour = this.addColours(pnlBodyCSD, colorArray, avatar.BodyColour, 0);
         this.lastBodyColours = colorArray;
     }
     colorArray = avatar.getLegsColourRange();
     if (!AvatarData.compare(colorArray, this.lastLegColours))
     {
         pnlBody = this.pnlLegs;
         pnlBodyCSD = this.pnlLegsCSD;
         avatar.LegsColour = this.addColours(pnlBodyCSD, colorArray, avatar.LegsColour, 1);
         this.lastLegColours = colorArray;
     }
     colorArray = avatar.getFeetColourRange();
     if (!AvatarData.compare(colorArray, this.lastFeetColours))
     {
         pnlBody = this.pnlFeet;
         pnlBodyCSD = this.pnlFeetCSD;
         avatar.FeetColour = this.addColours(pnlBodyCSD, colorArray, avatar.FeetColour, 2);
         this.lastFeetColours = colorArray;
     }
     colorArray = avatar.getTorsoColourRange();
     if (!AvatarData.compare(colorArray, this.lastTorsoColours))
     {
         pnlBody = this.pnlTorso;
         pnlBodyCSD = this.pnlTorsoCSD;
         avatar.TorsoColour = this.addColours(pnlBodyCSD, colorArray, avatar.TorsoColour, 3);
         this.lastTorsoColours = colorArray;
     }
     colorArray = avatar.getTabardColourRange();
     if (!AvatarData.compare(colorArray, this.lastTabardColours))
     {
         pnlBody = this.pnlTabard;
         pnlBodyCSD = this.pnlTabardCSD;
         avatar.TabardColour = this.addColours(pnlBodyCSD, colorArray, avatar.TabardColour, 4);
         this.lastTabardColours = colorArray;
     }
     colorArray = avatar.getArmsColourRange();
     if (!AvatarData.compare(colorArray, this.lastArmsColours))
     {
         pnlBody = this.pnlArms;
         pnlBodyCSD = this.pnlArmsCSD;
         avatar.ArmsColour = this.addColours(pnlBodyCSD, colorArray, avatar.ArmsColour, 5);
         this.lastArmsColours = colorArray;
     }
     colorArray = avatar.getHandsColourRange();
     if (!AvatarData.compare(colorArray, this.lastHandsColours))
     {
         pnlBody = this.pnlHands;
         pnlBodyCSD = this.pnlHandsCSD;
         avatar.HandsColour = this.addColours(pnlBodyCSD, colorArray, avatar.HandsColour, 6);
         this.lastHandsColours = colorArray;
     }
     colorArray = avatar.getShouldersColourRange();
     if (!AvatarData.compare(colorArray, this.lastShouldersColours))
     {
         pnlBody = this.pnlShoulders;
         pnlBodyCSD = this.pnlShouldersCSD;
         avatar.ShouldersColour = this.addColours(pnlBodyCSD, colorArray, avatar.ShouldersColour, 7);
         this.lastShouldersColours = colorArray;
     }
     colorArray = avatar.getHairColourRange();
     if (!AvatarData.compare(colorArray, this.lastHairColours))
     {
         pnlBody = this.pnlHair;
         pnlBodyCSD = this.pnlHairCSD;
         avatar.HairColour = this.addColours(pnlBodyCSD, colorArray, avatar.HairColour, 9);
         this.lastHairColours = colorArray;
     }
     colorArray = avatar.getHeadColourRange();
     if (!AvatarData.compare(colorArray, this.lastHeadColours))
     {
         pnlBody = this.pnlHead;
         pnlBodyCSD = this.pnlHeadCSD;
         pnlBody.SuspendLayout();
         this.removeColours(pnlBody);
         avatar.HeadColour = this.addColours(pnlBodyCSD, colorArray, avatar.HeadColour, 10);
         this.lastHeadColours = colorArray;
         this.resumeLayout(pnlBody);
     }
     colorArray = avatar.getWeaponColourRange();
     if (!AvatarData.compare(colorArray, this.lastWeaponColours))
     {
         pnlBody = this.pnlWeapon;
         pnlBodyCSD = this.pnlWeaponCSD;
         avatar.WeaponColour = this.addColours(pnlBodyCSD, colorArray, avatar.WeaponColour, 11);
         this.lastWeaponColours = colorArray;
     }
 }
 private void btnDefault_Click(object sender, EventArgs e)
 {
     GameEngine.Instance.playInterfaceSound("avatar_reset_to_default");
     AvatarData avatar = new AvatarData();
     avatar.validateColours();
     this.lastBodyColours = null;
     this.lastLegColours = null;
     this.lastFeetColours = null;
     this.lastTorsoColours = null;
     this.lastTabardColours = null;
     this.lastArmsColours = null;
     this.lastHandsColours = null;
     this.lastShouldersColours = null;
     this.lastHairColours = null;
     this.lastHeadColours = null;
     this.lastWeaponColours = null;
     this.import(avatar);
 }