Exemple #1
0
        protected virtual void OnSceneGUI()
        {
            if (EditMode.editMode != EditMode.SceneViewEditMode.Collider || !EditMode.IsOwner(this) || !target)
            {
                return;
            }

            OcclusionPortal portal = target as OcclusionPortal;

            // this.serializedObject will not work within OnSceneGUI if multiple targets are selected
            SerializedObject so = new SerializedObject(portal);

            so.Update();

            using (new Handles.DrawingScope(portal.transform.localToWorldMatrix))
            {
                SerializedProperty centerProperty = so.FindProperty(k_CenterPath);
                SerializedProperty sizeProperty   = so.FindProperty(k_SizePath);
                m_BoundsHandle.center = centerProperty.vector3Value;
                m_BoundsHandle.size   = sizeProperty.vector3Value;

                EditorGUI.BeginChangeCheck();
                m_BoundsHandle.DrawHandle();
                if (EditorGUI.EndChangeCheck())
                {
                    centerProperty.vector3Value = m_BoundsHandle.center;
                    sizeProperty.vector3Value   = m_BoundsHandle.size;
                    so.ApplyModifiedProperties();
                }
            }
        }
Exemple #2
0
 void Start()
 {
     _portal = GetComponent <OcclusionPortal>();
     _door   = GetComponent <Door>();
     if (_door != null)
     {
         _door.DoorClosed   += () => _portal.open = false;
         _door.DoorRotating += OnDoorRotating;
     }
 }
Exemple #3
0
        private void OnSceneGUI()
        {
            OcclusionPortal occlusionPortal       = base.target as OcclusionPortal;
            Vector3         vector3Value          = this.m_Center.vector3Value;
            Vector3         vector3Value2         = this.m_Size.vector3Value;
            Color           s_ColliderHandleColor = Handles.s_ColliderHandleColor;

            if (this.m_BoxEditor.OnSceneGUI(occlusionPortal.transform, s_ColliderHandleColor, ref vector3Value, ref vector3Value2))
            {
                this.m_Center.vector3Value = vector3Value;
                this.m_Size.vector3Value   = vector3Value2;
                this.m_Object.ApplyModifiedProperties();
            }
        }
Exemple #4
0
        private void OnSceneGUI()
        {
            OcclusionPortal target = base.target as OcclusionPortal;
            Vector3         center = this.m_Center.vector3Value;
            Vector3         size   = this.m_Size.vector3Value;
            Color           color  = Handles.s_ColliderHandleColor;

            if (this.m_BoxEditor.OnSceneGUI(target.transform, color, ref center, ref size))
            {
                this.m_Center.vector3Value = center;
                this.m_Size.vector3Value   = size;
                this.m_Object.ApplyModifiedProperties();
            }
        }
Exemple #5
0
        private void OnSceneGUI()
        {
            OcclusionPortal target              = this.target as OcclusionPortal;
            Vector3         vector3Value1       = this.m_Center.vector3Value;
            Vector3         vector3Value2       = this.m_Size.vector3Value;
            Color           colliderHandleColor = Handles.s_ColliderHandleColor;

            if (!this.m_BoxEditor.OnSceneGUI(target.transform, colliderHandleColor, ref vector3Value1, ref vector3Value2))
            {
                return;
            }
            this.m_Center.vector3Value = vector3Value1;
            this.m_Size.vector3Value   = vector3Value2;
            this.m_Object.ApplyModifiedProperties();
        }
    static int _CreateOcclusionPortal(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 0)
        {
            OcclusionPortal obj = new OcclusionPortal();
            LuaScriptMgr.Push(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: OcclusionPortal.New");
        }

        return(0);
    }
    public static int get_open(IntPtr l)
    {
        int result;

        try
        {
            OcclusionPortal occlusionPortal = (OcclusionPortal)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, occlusionPortal.open);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_open(IntPtr l)
    {
        int result;

        try
        {
            OcclusionPortal occlusionPortal = (OcclusionPortal)LuaObject.checkSelf(l);
            bool            open;
            LuaObject.checkType(l, 2, out open);
            occlusionPortal.open = open;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    static int set_open(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name open");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index open on a nil value");
            }
        }

        OcclusionPortal obj = (OcclusionPortal)o;

        obj.open = LuaScriptMgr.GetBoolean(L, 3);
        return(0);
    }
Exemple #10
0
 protected virtual void OnSceneGUI()
 {
     if (EditMode.editMode == EditMode.SceneViewEditMode.Collider && EditMode.IsOwner(this))
     {
         OcclusionPortal  occlusionPortal  = base.target as OcclusionPortal;
         SerializedObject serializedObject = new SerializedObject(occlusionPortal);
         serializedObject.Update();
         using (new Handles.DrawingScope(occlusionPortal.transform.localToWorldMatrix))
         {
             SerializedProperty serializedProperty  = serializedObject.FindProperty(this.m_Center.propertyPath);
             SerializedProperty serializedProperty2 = serializedObject.FindProperty(this.m_Size.propertyPath);
             this.m_BoundsHandle.center = serializedProperty.vector3Value;
             this.m_BoundsHandle.size   = serializedProperty2.vector3Value;
             EditorGUI.BeginChangeCheck();
             this.m_BoundsHandle.DrawHandle();
             if (EditorGUI.EndChangeCheck())
             {
                 serializedProperty.vector3Value  = this.m_BoundsHandle.center;
                 serializedProperty2.vector3Value = this.m_BoundsHandle.size;
                 serializedObject.ApplyModifiedProperties();
             }
         }
     }
 }
 protected void Awake()
 {
     portal = GetComponent <OcclusionPortal> ();
 }
        private static Object ReadAsset(AssetStream stream, AssetInfo assetInfo, long offset, int size)
        {
            Object asset;

            switch (assetInfo.ClassID)
            {
            case ClassIDType.GameObject:
                asset = new GameObject(assetInfo);
                break;

            case ClassIDType.Transform:
                asset = new Transform(assetInfo);
                break;

            case ClassIDType.Camera:
                asset = new Camera(assetInfo);
                break;

            case ClassIDType.Material:
                asset = new Material(assetInfo);
                break;

            case ClassIDType.MeshRenderer:
                asset = new MeshRenderer(assetInfo);
                break;

            case ClassIDType.Texture2D:
                asset = new Texture2D(assetInfo);
                break;

            case ClassIDType.SceneSettings:
                asset = new OcclusionCullingSettings(assetInfo);
                break;

            case ClassIDType.MeshFilter:
                asset = new MeshFilter(assetInfo);
                break;

            case ClassIDType.OcclusionPortal:
                asset = new OcclusionPortal(assetInfo);
                break;

            case ClassIDType.Mesh:
                asset = new Mesh(assetInfo);
                break;

            case ClassIDType.Shader:
                asset = new Shader(assetInfo);
                break;

            case ClassIDType.TextAsset:
                asset = new TextAsset(assetInfo);
                break;

            case ClassIDType.Rigidbody2D:
                asset = new Rigidbody2D(assetInfo);
                break;

            case ClassIDType.Rigidbody:
                asset = new Rigidbody(assetInfo);
                break;

            case ClassIDType.CircleCollider2D:
                asset = new CircleCollider2D(assetInfo);
                break;

            case ClassIDType.PolygonCollider2D:
                asset = new PolygonCollider2D(assetInfo);
                break;

            case ClassIDType.BoxCollider2D:
                asset = new BoxCollider2D(assetInfo);
                break;

            case ClassIDType.PhysicsMaterial2D:
                asset = new PhysicsMaterial2D(assetInfo);
                break;

            case ClassIDType.MeshCollider:
                asset = new MeshCollider(assetInfo);
                break;

            case ClassIDType.BoxCollider:
                asset = new BoxCollider(assetInfo);
                break;

            case ClassIDType.SpriteCollider2D:
                asset = new CompositeCollider2D(assetInfo);
                break;

            case ClassIDType.EdgeCollider2D:
                asset = new EdgeCollider2D(assetInfo);
                break;

            case ClassIDType.CapsuleCollider2D:
                asset = new CapsuleCollider2D(assetInfo);
                break;

            case ClassIDType.AnimationClip:
                asset = new AnimationClip(assetInfo);
                break;

            case ClassIDType.AudioListener:
                asset = new AudioListener(assetInfo);
                break;

            case ClassIDType.AudioSource:
                asset = new AudioSource(assetInfo);
                break;

            case ClassIDType.AudioClip:
                asset = new AudioClip(assetInfo);
                break;

            case ClassIDType.RenderTexture:
                asset = new RenderTexture(assetInfo);
                break;

            case ClassIDType.Cubemap:
                asset = new Cubemap(assetInfo);
                break;

            case ClassIDType.Avatar:
                asset = new Avatar(assetInfo);
                break;

            case ClassIDType.AnimatorController:
                asset = new AnimatorController(assetInfo);
                break;

            case ClassIDType.GUILayer:
                asset = new GUILayer(assetInfo);
                break;

            case ClassIDType.Animator:
                asset = new Animator(assetInfo);
                break;

            case ClassIDType.RenderSettings:
                asset = new RenderSettings(assetInfo);
                break;

            case ClassIDType.Light:
                asset = new Light(assetInfo);
                break;

            case ClassIDType.Animation:
                asset = new Animation(assetInfo);
                break;

            case ClassIDType.MonoScript:
                asset = new MonoScript(assetInfo);
                break;

            case ClassIDType.NewAnimationTrack:
                asset = new NewAnimationTrack(assetInfo);
                break;

            case ClassIDType.FlareLayer:
                asset = new FlareLayer(assetInfo);
                break;

            case ClassIDType.Font:
                asset = new Font(assetInfo);
                break;

            case ClassIDType.PhysicMaterial:
                asset = new PhysicMaterial(assetInfo);
                break;

            case ClassIDType.SphereCollider:
                asset = new SphereCollider(assetInfo);
                break;

            case ClassIDType.CapsuleCollider:
                asset = new CapsuleCollider(assetInfo);
                break;

            case ClassIDType.SkinnedMeshRenderer:
                asset = new SkinnedMeshRenderer(assetInfo);
                break;

            case ClassIDType.BuildSettings:
                asset = new BuildSettings(assetInfo);
                break;

            case ClassIDType.AssetBundle:
                asset = new AssetBundle(assetInfo);
                break;

            case ClassIDType.WheelCollider:
                asset = new WheelCollider(assetInfo);
                break;

            case ClassIDType.MovieTexture:
                asset = new MovieTexture(assetInfo);
                break;

            case ClassIDType.TerrainCollider:
                asset = new TerrainCollider(assetInfo);
                break;

            case ClassIDType.TerrainData:
                asset = new TerrainData(assetInfo);
                break;

            case ClassIDType.LightmapSettings:
                asset = new LightmapSettings(assetInfo);
                break;

            case ClassIDType.OcclusionArea:
                asset = new OcclusionArea(assetInfo);
                break;

            case ClassIDType.NavMeshSettings:
                asset = new NavMeshSettings(assetInfo);
                break;

            case ClassIDType.ParticleSystem:
                asset = new ParticleSystem(assetInfo);
                break;

            case ClassIDType.ParticleSystemRenderer:
                asset = new ParticleSystemRenderer(assetInfo);
                break;

            case ClassIDType.SpriteRenderer:
                asset = new SpriteRenderer(assetInfo);
                break;

            case ClassIDType.Sprite:
                asset = new Sprite(assetInfo);
                break;

            case ClassIDType.Terrain:
                asset = new Terrain(assetInfo);
                break;

            case ClassIDType.AnimatorOverrideController:
                asset = new AnimatorOverrideController(assetInfo);
                break;

            case ClassIDType.CanvasRenderer:
                asset = new CanvasRenderer(assetInfo);
                break;

            case ClassIDType.Canvas:
                asset = new Canvas(assetInfo);
                break;

            case ClassIDType.RectTransform:
                asset = new RectTransform(assetInfo);
                break;

            case ClassIDType.NavMeshData:
                asset = new NavMeshData(assetInfo);
                break;

            case ClassIDType.OcclusionCullingData:
                asset = new OcclusionCullingData(assetInfo);
                break;

            case ClassIDType.SceneAsset:
                asset = new SceneAsset(assetInfo);
                break;

            case ClassIDType.LightmapParameters:
                asset = new LightmapParameters(assetInfo);
                break;

            case ClassIDType.SpriteAtlas:
                asset = new SpriteAtlas(assetInfo);
                break;

            default:
                return(null);
            }

            stream.BaseStream.Position = offset;
            if (Config.IsGenerateGUIDByContent)
            {
                byte[] data = stream.ReadBytes(size);
                asset.Read(data);

                using (MD5 md5 = MD5.Create())
                {
                    byte[] md5Hash = md5.ComputeHash(data);
                    assetInfo.GUID = new UtinyGUID(md5Hash);
                }
            }
            else
            {
                stream.AlignPosition = offset;
                asset.Read(stream);
                long read = stream.BaseStream.Position - offset;
                if (read != size)
                {
                    throw new Exception($"Read {read} but expected {size} for object {asset.GetType().Name}");
                }
            }
            return(asset);
        }