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(); } } }
void Start() { _portal = GetComponent <OcclusionPortal>(); _door = GetComponent <Door>(); if (_door != null) { _door.DoorClosed += () => _portal.open = false; _door.DoorRotating += OnDoorRotating; } }
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(); } }
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(); } }
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); }
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); }