/// <summary>
 /// Constructor for <see cref="ChatItemData"/> instance.
 /// </summary>
 /// <param name="messageData">Instance of <see cref="MessageData"/> of the message.</param>
 /// <param name="remover">Instance of <see cref="MessageRemover"/> for the <see cref="ChatMessage"/> initialization.</param>
 /// <param name="avatarLoader">Instance of <see cref="AvatarLoader"/> for the <see cref="ChatMessage"/> initialization.</param>
 /// <param name="playerId">Indicates the current player id.</param>
 public ChatItemData(MessageData messageData, MessageRemover remover, AvatarLoader avatarLoader, string playerId)
 {
     this.messageData  = messageData;
     this.remover      = remover;
     this.avatarLoader = avatarLoader;
     this.playerId     = playerId;
 }
示例#2
0
    public void LoadAvatarCustom()
    {
        Debug.Log($"Started loading avatar. [{Time.timeSinceLevelLoad:F2}]");
        AvatarLoader avatarLoader = new AvatarLoader();

        avatarLoader.LoadAvatar(AvatarURL, OnAvatarImported, OnAvatarLoaded);
    }
示例#3
0
    //Unity 5.5 and later does not support extracting an assetbundle compressed with LZMA in WebGL: https://blogs.unity3d.com/cn/2016/09/20/understanding-memory-in-unity-webgl/
    //we have to manually decompress and rebuild blocks and metadata. LZMA decompress block contents.
    //also, appearently unity wont open assetbundles built for another version, even if is able to do so.
    //see Decompressor.Attempt for how this is done.

    private void Awake()
    {
        if (instance != null)
        {
            Destroy(instance);
        }
        instance   = this;
        mouseOrbit = GameObject.FindObjectOfType <MouseOrbitImproved>();
    }
示例#4
0
 public ChannelAuthorLoader(
     IAgent agent,
     AvatarLoader avatarLoader
     )
 {
     _agent        = agent;
     _avatarLoader = avatarLoader;
     _cache        = new ConcurrentDictionary <long, ChannelAuthor>();
 }
示例#5
0
 public UserAuthorLoader(
     IAgent agent,
     AvatarLoader avatarLoader
     )
 {
     _agent           = agent;
     _avatarLoader    = avatarLoader;
     _userAuthorCache = new ConcurrentDictionary <int, UserAuthor>();
 }
 internal PlayerAvatarManager(DiContainer container, ILogger <PlayerAvatarManager> logger, AvatarLoader avatarLoader, Settings settings, AvatarSpawner spawner, BeatSaberUtilities beatSaberUtilities)
 {
     _container          = container;
     _logger             = logger;
     _avatarLoader       = avatarLoader;
     _settings           = settings;
     _spawner            = spawner;
     _beatSaberUtilities = beatSaberUtilities;
 }
示例#7
0
 public SegmentInteractor(
     IAgent agent,
     ConversationLoader conversationLoader,
     AvatarLoader avatarLoader
     )
 {
     _agent = agent;
     _conversationLoader = conversationLoader;
     _avatarLoader       = avatarLoader;
 }
示例#8
0
 private PlayerAvatarManager(DiContainer container, ILoggerProvider loggerProvider, AvatarLoader avatarLoader, Settings settings, AvatarSpawner spawner, BeatSaberUtilities beatSaberUtilities, FloorController floorController)
 {
     _container          = container;
     _logger             = loggerProvider.CreateLogger <PlayerAvatarManager>();
     _avatarLoader       = avatarLoader;
     _settings           = settings;
     _spawner            = spawner;
     _beatSaberUtilities = beatSaberUtilities;
     _floorController    = floorController;
 }
示例#9
0
        private PlayerAvatarManager(DiContainer container, ILoggerProvider loggerProvider, AvatarLoader avatarLoader, Settings settings, AvatarSpawner spawner, BeatSaberUtilities beatSaberUtilities, FloorController floorController)
        {
            _container          = container;
            _logger             = loggerProvider.CreateLogger <PlayerAvatarManager>();
            _avatarLoader       = avatarLoader;
            _settings           = settings;
            _spawner            = spawner;
            _beatSaberUtilities = beatSaberUtilities;
            _floorController    = floorController;

            _fileSystemWatcher = new FileSystemWatcher(kCustomAvatarsPath, "*.avatar");
            _fileSystemWatcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.FileName | NotifyFilters.LastWrite | NotifyFilters.Size;
        }
示例#10
0
        #pragma warning restore 0649

        // Create and configure the AvatarLoader instance
        private void Start()
        {
            AvatarLoader avatarLoader = new AvatarLoader();

            avatarLoader.UseEyeRotator       = true;
            avatarLoader.UseVoiceToAnimation = true;

            avatarLoader.OnAvatarLoaded = OnAvatarLoaded;
            avatarLoader.LoadAvatar(avatarUrl);

            #if UNITY_2018
            Light light = FindObjectOfType <Light>();
            light.intensity = 0.7f;
            #endif
        }
示例#11
0
    /// <summary>
    /// Called on instantiation of the message item.
    /// </summary>
    /// <param name="data">Data for the message initialization.</param>
    public void Setup(ChatItemData data)
    {
        Data         = data.messageData;
        avatarLoader = data.avatarLoader;
        remover      = data.remover;

        messageText.text = Data.text;
        dateText.text    = Data.date;

        /// Subscribe only if this is a player message.
        if (Data.sender == data.playerId)
        {
            Subscribe();
        }

        ShowAnimation();

        OnSetup();
    }
示例#12
0
 // Use this for initialization
 void Start()
 {
     show.SetActive(false);
     loader = GetComponent <AvatarLoader> ();
     jsons  = GetComponent <ImportAvatarJsons> ();
 }
示例#13
0
        private IEnumerator Load()
        {
            //yield return null;
            //AssetLoader.Load("builtin/builtin_materials/Sprites-Default.mat", (loadUrl, obj) => { if (obj != null) Debug.Log(loadUrl+"===========>"+obj.GetType()); });

            //builtin\builtin_shaders\defaultresourcesextra
            //AssetLoader.Load("builtin/builtin_shaders/defaultresourcesextra/sprites-default.shader", (loadUrl, obj) => { if (obj != null) Debug.Log(loadUrl + "===========>" + obj.GetType()); });


            //yield return new WaitForSeconds(1.0f);
            //AssetLoader.Load("ui/loadbar.prefab", CallBack1);

            //AssetLoader.Load("config/base.csv", CallBackConfig1);

            //yield return new WaitForSeconds(1.0f);

            AssetLoader.Load("config/locale/app_text_zh_cn.txt", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    TextAsset ta = obj as TextAsset;
                    GEngine.Language.LanguageTextConfParser.Parse(loadUrl, ta.text);
                }
            });

            AssetLoader.Load("config/locale/app_text_en.txt", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    TextAsset ta = obj as TextAsset;
                    GEngine.Language.LanguageTextConfParser.Parse(loadUrl, ta.text);
                }
            });

            AssetLoader.Load("config/locale/app_text_zh_tw.txt", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    TextAsset ta = obj as TextAsset;
                    GEngine.Language.LanguageTextConfParser.Parse(loadUrl, ta.text);
                }
            });

            //AssetLoader.Load("config/avatar/avatar_10001.xml", CallBackConfig1);

            //avatar\soldier\kuijiabing_1_1\walk\1
            System.DateTime time1 = DateTime.Now;
            AvatarLoader.Load(10001);
            AvatarLoader.Load(10001, 2);



            AssetLoader.Load("material/map/map_5.mat", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    GameObject mapGo = GameObject.Find("World/Terrains/Map");
                    if (mapGo != null)
                    {
                        AssetLoader.Load("map/texture/home_city.jpg", (loadUrlMap, objMap) => {
                            if (objMap != null)
                            {
                                Debug.Log(loadUrlMap + "===war_map_1========>" + objMap.GetType());
                                Material mat      = obj as Material;
                                mat.mainTexture   = objMap as Texture2D;
                                MeshRenderer sr   = mapGo.GetComponent <MeshRenderer>();
                                sr.sharedMaterial = mat;


                                AssetLoader.RefreshMaterialsShadersForEditorEnv(mapGo);
                                AssetManager.LogTimeCost("Step map load: ", time1);
                            }
                        });
                    }
                }
            });

            //yield return new WaitForSeconds(1.0f);


            //AssetLoader.Load("prefabs/avatar/warsoldier2.prefab", CallBackTest2);

            /*
             * ImageAnimation imgAnimation = new ImageAnimation();
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0000.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0003.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0006.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0009.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0012.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0015.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0018.png");
             * imgAnimation.AddFrameImage("avatar/soldier/kuijiabing_1_1/walk/1/0021.png");
             */
            var assetLoader = AssetLoader.Load("prefabs/avatar/warsoldier2.prefab");

            AvatarInfo ai = null;

            while (ai == null || !ai.IsFinishedLoadAssets())
            {
                if (ai == null)
                {
                    ai = AvatarInfoManager.Instance.GetAvatarInfo(AvatarInfo.GetKey(10001, 0));
                }
                yield return(null);
            }
            AssetManager.LogTimeCost("Step1: ", time1);


            ai = null;
            while (ai == null || !ai.IsFinishedLoadAssets())
            {
                if (ai == null)
                {
                    ai = AvatarInfoManager.Instance.GetAvatarInfo(AvatarInfo.GetKey(10001, 2));
                }
                yield return(null);
            }
            AssetManager.LogTimeCost("Step1-2: ", time1);


            while (!assetLoader.IsCompleted)
            {
                yield return(null);
            }


            AssetManager.LogTimeCost("Step2: ", time1);


            GameObject go = assetLoader.Asset as GameObject;

            go.SetActive(false);
            SpriteAnimation sa = go.GetComponentInChildren <SpriteAnimation>();

            sa.frames = ai.GetAvatarActionImageAnimation("walk").animationSprites[0].list;

            CreateSoldier(go, "s1", Vector3.one);
            AssetManager.LogTimeCost("Step3: ", time1);

            CreateSoldier(go, "s2", new Vector3(10, 10, 10));
            AssetManager.LogTimeCost("Step4: ", time1);

            AssetLoader.Load("material/soldier_freeze.mat", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    GameObject soldier = GameObject.Find("Scene/Soldiers/s2");
                    if (soldier != null)
                    {
                        SpriteRenderer sr = soldier.GetComponentInChildren <SpriteRenderer>();
                        sr.sharedMaterial = obj as Material;

                        AssetLoader.RefreshMaterialsShadersForEditorEnv(soldier);
                        AssetManager.LogTimeCost("Step5: ", time1);
                    }
                }
            });


            AssetLoader.Load("material/soldier_crazy.mat", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    GameObject soldier = GameObject.Find("Scene/Soldiers/s1");
                    if (soldier != null)
                    {
                        SpriteRenderer sr = soldier.GetComponentInChildren <SpriteRenderer>();
                        sr.sharedMaterial = obj as Material;

                        AssetLoader.RefreshMaterialsShadersForEditorEnv(soldier);
                        AssetManager.LogTimeCost("Step6: ", time1);
                    }
                }
            });

            AssetLoader.Load("prefabs/effect3d/e_skill_bingdong.prefab", (loadUrl, obj) => {
                if (obj != null)
                {
                    Debug.Log(loadUrl + "===========>" + obj.GetType());
                    GameObject pg = obj as GameObject;
                    pg.SetActive(false);

                    GameObject goObj = GameObject.Instantiate(obj as GameObject);
                    goObj.SetActive(false);
                    goObj.SetActive(true);
                }
            });

            yield return(new WaitForSeconds(5));

            GEngine.Language.LanguageTextManager.Instance.SetCurrentLocaleKey(GEngine.Language.LanguageTextManager.LOCALE_EN);

            yield return(new WaitForSeconds(5));

            GEngine.Language.LanguageTextManager.Instance.SetCurrentLocaleKey(GEngine.Language.LanguageTextManager.LOCALE_ZH_TW);

            /*
             * yield return new WaitForSeconds(1.0f);
             *
             * var assetLoader2 = AssetLoader.Load("avatar/soldier/kuijiabing_1_1/walk/1/0009.png");
             *
             * while (!assetLoader2.IsCompleted)
             *  yield return null;
             *
             * Debug.Log(assetLoader2.Asset.GetType());
             *
             * Sprite sp = CreateSprite(assetLoader2.Asset);
             * SpriteRenderer sr = win.GetComponentInChildren<SpriteRenderer>();
             * if (sr!=null && sp!=null)
             * {
             *  Debug.Log("111111111111111");
             *  sr.sprite = sp;
             * }
             */
        }