static int Ensure(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UnityEngine.GameObject     arg0 = (UnityEngine.GameObject)ToLua.CheckObject(L, 1, typeof(UnityEngine.GameObject));
         Nova.MaterialPoolComponent o    = Nova.MaterialPoolComponent.Ensure(arg0);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static int GetRestorableMaterial(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         Nova.MaterialPoolComponent obj = (Nova.MaterialPoolComponent)ToLua.CheckObject <Nova.MaterialPoolComponent>(L, 1);
         string arg0 = ToLua.CheckString(L, 2);
         Nova.RestorableMaterial o = obj.GetRestorableMaterial(arg0);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
        public virtual void Restore(IRestoreData restoreData)
        {
            var data = restoreData as CompositeSpriteControllerBaseRestoreData;

            data.transformRestoreData.Restore(transform);
            color = data.color;

            if (spriteRenderer != null)
            {
                // Material must be RestorableMaterial or DefaultMaterial
                if (data.materialRestoreData != null)
                {
                    MaterialFactory factory = MaterialPoolComponent.Ensure(gameObject).factory;
                    spriteRenderer.material =
                        RestorableMaterial.RestoreMaterialFromData(data.materialRestoreData, factory);
                }
                else
                {
                    spriteRenderer.material = MaterialPoolComponent.Ensure(gameObject).defaultMaterial;
                }
            }

            RenderQueueOverrider.Ensure(gameObject).renderQueue = data.renderQueue;

            if (data.currentImageName == currentImageName)
            {
                return;
            }

            if (!string.IsNullOrEmpty(data.currentImageName))
            {
                string[] parts = StringToPoseArray(data.currentImageName);
                if (parts.Length == 1)
                {
                    SetImage(data.currentImageName, fade: false);
                }
                else
                {
                    SetPose(parts, fade: false);
                }
            }
            else
            {
                ClearImage(fade: false);
            }
        }
    static int get_defaultMaterial(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Nova.MaterialPoolComponent obj = (Nova.MaterialPoolComponent)o;
            UnityEngine.Material       ret = obj.defaultMaterial;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index defaultMaterial on a nil value"));
        }
    }
    static int set_defaultMaterial(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Nova.MaterialPoolComponent obj  = (Nova.MaterialPoolComponent)o;
            UnityEngine.Material       arg0 = (UnityEngine.Material)ToLua.CheckObject <UnityEngine.Material>(L, 2);
            obj.defaultMaterial = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index defaultMaterial on a nil value"));
        }
    }
    static int get_factory(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Nova.MaterialPoolComponent obj = (Nova.MaterialPoolComponent)o;
            Nova.MaterialFactory       ret = obj.factory;
            ToLua.PushSealed(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index factory on a nil value"));
        }
    }
예제 #7
0
        private void Awake()
        {
            renderer = GetComponent <Renderer>();
            if (renderer == null)
            {
                var textureChanger = GetComponent <GameOverlayTextureChanger>();
                if (textureChanger != null)
                {
                    renderer = textureChanger.actualImageObject.GetComponent <Renderer>();
                }
            }

            image = GetComponent <Image>();

            // Create MaterialPoolComponent to keep an instance of DefaultMaterial
            MaterialPoolComponent.Ensure(gameObject);

            renderQueue = GetRenderQueue();
        }
예제 #8
0
        public void Restore(IRestoreData restoreData)
        {
            var data = restoreData as PostProcessingRestoreData;

            // Materials must be RestorableMaterial
            MaterialFactory factory = MaterialPoolComponent.Ensure(gameObject).factory;

            layers.Clear();
            foreach (var layerData in data.layersData)
            {
                var layer = new List <Material>();
                foreach (var materialRestoreData in layerData)
                {
                    var material = RestorableMaterial.RestoreMaterialFromData(materialRestoreData, factory);
                    layer.Add(material);
                }

                layers.Add(layer);
            }

            layersEnabledUntil = data.layersEnabledUntil;
        }