public oBallStatic() { EditorPath = "Collisions"; ColliderCircle cr = new ColliderCircle(this); cr.Position = Position; cr.Radius = 64; cr.Name = "Main"; cr.GameObject = this; Colliders.Add(cr); box1 = new DarkCheckBox() { Text = "On", AutoSize = true }; box1.CheckStateChanged += box1event; box2 = new DarkCheckBox() { Text = "Off", AutoSize = true }; box2.CheckStateChanged += box2event; EditorProperties = new Control[3]; EditorProperties[0] = new DarkLabel() { Text = "Toggle particles", AutoSize = true }; EditorProperties[1] = box1; EditorProperties[2] = box2; }
public Object3() { Sprite.TextureSource = "texture"; EditorPath = "Colliders"; Mass = 32; for (int i = 0; i < 50; i++) { //springs.Add(new Spring()); } // Speed = random_range(0.5, 2); // Friction = 0.05; int index = irandom(50); //springs[index].Splash(10); endPos = new Vector2(irandom_range(-100, 100), irandom_range(-100, 100)); // This creates a new circle collider // setting some properties cc = new ColliderCircle(); cc.Radius = 64; cc.Name = "main"; cc.GameObject = this; // Add collider to the list of active colliders Colliders.Add(cc); EditorOptions = new[] { "I can have", "My own options", "Here" }; // This will trigger script "MyCollision" when our collider main collides with collider "main" of any "Object3" // last arg ensures that the check will be triggered on each frame without explicit ask for it RegisterCollider(cc, typeof(Object3), "main", typeof(ColliderRectangle), MyCollision, true); }
/// <summary> /// Add a collider to the entity. /// </summary> /// <param name="c"></param> public T AddCollider <T>(T c) where T : Collider { Colliders.Add(c); c.Entity = this; c.Added(); Scene?.AddColliderInternal(c); return(c); }
void Reset() { // default shape Colliders.Add(new VRM10SpringBoneCollider { ColliderType = VRM10SpringBoneColliderTypes.Capsule, Radius = 0.1f }); }
/// <summary> /// Adds a collider to the world if it doesn't already exist. /// </summary> /// <param name="_collider"></param> public void AddCollider(ABCollider _collider) { if (Colliders.Contains(_collider)) { Debug.LogWarning("Can't add duplicate collider!"); return; } Colliders.Add(_collider); }
public oPlayer() { Sprite.TextureSource = "elves2"; EditorPath = "Actors"; ImageSpeed = 0.01f; bodyCollider = new ColliderRectangle(this) { Collision = new RectangleF(16, 48, 32, 16), AttachToRoot = true, Name = "bodyCollider" }; Colliders.Add(bodyCollider); }
public oPlayer() { Sprite.TextureSource = "elves2"; EditorPath = "Colliders"; ImageSpeed = 0.01; Colliders.Add(new ColliderRectangle() { Collision = new RectangleF(16, 48, 32, 16) }); }
/// <summary> /// Add a collider to the entity. /// </summary> /// <param name="c"></param> public T AddCollider <T>(T c) where T : Collider { Colliders.Add(c); c.Entity = this; c.Added(); if (Scene != null) { Scene.AddColliderInternal(c); } return(c); }
public oBrick() { EditorPath = "Actors"; ColliderRectangle cr = new ColliderRectangle(this); cr.Name = "MainCollider"; cr.GameObject = this; cr.Collision = new RectangleF(0, 0, 64, 32); Colliders.Add(cr); }
/// <summary> /// Registers a Collider with the CollisionDetection system. /// </summary> /// <param name="collider">The Collider to be registered.</param> /// <typeparam name="T">The actual derived type of the Collider.</typeparam> public void Register(Collider collider) { if (collider.isStatic) { m_static.Add(collider); } else { m_dynamic.Add(collider); } }
public oGeorgeNew() { EditorPath = "Actors"; Sprite.TextureSource = "george"; bodyCollider = new ColliderRectangle(this); bodyCollider.Collision = new RectangleF(0, 0, 48, 48); bodyCollider.GameObject = this; bodyCollider.Name = "main"; Colliders.Add(bodyCollider); }
public oSolidMask() { EditorPath = "Solid"; Sprite.TextureSource = "texture"; Sprite.Texture = sprite_get("texture"); cr.Collision = new RectangleF(0, 0, 32, 32); cr.Name = "main"; cr.GameObject = this; cr = new ColliderRectangle(this); Colliders.Add(cr); }
public oGem() { EditorPath = "Actors"; ColliderRectangle cr = new ColliderRectangle(this); cr.Name = "MainCollider"; cr.GameObject = this; cr.Collision = new RectangleF(0, 0, 64, 32); // synth_speak_async("Hello World"); Sprite.TextureSource = "Gem"; Colliders.Add(cr); }
public override void EvtCreate() { ColliderCircle cr = new ColliderCircle(this); cr.Name = "MainCollider"; cr.GameObject = this; cr.Position = Position; cr.Radius = 32; Colliders.Add(cr); Direction = irandom(360); Speed = 8; }
public override void EvtCreate() { ColliderRectangle cr = new ColliderRectangle(this); cr.Name = "MainCollider"; cr.GameObject = this; cr.Collision = new RectangleF(0, 0, 128, 16); Colliders.Add(cr); MySurface = surface_create(640, 480); //point_in_rectangle_rotated() }
public HRender() { _colliders = new List <ICollider>(); ViewportWidth = 2; ViewportHeight = 1; ViewportDistance = 0.5; WidthIterations = 600; HeightIterations = 300; ICollider face = new HFaceCollider(new HPoint(0, 0, -20), new HPoint(20, 0, -20), new HPoint(0, 20, -20), HShaders.SimpleRedShader); ICollider face2 = new HFaceCollider(new HPoint(0, 0, -19), new HPoint(15, 0, -19), new HPoint(0, 15, -21), HShaders.SimpleBlackShader); Colliders.Add(face); Colliders.Add(face2); }
public override void CreateModel(CollisionModels customCollisionModels = null) { if (ActionObjectMetadata.ObjectModel == null || ActionObjectMetadata.ObjectModel.Type == IO.Swagger.Model.ObjectModel.TypeEnum.None) { Model = Instantiate(CubePrefab, Visual.transform); Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f); } else { switch (ActionObjectMetadata.ObjectModel.Type) { case IO.Swagger.Model.ObjectModel.TypeEnum.Box: Model = Instantiate(CubePrefab, Visual.transform); if (customCollisionModels == null) { Model.transform.localScale = TransformConvertor.ROSToUnityScale(new Vector3((float)ActionObjectMetadata.ObjectModel.Box.SizeX, (float)ActionObjectMetadata.ObjectModel.Box.SizeY, (float)ActionObjectMetadata.ObjectModel.Box.SizeZ)); } else { foreach (IO.Swagger.Model.Box box in customCollisionModels.Boxes) { if (box.Id == ActionObjectMetadata.Type) { Model.transform.localScale = TransformConvertor.ROSToUnityScale(new Vector3((float)box.SizeX, (float)box.SizeY, (float)box.SizeZ)); break; } } } break; case IO.Swagger.Model.ObjectModel.TypeEnum.Cylinder: Model = Instantiate(CylinderPrefab, Visual.transform); if (customCollisionModels == null) { Model.transform.localScale = new Vector3((float)ActionObjectMetadata.ObjectModel.Cylinder.Radius, (float)ActionObjectMetadata.ObjectModel.Cylinder.Height / 2, (float)ActionObjectMetadata.ObjectModel.Cylinder.Radius); } else { foreach (IO.Swagger.Model.Cylinder cylinder in customCollisionModels.Cylinders) { if (cylinder.Id == ActionObjectMetadata.Type) { Model.transform.localScale = new Vector3((float)cylinder.Radius, (float)cylinder.Height, (float)cylinder.Radius); break; } } } break; case IO.Swagger.Model.ObjectModel.TypeEnum.Sphere: Model = Instantiate(SpherePrefab, Visual.transform); if (customCollisionModels == null) { Model.transform.localScale = new Vector3((float)ActionObjectMetadata.ObjectModel.Sphere.Radius, (float)ActionObjectMetadata.ObjectModel.Sphere.Radius, (float)ActionObjectMetadata.ObjectModel.Sphere.Radius); } else { foreach (IO.Swagger.Model.Sphere sphere in customCollisionModels.Spheres) { if (sphere.Id == ActionObjectMetadata.Type) { Model.transform.localScale = new Vector3((float)sphere.Radius, (float)sphere.Radius, (float)sphere.Radius); break; } } } break; case ObjectModel.TypeEnum.Mesh: MeshImporter.Instance.OnMeshImported += OnModelLoaded; MeshImporter.Instance.LoadModel(ActionObjectMetadata.ObjectModel.Mesh, GetId()); Model = Instantiate(CubePrefab, Visual.transform); Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f); break; default: Model = Instantiate(CubePrefab, Visual.transform); Model.transform.localScale = new Vector3(0.05f, 0.01f, 0.05f); break; } } //if (IsRobot()) { // Model.tag = "Robot"; //} gameObject.GetComponent <BindParentToChild>().ChildToBind = Model; Collider = Model.GetComponent <Collider>(); Colliders.Add(Collider); Model.GetComponent <OnClickCollider>().Target = gameObject; outlineOnClick = gameObject.GetComponent <OutlineOnClick>(); aoRenderers.Clear(); aoRenderers.AddRange(Model.GetComponentsInChildren <Renderer>(true)); outlineOnClick.InitRenderers(aoRenderers); }
private void InstantiateDoppleganger(Transform currentLevel) { Transform other = SKSGeneralUtils.FindAnalogousTransform(currentLevel, Doppleganger.transform, root, true); if (currentLevel.tag.Equals("MainCamera")) { currentLevel.tag = "Untagged"; } currentLevel.gameObject.name = currentLevel.gameObject.name; foreach (Component component in currentLevel.GetComponents <Component>()) { if (component is Teleportable) { component.SafeDestroyComponent(); } //Copies Transforms for later updating else if (component is Transform) { if (other) { if (!Transforms.ContainsKey(other)) { Transforms.Add(other, (Transform)component); } } else { Destroy(currentLevel.gameObject); break; } } else if (component is Renderer) { if (component is SkinnedMeshRenderer) { SkinnedRenderers.Add(component as SkinnedMeshRenderer); } if (component is Renderer) { if (!Renderers.ContainsKey((Renderer)component)) { Renderers[other.GetComponent <Renderer>()] = (Renderer)component; } //Adds colliders to list for collision ignoring upon Portal entry } } else if (component is Collider) { if (!component.GetComponent <TeleportablePhysExclude>()) { Collider c = other.GetComponent <Collider>(); if (!Colliders.ContainsKey(c.GetInstanceID())) { Colliders.Add(c.GetInstanceID(), c); } else { //Fix for VRTK double-genning body colliders for no reason currentLevel.gameObject.transform.SetParent(null); c.enabled = false; Colliders[c.GetInstanceID()].enabled = false; c.isTrigger = true; Colliders[c.GetInstanceID()].isTrigger = true; DestroyImmediate(Colliders[c.GetInstanceID()].gameObject); DestroyImmediate(currentLevel.gameObject); return; } } if (StripColliders && component) { component.SafeDestroyComponent(); } } else if (component is Rigidbody) { if (StripRigidbodies) { component.SafeDestroyComponent(); } } else if (component is Joint) { if (StripJoints) { component.SafeDestroyComponent(); } } else if (component is MonoBehaviour) { //Handling of teleportable scripts if (component is TeleportableScript) { TeleportableScripts.Add(other.GetComponent <TeleportableScript>()); } if (!StripScripts) { if (component != null) { ((MonoBehaviour)component).enabled = true; } } else { component.SafeDestroyComponent(); } //Nonspecific setup copying } else if (component is MeshFilter || component is ParticleSystem || component is Light) { //nothin to do } else { component.SafeDestroyComponent(); } } if (other) { currentLevel.gameObject.SetActive(other.gameObject.activeSelf); } foreach (Transform t in currentLevel) { InstantiateDoppleganger(t); } }
protected override void OnAdded() { Colliders.Add(this, Bounds); Transform.Changed += Transform_Changed; }