public override void Start() { _earth = SceneEntity.FindSceneEntity("Earth"); transform.LocalPosition = _earth.transform.GlobalPosition; // _moonPos = SceneEntity.FindSceneEntity("Moon").transform; }
/// <summary> /// Defines the closest obstacle /// </summary> public void DetectClosestObstacle() { float closestObstacleDistance = float.MaxValue; _closestObstacle = null; var localAgentMatrix = Matrix.Invert(AutonomousAgent.ParentObject.World); foreach (SceneEntity obstacle in Context.Keys) { Vector3 localPos = Vector3.Transform(obstacle.World.Translation, localAgentMatrix); if (UseLineOfSight) { if (localPos.Z > 0f) continue; } float expandedRadius = obstacle.WorldBoundingSphere.Radius + AutonomousAgent.ParentObject.WorldBoundingSphere.Radius - AllowedPenetration; var ray = new Ray(Vector3.Zero, Vector3.Forward); float? result = ray.Intersects(new BoundingSphere(localPos, expandedRadius)); if (result.HasValue && result.Value < closestObstacleDistance) { closestObstacleDistance = result.Value; _closestObstacle = obstacle; _closestObstacleLocalPosition = localPos; } } }
/// <summary> /// Visits the specified <see cref="SceneEntity"/> to check it's name and set _searchresult as reference if the name matches. /// </summary> /// <param name="sceneEntity">The scene entity.</param> public override void Visit(SceneEntity sceneEntity) { if (sceneEntity.name == _name) { _searchresult = sceneEntity; } }
/// <summary> /// Initializes a new instance of the <see cref="Camera"/> class. The SceneEntity will be set to apply its transformation to the Camera Component. /// </summary> /// <param name="owner">The SceneEntity where the Camera Component is attached to.</param> public Camera(SceneEntity owner) { ViewMatrix = owner.transform.GlobalMatrix; ProjectionType(proj); owner.AddComponent(this); SceneEntity = owner; }
public SceneEntityViewModel(MainWindow wnd, SceneEntity entity, bool is_expanded) { wnd_ = wnd; entity_ = entity; is_expanded_ = is_expanded; foreach (var child in entity_.Children) { children_.Add(new SceneEntityViewModel(wnd, child, false)); } }
public override void Init() { SceneManager.RC = RC; var stativ = new SceneEntity("stativ", new ActionCode()); var dir = new DirectionalLight(new float3(0, 10, -1), new float4(1, 1, 1, 1), new float4(1, 1, 1, 1), new float4(1, 1, 1, 1), new float3(0, 0, 0), 0); stativ.AddComponent(dir); _camera = new Camera(stativ); stativ.transform.GlobalPosition = new float3(0, 0, 100); SceneManager.Manager.AddSceneEntity(stativ); _camera.Resize(Width, Height); Geometry wuerfelGeo = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/Sphere.obj.model")); _wuerfel = new SceneEntity("wuerfel", new Material(MoreShaders.GetSpecularShader(RC)), new Renderer(wuerfelGeo)); SceneManager.Manager.AddSceneEntity(_wuerfel); _channel2 = new Channel<float3>(Lerp.Float3Lerp); _channel1 = new Channel<float4>(Lerp.Float4Lerp, new float4(0.5f, 0.5f, 0.5f, 0.5f)); var key0 = new Keyframe<float4>(0, new float4(1, 0, 1, 1)); var key1 = new Keyframe<float4>(2, new float4(0.125f, 1, 0.125f, 1)); var key2 = new Keyframe<float4>(4, new float4(0.250f, 0.75f, 0.250f, 1)); var key3 = new Keyframe<float4>(6, new float4(0.5f, 0.5f, 0.5f, 1)); var key4 = new Keyframe<float4>(8, new float4(0.75f, 0.25f, 0.75f, 1)); var key5 = new Keyframe<float4>(10, new float4(1, 25, 0.125f, 1)); var key6 = new Keyframe<float4>(0, new float4(0, 1, 0, 1)); _channel1.AddKeyframe(key0); _channel1.AddKeyframe(key1); _channel1.AddKeyframe(key2); _channel1.AddKeyframe(key3); _channel1.AddKeyframe(key4); _channel1.AddKeyframe(key5); _channel1.AddKeyframe(key6); var key40 = new Keyframe<float3>(8, new float3(8, 0, 80)); var key00 = new Keyframe<float3>(0, new float3(0, 0, 0)); var key10 = new Keyframe<float3>(2, new float3(1, 2, 20)); var key20 = new Keyframe<float3>(4, new float3(2, 4, 40)); var key30 = new Keyframe<float3>(6, new float3(4, 4, 60)); var key50 = new Keyframe<float3>(12, new float3(0, 4, 60)); var key60 = new Keyframe<float3>(0, new float3(8, 8, 8)); _channel2.AddKeyframe(key00); _channel2.AddKeyframe(key10); _channel2.AddKeyframe(key20); _channel2.AddKeyframe(key30); _channel2.AddKeyframe(key40); _channel2.AddKeyframe(key50); _channel2.AddKeyframe(key60); _myAnim.AddAnimation(_channel1, RC, "ClearColor"); _myAnim.AddAnimation(_channel2, _wuerfel, "transform.GlobalPosition"); }
public static AttackCalcResult AttackCalc(SceneEntity fromEntity, SceneEntity targetEntity, bool doAttack = true) { AttackCalcResult result = new AttackCalcResult(); AttrComp fromAttrComp = fromEntity.GetComp<AttrComp>(); AttrComp targetAttrComp = targetEntity.GetComp<AttrComp>(); // 计算护甲减伤,公式为: // 1 - (Def * ARMOR_COEF) / (1 + Def * ARMOR_COEF) double defValue = targetAttrComp.Def * DEF_COEF; double damageRate = 1 - defValue / (1 + defValue); // 计算总伤害 double damage = fromAttrComp.Atk * damageRate; // 按照伤害类型的数量平分伤害 List<DamageType> atkTypes = fromAttrComp.AtkTypes; int numAtkTypes = atkTypes.Count; damage /= numAtkTypes; for (int i = 0; i < numAtkTypes; ++i) { DamageType atkType = atkTypes[i]; result.Damages[(int)atkType] = damage; } // 1. 计算伤害加成和免伤 // 2. 按攻击类型和护甲类型调整伤害值 DamageType defType = targetAttrComp.DefType; int numDamageTypes = (int)DamageType.Total; for (int i = 0; i < numDamageTypes; ++i) { DamageType atkType = (DamageType)i; double singleDamage = result.Damages[i]; // 百分比伤害加成减免 singleDamage *= 1 + fromAttrComp.GetDamageAddRate(atkType) + fromAttrComp.DamageAddRate + targetAttrComp.BeDamageAddRate; // 伤害附加 singleDamage += fromAttrComp.GetDamageAdd(atkType); // 属性相克伤害加成 singleDamage *= DamageTypeSetting.GetDamageFactor(atkType, defType); result.Damages[i] = singleDamage; } if (doAttack) DoAttack(fromEntity, targetEntity, result); return result; }
/// <summary> /// Initializes a new instance of the <see cref="Transformation" /> class. Sets a SceneEntity for Transform. /// This is the recommended Constructor. /// </summary> /// <param name="entity">The SceneEntity that will be set in Transform.</param> public Transformation(SceneEntity entity) { if (entity.parent == null) { _hasParent = false; } else { _hasParent = true; } SceneEntity = entity; _transformMatrix = float4x4.Identity; _globalMatrix = _transformMatrix; _quaternion = Quaternion.Identity; _globalQuaternion = Quaternion.Identity; _globalScale = new float3(1,1,1); _localScale = new float3(1, 1, 1); // _entity = entity; _matrixDirty = false; _quaternionDirty = false; _eulerDirty = false; }
public void AddEntity(SceneEntity entity) { if (!SceneEntities.Contains(entity)) { SceneEntities.Add(entity); if (entity is TowerEntity) TowerEntities.Add(entity); } }
public ActionIdle(SceneEntity hero) : base("ActionIdle", hero) { actionType = ACTION_TYPE.IDLE; }
public Matrix4 ApplyGeometricTransformations(RenderingContext rc, ComposedShader shader, SceneGraphNode context) { RefreshDefaultUniforms(shader); //RefreshMaterialUniforms(); if (shader.IsTessellator) { RefreshTessUniforms(shader); } Matrix4 view = Matrix4.LookAt(new Vector3(4, 3, 3), // Camera is at (4,3,3), in World Space new Vector3(0, 0, 0), // and looks at the origin new Vector3(0, 1, 0) // Head is up (set to 0,-1,0 to look upside-down) ); Matrix4 model; // applied transformation hierarchy SceneGraphNode transform_context = context == null ? this : context; List <Transform> transformationHierarchy = transform_context .AscendantByType <Transform>() .Select(t => (Transform)t) .Where(t => t.Hidden == false) .ToList(); Matrix4 modelview = Matrix4.Identity;// * rc.matricies.worldview; // using Def_Use/Figure02.1Hut.x3d Cone and Cylinder Vector3 x3dScale = new Vector3(0.06f, 0.06f, 0.06f); // scaling down to conform with X3D standard (note this was done manually and might need tweaking) //x3dScale = Vector3.One; Quaternion modelrotation = Quaternion.Identity; Matrix4 modelLocalRotation = Matrix4.Identity; //if (rc.cam.OrbitLocalOrientation != Vector2.Zero) //{ // // Center of Rotation based on center of bounding box // Quaternion qLocal = QuaternionExtensions.EulerToQuat(0, -rc.cam.OrbitLocalOrientation.X, -rc.cam.OrbitLocalOrientation.Y); // Quaternion qAdjust = QuaternionExtensions.EulerToQuat(MathHelpers.PIOver2, 0.0f, 0.0f); // Matrix4 mat4CenterOfRotation = Matrix4.CreateTranslation(centerOfRotation); // Matrix4 origin = Matrix4.CreateTranslation(new Vector3(0, 0, 0)); // modelLocalRotation = mat4CenterOfRotation * Matrix4.CreateFromQuaternion(qLocal) * Matrix4.CreateFromQuaternion(qAdjust); //} //const float bbscale = 0.0329999961f; Vector3 centerOffset = Vector3.Zero; foreach (Transform transform in transformationHierarchy) { modelview = SceneEntity.ApplyX3DTransform(centerOffset, Vector3.Zero, transform.Scale, Vector3.Zero, transform.Translation, // * x3dScale, modelview); //modelview *= Matrix4.CreateTranslation(transform.Translation * x3dScale); //modelrotation = new Quaternion(transform.Rotation.X, transform.Rotation.Y, transform.Rotation.Z, transform.Rotation.W); //modelrotations *= Matrix4.CreateFromQuaternion(modelrotation); //modelrotations *= MathHelpers.CreateRotation(ref modelrotation); } //Vector3 center = modelview.ExtractTranslation(); //Vector3 centerOffsetVector = center + (bbox.Maximum - bbox.Minimum); //Matrix4 centerOffset = Matrix4.CreateTranslation(centerOffsetVector); model = modelview; Matrix4 cameraTransl = Matrix4.CreateTranslation(rc.cam.Position); Quaternion q = rc.cam.Orientation; Matrix4 cameraRot; cameraRot = Matrix4.CreateFromQuaternion(q); // cameraRot = MathHelpers.CreateRotation(ref q); Matrix4 MVP = ((modelLocalRotation * model) * cameraTransl) * cameraRot; // position and orient the Shape relative to the world and camera //shader.SetFieldValue("size", new Vector3(bbox.Width, bbox.Height, bbox.Depth) * bbscale); shader.SetFieldValue("modelview", ref MVP); //GL.UniformMatrix4(uniformModelview, false, ref rc.matricies.modelview); shader.SetFieldValue("projection", ref rc.matricies.projection); shader.SetFieldValue("camscale", rc.cam.Scale.X); //GL.Uniform1(uniformCameraScale, rc.cam.Scale.X); shader.SetFieldValue("X3DScale", rc.matricies.Scale); //GL.Uniform3(uniformX3DScale, rc.matricies.Scale); shader.SetFieldValue("coloringEnabled", this.coloring ? 1 : 0); //GL.Uniform1(uniforms.a_coloringEnabled, 0); shader.SetFieldValue("texturingEnabled", this.texturingEnabled ? 1 : 0); //GL.Uniform1(uniforms.a_texturingEnabled, this.texturingEnabled ? 1 : 0); shader.SetFieldValue("lightingEnabled", 1); if (shader.IsBuiltIn == false) { shader.ApplyFieldsAsUniforms(rc); } return(MVP); }
/// <summary> /// 更新SceneEntity所属的MapCell信息 /// </summary> public void UpdateSceneEntityCell(SceneEntity sceneEntity) { if (sceneEntity.Cell != null) sceneEntity.Cell.RemoveEntity(sceneEntity); MapCell cell = GetCell(sceneEntity.Location); if (cell != null) cell.AddEntity(sceneEntity); sceneEntity.Cell = cell; }
public ActionByAnim(SceneEntity hero) : base("ActionSelfSkill", hero) { }
public override void Init() { SceneManager.RC = RC; // Light var direct = new DirectionalLight(new float3(1, 1, 1), new float4(0.7f, 0.7f, 0.7f, 1), new float4(1f, 1f, 1f, 1), new float4(0.9f, 0.9f, 0.9f, 1), new float3(0, 0, 0), 0); // Load Meshes var planetMesh = MeshReader.LoadMesh(@"Assets/Sphere.obj.model"); var spaceBoxMesh = MeshReader.LoadMesh(@"Assets/spacebox.obj.model"); // Setup Empty Objects _earthSpeed = new float3(0, 0.69635f, 0); var emptyMoon = new SceneEntity("emptyPlanetHolder", new MoonAction(_earthSpeed*5.0f)); var emptyMercury = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*4.1477f)); var emptyVenus = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*1.6150f)); var emptyEarth = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed)); var emptyMars = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*0.5320f)); var emptyJupiter = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*0.0833f)); var emptySaturn = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*0.03476f)); var emptyUranus = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*0.0119f)); var emptyNeptun = new SceneEntity("emptyPlanetHolder", new PlanetAction(_earthSpeed*0.0062f)); SceneManager.Manager.AddSceneEntity(emptyMoon); SceneManager.Manager.AddSceneEntity(emptyMercury); SceneManager.Manager.AddSceneEntity(emptyVenus); SceneManager.Manager.AddSceneEntity(emptyEarth); SceneManager.Manager.AddSceneEntity(emptyMars); SceneManager.Manager.AddSceneEntity(emptyJupiter); SceneManager.Manager.AddSceneEntity(emptySaturn); SceneManager.Manager.AddSceneEntity(emptyUranus); SceneManager.Manager.AddSceneEntity(emptyNeptun); // Scene Camera var worldOrigin = new SceneEntity("WorldOrigin", new RotationScript()); SceneManager.Manager.AddSceneEntity(worldOrigin); var cameraholder = new SceneEntity("CameraOwner", new CameraScript(), worldOrigin); cameraholder.transform.GlobalPosition = new float3(0, 0, -10); _sceneCamera = new Camera(cameraholder); _sceneCamera.Resize(Width, Height); // Setup Space Box var spaceBox = new SceneEntity("Spacebox", new PlanetMaterial(MoreShaders.GetTextureShader(RC), "Assets/spaceboxTexture.png"), new Renderer(spaceBoxMesh)); SceneManager.Manager.AddSceneEntity(spaceBox); // Setup Sun var planet = new SceneEntity("Sun", new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/sun.jpg"), new Renderer(planetMesh)); planet.transform.LocalScale = new float3(2, 2, 2); SceneManager.Manager.AddSceneEntity(planet); // Setup Earth planet = new SceneEntity("Earth", new PlanetAction(new float3(0, 0.69635f*365, 0)), emptyEarth, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/earth.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(2.9f, 0, 0); planet.transform.GlobalScale = new float3(0.1f, 0.1f, 0.1f); planet.AddComponent(direct); // Setup Moon planet = new SceneEntity("Moon", new PlanetAction(new float3(0, 2.7f, 0)), emptyMoon, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/moon.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(0.5f, 0, 0); planet.transform.GlobalScale = new float3(0.05f, 0.05f, 0.05f); // Setup Mercury planet = new SceneEntity("Mercury", new PlanetAction(_earthSpeed*6.2234f), emptyMercury, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/merkur.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(2.35f, 0, 0); planet.transform.GlobalScale = new float3(0.05f, 0.05f, 0.05f); // Setup Venus planet = new SceneEntity("Venus", new PlanetAction(_earthSpeed*1.5021f), emptyVenus, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/venus.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(2.6f, 0, 0); planet.transform.GlobalScale = new float3(0.08f, 0.08f, 0.08f); // Setup Mars planet = new SceneEntity("Mars", new PlanetAction(_earthSpeed*374.125f), emptyMars, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/mars.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(3.25f, 0, 0); planet.transform.GlobalScale = new float3(0.07f, 0.07f, 0.07f); // Setup Jupiter planet = new SceneEntity("Jupiter", new PlanetAction(_earthSpeed*882.62f), emptyJupiter, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/jupiter.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(4, 0, 0); planet.transform.GlobalScale = new float3(0.4f, 0.4f, 0.4f); // Setup Saturn planet = new SceneEntity("Saturn", new PlanetAction(_earthSpeed*820.61f), emptySaturn, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/saturn.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(5, 0, 0); planet.transform.GlobalScale = new float3(0.3f, 0.3f, 0.3f); // Setup Uranus planet = new SceneEntity("Uranus", new PlanetAction(_earthSpeed*509.30f), emptyUranus, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/uranus.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(6, 0, 0); planet.transform.GlobalScale = new float3(0.12f, 0.12f, 0.12f); // Setup Neptun planet = new SceneEntity("Neptun", new PlanetAction(_earthSpeed*544.10f), emptyNeptun, new PlanetMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/neptune.jpg"), new Renderer(planetMesh)); planet.transform.GlobalPosition = new float3(7, 0, 0); planet.transform.GlobalScale = new float3(0.14f, 0.14f, 0.14f); SceneManager.Manager.StartActionCode(); // Random Rotations emptyEarth.transform.LocalEulerAngles = new float3(0, 45, 0); emptyMercury.transform.LocalEulerAngles = new float3(0, 55, 0); emptyVenus.transform.LocalEulerAngles = new float3(0, 335, 0); emptyMars.transform.LocalEulerAngles = new float3(0, 125, 0); emptyJupiter.transform.LocalEulerAngles = new float3(0, 65, 0); emptySaturn.transform.LocalEulerAngles = new float3(0, 95, 0); emptyUranus.transform.LocalEulerAngles = new float3(0, 145, 0); emptyNeptun.transform.LocalEulerAngles = new float3(0, 245, 0); RC.ClearColor = new float4(1, 0, 0, 1); }
public ControlBase(SceneEntity entity) { m_entity = entity; }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { //int type = (int)entity.attributesMap["type"].ValueUInt8; int direction = (int)entity.attributesMap["direction"].ValueUInt8; bool fliph = false; bool flipv = false; int flipState = 0; if (direction == 1) { fliph = true; flipState = 3; } else { fliph = false; flipState = 2; } var editorAnim = e.LoadAnimation2("Clapperboard", d, 0, 0, fliph, flipv, false); var editorAnim2 = e.LoadAnimation2("Clapperboard", d, 0, 1, fliph, flipv, false); var editorAnim3 = e.LoadAnimation2("Clapperboard", d, 0, flipState, false, false, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && editorAnim2 != null && editorAnim2.Frames.Count != 0 && editorAnim3 != null && editorAnim3.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; var frame2 = editorAnim2.Frames[e.index]; var frame3 = editorAnim3.Frames[e.index]; //ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); if (direction == 1) { d.DrawBitmap(frame.Texture, x - 104 + frame.Frame.CenterX - (fliph ? (frame.Frame.Width - editorAnim.Frames[0].Frame.Width) : 0), y + frame.Frame.CenterY + (flipv ? (frame.Frame.Height - editorAnim.Frames[0].Frame.Height) : 0), frame.Frame.Width, frame.Frame.Height, false, Transparency); d.DrawBitmap(frame2.Texture, x - 104 + frame2.Frame.CenterX - (fliph ? (frame2.Frame.Width - editorAnim2.Frames[0].Frame.Width) : 0), y + frame2.Frame.CenterY + (flipv ? (frame2.Frame.Height - editorAnim2.Frames[0].Frame.Height) : 0), frame2.Frame.Width, frame2.Frame.Height, false, Transparency); d.DrawBitmap(frame3.Texture, x + frame3.Frame.CenterX - (fliph ? (frame3.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y + frame3.Frame.CenterY + (flipv ? (frame3.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame3.Frame.Width, frame3.Frame.Height, false, Transparency); } else { d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX - (fliph ? (frame.Frame.Width - editorAnim.Frames[0].Frame.Width) : 0), y + frame.Frame.CenterY + (flipv ? (frame.Frame.Height - editorAnim.Frames[0].Frame.Height) : 0), frame.Frame.Width, frame.Frame.Height, false, Transparency); d.DrawBitmap(frame2.Texture, x + frame2.Frame.CenterX - (fliph ? (frame2.Frame.Width - editorAnim2.Frames[0].Frame.Width) : 0), y + frame2.Frame.CenterY + (flipv ? (frame2.Frame.Height - editorAnim2.Frames[0].Frame.Height) : 0), frame2.Frame.Width, frame2.Frame.Height, false, Transparency); d.DrawBitmap(frame3.Texture, x + frame3.Frame.CenterX - (fliph ? (frame3.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y + frame3.Frame.CenterY + (flipv ? (frame3.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame3.Frame.Width, frame3.Frame.Height, false, Transparency); } } }
// 设置 AI 控制器操作的场景对象 public void possess(SceneEntity entity) { m_entity = entity; }
private void StartTargetEvent() { Skill component = base.gameObject.GetComponent <Skill>(); if (!component.needFeedback) { if (this.sendTargetEvent) { base.gameObject.SendMessage("ApplyTargetEvent", null, SendMessageOptions.DontRequireReceiver); } UnityEngine.Object.Destroy(this); return; } if (component.startGo.name.IndexOf("Self") < 0) { return; } int num = Convert.ToInt32(component.name.Split(new char[] { '_' })[0]); if (component.targetGo == null) { Util.CallMethod("HEROSKILLMGR", "SendSkillPb", new object[] { num, component.startGo.transform.position, component.targetPos, 0, component.timestamp }); } else { SceneEntity component2 = component.targetGo.GetComponent <SceneEntity>(); if (component2 == null) { Util.CallMethod("HEROSKILLMGR", "SendSkillPb", new object[] { num, component.startGo.transform.position, component.targetPos, 0, component.timestamp }); } else { Util.CallMethod("HEROSKILLMGR", "SendSkillPb", new object[] { num, component.startGo.transform.position, component.targetGo.transform.position, component2.id, component.timestamp }); } } this.delay += this.TIME_INTVERAL; }
public OperaMove2NPC(SceneEntity hero) : base("OperaMove2NPC", hero) { action = new ActiveMove(hero); }
public static void RemoveEntity(SceneEntity entity) { LevelInstance.Entities.Remove(entity); SelectedObjects = new List <SceneEntity>(); ResyncEngine(); }
public override void Init() { SceneManager.RC = RC; SceneEntity _object; DirectionalLight direct = new DirectionalLight(new float3(1, 1, 1), new float4(0.7f, 0.7f, 0.7f, 1), new float4(0.3f, 0.3f, 0.3f, 1), new float4(0.1f, 0.1f, 0.1f, 1), new float3(0, 0, 0), 2); PointLight point = new PointLight(new float3(0, 0, 0), new float4(0.7f, 0.7f, 0.7f, 1), new float4(0.3f, 0.3f, 0.3f, 1), new float4(0.1f, 0.1f, 0.1f, 1), 1); SpotLight spot = new SpotLight(new float3(1, 1, 1), new float3(1, 1, 1), new float4(0.7f, 0.7f, 0.7f, 1), new float4(0.3f, 0.3f, 0.3f, 1), new float4(0.1f, 0.1f, 0.1f, 1), 1.0f , 0); Geometry sphere = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/Sphere.obj.model")); Geometry sphere2 = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/Sphere.obj.model")); Geometry spacebox = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/spacebox.obj.model")); Geometry cube = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/Sphere.obj.model")); Geometry lamp = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/lamp2.obj.model")); SceneEntity _emptySphere; SceneEntity _emptyCube; SceneEntity _emptyLight; SceneEntity _emptyRoot; _emptyRoot = new SceneEntity("emptyRoot", new MouseAction()); _emptySphere = new SceneEntity("emptySphere", new ActionCode()); _emptyCube = new SceneEntity("emptyCube", new ActionCode()); _emptyLight = new SceneEntity("emptyLight", new ActionCode()); SceneManager.Manager.AddSceneEntity(_emptyRoot); SceneManager.Manager.AddSceneEntity(_emptySphere); SceneManager.Manager.AddSceneEntity(_emptyCube); SceneManager.Manager.AddSceneEntity(_emptyLight); SceneEntity cameraholder; SceneEntity WorldOrigin; WorldOrigin = new SceneEntity("WorldOrigin", new MouseAction()); SceneManager.Manager.AddSceneEntity(WorldOrigin); cameraholder = new SceneEntity("CameraOwner", new CamScript(), WorldOrigin); cameraholder.transform.GlobalPosition = new float3(0, 0, 10); scenecamera = new Camera(cameraholder); scenecamera.Resize(Width, Height); SceneEntity _spaceBox = new SceneEntity("Spacebox", new DiffuseMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/sky.jpg"), new Renderer(spacebox)); SceneManager.Manager.AddSceneEntity(_spaceBox); //Sphere _object = new SceneEntity("Sphere1", new ActionCode(), _emptySphere, new SpecularMaterial(MoreShaders.GetSpecularShader(RC), "Assets/metall2.jpg"), new Renderer(sphere)); _object.transform.GlobalPosition = new float3(2, 0, 0); _object.transform.GlobalScale = new float3(0.5f, 0.5f, 0.5f); // LightObject _object = new SceneEntity("DirLight", new RotateAction(new float3(0, 20, 0)), _emptyLight, new DiffuseMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/metall2.jpg"), new Renderer(lamp)); _object.transform.GlobalPosition = new float3(0, 0, 0); _object.transform.GlobalScale = new float3(0.7f, 0.7f, 0.7f); _object.AddComponent(spot); SceneEntity _object2 = new SceneEntity("FlyingLight", new RotatingLightAction(new float3(0, 0, 0)), _object, new DiffuseMaterial(MoreShaders.GetDiffuseTextureShader(RC), "Assets/metall2.jpg"), new Renderer(sphere2)); _object2.transform.GlobalPosition = new float3(0, 3, 0); //_object2.transform.GlobalScale = new float3(1, 1, 1); //_object2.AddComponent(point); //Cube _object = new SceneEntity("Cube1", new ActionCode(), _emptyCube, new BumpMaterial(MoreShaders.GetBumpDiffuseShader(RC), "Assets/metall2.jpg", "Assets/normal2.jpg"), new Renderer(cube)); _object.transform.GlobalPosition = new float3(5, 0, 0); //_object.transform.GlobalScale = new float3(0.01f, 0.01f, 0.01f); //Root _object = new SceneEntity("Root1", new ActionCode(), _emptyRoot); _object.transform.GlobalPosition = new float3(0, 0, 0); _object.transform.GlobalScale = new float3(1, 1, 1); SceneManager.Manager.StartActionCode(); RC.ClearColor = new float4(1, 0, 0, 1); }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { int type = (int)entity.attributesMap["type"].ValueUInt8; int direction = (int)entity.attributesMap["direction"].ValueUInt8; bool fliph = false; bool flipv = false; int animID = 0; if (type == 0) { animID = 0; if (direction == 1) { fliph = true; } if (direction == 2) { flipv = true; } if (direction == 3) { flipv = true; fliph = true; } } else if (type == 1) { animID = 2; if (direction == 1) { fliph = true; } if (direction == 2) { flipv = true; } if (direction == 3) { flipv = true; fliph = true; } } else if (type == 2) { animID = 0; if (direction == 1) { fliph = true; } if (direction == 2) { flipv = true; } if (direction == 3) { flipv = true; fliph = true; } } else if (type == 3) { animID = 2; if (direction == 1) { fliph = true; } if (direction == 2) { flipv = true; } if (direction == 3) { flipv = true; fliph = true; } } var editorAnim = e.LoadAnimation2("Spiny", d, animID, -1, fliph, flipv, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && animID >= 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX - (fliph ? (frame.Frame.Width - editorAnim.Frames[0].Frame.Width) : 0), y + frame.Frame.CenterY + (flipv ? (frame.Frame.Height - editorAnim.Frames[0].Frame.Height) : 0), frame.Frame.Width, frame.Frame.Height, false, Transparency); } }
/// <summary> /// Adds a <see cref="SceneEntity"/> to the scene. /// </summary> /// <param name="sceneEntity">The scene entity.</param> public void AddSceneEntity(SceneEntity sceneEntity) { SceneMembers.Add(sceneEntity); }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { int orientation = entity.attributesMap["orientation"].ValueUInt8; bool open = entity.attributesMap["open"].ValueBool; bool fliph = false; bool flipv = false; int frameID = 0; switch (orientation) { case 0: frameID = 0; break; case 1: frameID = 0; fliph = true; break; case 2: frameID = 1; break; case 3: frameID = 1; flipv = true; break; } var editorAnim = e.LoadAnimation2("PSZDoor", d, 0, frameID, fliph, flipv, false); var cogPart2 = e.LoadAnimation2("PSZDoor", d, 0, 2, fliph, flipv, false); var cogPart1 = e.LoadAnimation2("PSZDoor", d, 1, 0, fliph, flipv, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && frameID >= 0 && cogPart1 != null && cogPart1.Frames.Count != 0 && cogPart2 != null && cogPart2.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; var cog1 = cogPart1.Frames[e.index]; var cog2 = cogPart2.Frames[e.index]; int COG_SPACE = 18; int cogSpaceH = 56; int cogSpaceW = -COG_SPACE; int cogSpaceH_2 = 56; int cogSpaceW_2 = -COG_SPACE; int doorAdjX = frame.Frame.Width; int doorAdjY = 0; switch (orientation) { case 1: // Upper cogSpaceH = 56; cogSpaceW = -COG_SPACE; // Lower cogSpaceH_2 = 56; cogSpaceW_2 = COG_SPACE; //Door doorAdjX = 0; doorAdjY = frame.Frame.Height; break; case 0: // Upper cogSpaceH = -56; cogSpaceW = -COG_SPACE; // Lower cogSpaceH_2 = -56; cogSpaceW_2 = COG_SPACE; //Door doorAdjX = 0; doorAdjY = -frame.Frame.Height; break; case 2: // Upper cogSpaceW = -56; cogSpaceH = COG_SPACE; // Lower cogSpaceW_2 = -56; cogSpaceH_2 = -COG_SPACE; //Door doorAdjX = -frame.Frame.Width; doorAdjY = 0; break; case 3: // Upper cogSpaceW = 56; cogSpaceH = COG_SPACE; // Lower cogSpaceW_2 = 56; cogSpaceH_2 = -COG_SPACE; //Door doorAdjX = frame.Frame.Width; doorAdjY = 0; break; } d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX + (open ? doorAdjX : 0), y + frame.Frame.CenterY + (open ? doorAdjY : 0), frame.Frame.Width, frame.Frame.Height, false, Transparency); //Upper Cog d.DrawBitmap(cog1.Texture, x + cog1.Frame.CenterX + cogSpaceW, y + cog1.Frame.CenterY + cogSpaceH, cog1.Frame.Width, cog1.Frame.Height, false, Transparency); d.DrawBitmap(cog2.Texture, x + cog2.Frame.CenterX + cogSpaceW, y + cog2.Frame.CenterY + cogSpaceH, cog2.Frame.Width, cog2.Frame.Height, false, Transparency); //Lower Cog d.DrawBitmap(cog1.Texture, x + cog1.Frame.CenterX + cogSpaceW_2, y + cog1.Frame.CenterY + cogSpaceH_2, cog1.Frame.Width, cog1.Frame.Height, false, Transparency); d.DrawBitmap(cog2.Texture, x + cog2.Frame.CenterX + cogSpaceW_2, y + cog2.Frame.CenterY + cogSpaceH_2, cog2.Frame.Width, cog2.Frame.Height, false, Transparency); } }
public SceneEntity[] GetSceneEntities() { SceneEntity[] entities = new SceneEntity[renderContext.SceneManager.sceneGraphEntities.Count]; int index = 0; foreach (KeyValuePair<uint, SceneEntity> item in renderContext.SceneManager.sceneGraphEntities) { entities[index++] = item.Value; } return entities; }
public override void Init() { _sceneManager = new SceneManager(); _sceneManager.AttachToContext(RC); // Light var direct = new DirectionalLight(new float3(1, 1, 1), new float4(0.7f, 0.7f, 0.7f, 1), new float4(1f, 1f, 1f, 1), new float4(0.9f, 0.9f, 0.9f, 1), new float3(0, 0, 0), 0); // Load Meshes var planetMesh = MeshReader.LoadMesh(@"Assets/Sphere.obj.model"); var spaceBoxMesh = MeshReader.LoadMesh(@"Assets/spacebox.obj.model"); // Setup Empty Objects _earthSpeed = new float3(0, 0.69635f, 0); var emptyMoon = new SceneEntity("emptyPlanetHolder", new MoonAction(_earthSpeed * 5.0f)); var emptyMercury = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 4.1477f)); var emptyVenus = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 1.6150f)); var emptyEarth = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed)); var emptyMars = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 0.5320f)); var emptyJupiter = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 0.0833f)); var emptySaturn = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 0.03476f)); var emptyUranus = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 0.0119f)); var emptyNeptun = new SceneEntity("emptyPlanetHolder", new PlanetAction(RC, _earthSpeed * 0.0062f)); _sceneManager.AddSceneEntity(emptyMoon); _sceneManager.AddSceneEntity(emptyMercury); _sceneManager.AddSceneEntity(emptyVenus); _sceneManager.AddSceneEntity(emptyEarth); _sceneManager.AddSceneEntity(emptyMars); _sceneManager.AddSceneEntity(emptyJupiter); _sceneManager.AddSceneEntity(emptySaturn); _sceneManager.AddSceneEntity(emptyUranus); _sceneManager.AddSceneEntity(emptyNeptun); // Scene Camera var worldOrigin = new SceneEntity("WorldOrigin", new RotationScript()); _sceneManager.AddSceneEntity(worldOrigin); var cameraholder = new SceneEntity("CameraOwner", new CameraScript(RC)) { Transform = { GlobalPosition = new float3(0, 0, -10) } }; worldOrigin.AddChild(cameraholder); _sceneCamera = new Camera(cameraholder); _sceneCamera.Resize(Width, Height); // Setup Space Box var spaceBox = new SceneEntity("Spacebox", new PlanetMaterial(RC, MoreShaders.GetTextureShader(RC), "Assets/spaceboxTexture.png"), new Renderer(spaceBoxMesh)); _sceneManager.AddSceneEntity(spaceBox); // Setup Sun var planet = new SceneEntity("Sun", new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/sun.jpg"), new Renderer(planetMesh)) { Transform = { LocalScale = new float3(2, 2, 2) } }; _sceneManager.AddSceneEntity(planet); // Setup Earth planet = new SceneEntity("Earth", new PlanetAction(RC, new float3(0, 0.69635f * 365, 0)), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/earth.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(2.9f, 0, 0), GlobalScale = new float3(0.1f, 0.1f, 0.1f) } }; planet.AddComponent(direct); emptyEarth.AddChild(planet); // Setup Moon planet = new SceneEntity("Moon", new PlanetAction(RC, new float3(0, 2.7f, 0)), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/moon.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(0.5f, 0, 0), GlobalScale = new float3(0.05f, 0.05f, 0.05f) } }; emptyMoon.AddChild(planet); // Setup Mercury planet = new SceneEntity("Mercury", new PlanetAction(RC, _earthSpeed * 6.2234f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/merkur.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(2.35f, 0, 0), GlobalScale = new float3(0.05f, 0.05f, 0.05f) } }; emptyMercury.AddChild(planet); // Setup Venus planet = new SceneEntity("Venus", new PlanetAction(RC, _earthSpeed * 1.5021f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/venus.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(2.6f, 0, 0), GlobalScale = new float3(0.08f, 0.08f, 0.08f) } }; emptyVenus.AddChild(planet); // Setup Mars planet = new SceneEntity("Mars", new PlanetAction(RC, _earthSpeed * 374.125f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/mars.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(3.25f, 0, 0), GlobalScale = new float3(0.07f, 0.07f, 0.07f) } }; emptyMars.AddChild(planet); // Setup Jupiter planet = new SceneEntity("Jupiter", new PlanetAction(RC, _earthSpeed * 882.62f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/jupiter.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(4, 0, 0), GlobalScale = new float3(0.4f, 0.4f, 0.4f) } }; emptyJupiter.AddChild(planet); // Setup Saturn planet = new SceneEntity("Saturn", new PlanetAction(RC, _earthSpeed * 820.61f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/saturn.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(5, 0, 0), GlobalScale = new float3(0.3f, 0.3f, 0.3f) } }; emptySaturn.AddChild(planet); // Setup Uranus planet = new SceneEntity("Uranus", new PlanetAction(RC, _earthSpeed * 509.30f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/uranus.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(6, 0, 0), GlobalScale = new float3(0.12f, 0.12f, 0.12f) } }; emptyUranus.AddChild(planet); // Setup Neptun planet = new SceneEntity("Neptun", new PlanetAction(RC, _earthSpeed * 544.10f), new PlanetMaterial(RC, MoreShaders.GetDiffuseTextureShader(RC), "Assets/neptune.jpg"), new Renderer(planetMesh)) { Transform = { GlobalPosition = new float3(7, 0, 0), GlobalScale = new float3(0.14f, 0.14f, 0.14f) } }; emptyNeptun.AddChild(planet); _sceneManager.StartActionCode(); // Random Rotations emptyEarth.Transform.LocalEulerAngles = new float3(0, 45, 0); emptyMercury.Transform.LocalEulerAngles = new float3(0, 55, 0); emptyVenus.Transform.LocalEulerAngles = new float3(0, 335, 0); emptyMars.Transform.LocalEulerAngles = new float3(0, 125, 0); emptyJupiter.Transform.LocalEulerAngles = new float3(0, 65, 0); emptySaturn.Transform.LocalEulerAngles = new float3(0, 95, 0); emptyUranus.Transform.LocalEulerAngles = new float3(0, 145, 0); emptyNeptun.Transform.LocalEulerAngles = new float3(0, 245, 0); RC.ClearColor = new float4(1, 0, 0, 1); }
public ActionNull(SceneEntity hero) : base("ActionNull", hero) { isFinish = true; }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { int frameID = 0; int targetFrameID = -1; var attribute = entity.attributesMap["frameID"]; int angle = (int)entity.attributesMap["angle"].ValueInt32; int angleRotate = (int)entity.attributesMap["angle"].ValueInt32; int type = (int)entity.attributesMap["type"].ValueVar; int amplitudeX = (int)entity.attributesMap["amplitude"].ValuePosition.X.High; int amplitudeY = (int)entity.attributesMap["amplitude"].ValuePosition.Y.High; int angleStateX = 0; int angleStateY = 0; switch (attribute.Type) { case AttributeTypes.UINT8: targetFrameID = attribute.ValueUInt8; break; case AttributeTypes.INT8: targetFrameID = attribute.ValueInt8; break; case AttributeTypes.VAR: targetFrameID = (int)attribute.ValueVar; break; } int aminID = 0; EditorEntity.EditorAnimation editorAnim = null; while (true) { try { editorAnim = e.LoadAnimation("Platform", d, aminID, -1, false, false, false); if (editorAnim == null) { return; // no animation, bail out } frameID += editorAnim.Frames.Count; if (targetFrameID < frameID) { int aminStart = (frameID - editorAnim.Frames.Count); frameID = targetFrameID - aminStart; break; } aminID++; } catch (Exception i) { throw new ApplicationException($"Pop Loading Platforms! {aminID}", i); } } if (editorAnim.Frames.Count != 0) { EditorEntity.EditorAnimation.EditorFrame frame = null; EditorEntity.EditorAnimation.EditorFrame frame2 = null; if (editorAnim.Frames[0].Entry.FrameSpeed > 0) { frame = editorAnim.Frames[e.index]; frame2 = editorAnim.Frames[0]; } else { frame = editorAnim.Frames[frameID > 0 ? frameID : 0]; frame2 = editorAnim.Frames[0]; } e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); if ((amplitudeX != 0 || amplitudeY != 0) && type == 2 && e.Selected) { d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX + amplitudeX, y + frame.Frame.CenterY + amplitudeY, frame.Frame.Width, frame.Frame.Height, false, 125); d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX - amplitudeX, y + frame.Frame.CenterY - amplitudeY, frame.Frame.Width, frame.Frame.Height, false, 125); d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX, y + frame.Frame.CenterY, frame.Frame.Width, frame.Frame.Height, false, Transparency); } /*if ((amplitudeX != 0 || amplitudeY != 0) && type == 2) * { * e.ProcessMovingPlatform2(amplitudeX,amplitudeY); * d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX + e.positionX, y + frame.Frame.CenterY - e.positionY, * frame.Frame.Width, frame.Frame.Height, false, Transparency); * }*/ else if ((amplitudeX != 0 || amplitudeY != 0) && type == 3) { e.ProcessMovingPlatform(angle); angle = e.angle; double xd = x; double yd = y; double x2 = x + amplitudeX - amplitudeX / 3.7; double y2 = y + amplitudeY - amplitudeY / 3.7; double radius = Math.Pow(x2 - xd, 2) + Math.Pow(y2 - yd, 2); int radiusInt = (int)Math.Sqrt(radius); int newX = (int)(radiusInt * Math.Cos(Math.PI * angle / 128)); int newY = (int)(radiusInt * Math.Sin(Math.PI * angle / 128)); d.DrawBitmap(frame.Texture, (x + newX) + frame.Frame.CenterX, (y - newY) + frame.Frame.CenterY, frame.Frame.Width, frame.Frame.Height, false, Transparency); } else { d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX + angleStateX, y + frame.Frame.CenterY - angleStateY, frame.Frame.Width, frame.Frame.Height, false, Transparency); } } }
public MainWindow() { InitializeComponent(); DataContext = this; var category_list = new SceneEntityViewModel[3]; var entity = new SceneEntity(); entity.ID = 0; entity.Name = "Models"; entity.Type = KGEditorCoreWrapper.EntityType.ET_Model; category_list[0] = new SceneEntityViewModel(this, entity); entity = new SceneEntity(); entity.ID = 0; entity.Name = "Lights"; entity.Type = KGEditorCoreWrapper.EntityType.ET_Light; category_list[1] = new SceneEntityViewModel(this, entity); entity = new SceneEntity(); entity.ID = 0; entity.Name = "Cameras"; entity.Type = KGEditorCoreWrapper.EntityType.ET_Camera; category_list[2] = new SceneEntityViewModel(this, entity); scene_entity_category_ = new ReadOnlyCollection<SceneEntityViewModel>(category_list); CameraItemsSource.items.Clear(); CameraItemsSource.items.Add("System"); system_properties_obj_.ActiveCamera = CameraItemsSource.items[0].Value as string; system_properties_obj_.SSVO = true; system_properties_obj_.HDR = true; system_properties_obj_.AA = true; system_properties_obj_.Gamma = true; system_properties_obj_.ColorGrading = true; properties.SelectedObject = system_properties_obj_; save.IsEnabled = false; save_as.IsEnabled = false; undo.IsEnabled = false; redo.IsEnabled = false; Uri iconUri = new Uri("pack://application:,,,/Images/klayge_logo.ico", UriKind.RelativeOrAbsolute); this.Icon = BitmapFrame.Create(iconUri); }
public EffectMoveControl(SceneEntity entity) : base(entity) { }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { //int type = (int)entity.attributesMap["type"].ValueUInt8; //int type = (int)entity.attributesMap["type"].ValueUInt8; //int height = (int)entity.attributesMap["height"].ValueUInt8; bool fliph = false; bool flipv = false; bool allowToRender = false; var editorAnim = e.LoadAnimation2("LottoMachine", d, 0, 0, fliph, flipv, false); var editorAnim2 = e.LoadAnimation2("LottoMachine", d, 0, 1, fliph, flipv, false); var editorAnim3 = e.LoadAnimation2("LottoMachine", d, 0, 2, fliph, flipv, false); var editorAnim4 = e.LoadAnimation2("LottoMachine", d, 0, 3, fliph, flipv, false); var editorAnim5 = e.LoadAnimation2("LottoMachine", d, 0, 4, fliph, flipv, false); var editorAnim3_2 = e.LoadAnimation2("LottoMachine", d, 0, 2, true, flipv, false); var editorAnim4_2 = e.LoadAnimation2("LottoMachine", d, 0, 3, true, flipv, false); var editorAnim5_2 = e.LoadAnimation2("LottoMachine", d, 0, 4, true, flipv, false); var editorAnim6 = e.LoadAnimation2("LottoMachine", d, 0, 5, fliph, flipv, false); var editorAnim7 = e.LoadAnimation2("LottoMachine", d, 0, 6, fliph, flipv, false); var editorAnim8 = e.LoadAnimation2("LottoMachine", d, 0, 7, fliph, flipv, false); var editorAnim9 = e.LoadAnimation2("LottoMachine", d, 0, 8, fliph, flipv, false); var editorAnim10 = e.LoadAnimation2("LottoMachine", d, 0, 9, fliph, flipv, false); var editorAnim11 = e.LoadAnimation2("LottoMachine", d, 0, 8, true, false, false); var editorAnim12 = e.LoadAnimation2("LottoMachine", d, 0, 8, true, true, false); var editorAnim13 = e.LoadAnimation2("LottoMachine", d, 0, 8, false, true, false); var editorAnim14 = e.LoadAnimation2("LottoMachine", d, 0, 1, fliph, flipv, false); var editorAnim15 = e.LoadAnimation2("LottoMachine", d, 0, 2, fliph, flipv, false); var editorAnim16 = e.LoadAnimation2("LottoMachine", d, 0, 0, fliph, flipv, false); var editorAnim17 = e.LoadAnimation2("LottoMachine", d, 2, 0, fliph, flipv, false); var editorAnim18 = e.LoadAnimation2("LottoMachine", d, 0, 1, fliph, flipv, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && editorAnim2 != null && editorAnim2.Frames.Count != 0) { if (editorAnim3 != null && editorAnim3.Frames.Count != 0 && editorAnim4 != null && editorAnim4.Frames.Count != 0) { if (editorAnim5 != null && editorAnim5.Frames.Count != 0 && editorAnim6 != null && editorAnim6.Frames.Count != 0) { if (editorAnim7 != null && editorAnim7.Frames.Count != 0 && editorAnim8 != null && editorAnim8.Frames.Count != 0) { if (editorAnim9 != null && editorAnim9.Frames.Count != 0 && editorAnim10 != null && editorAnim10.Frames.Count != 0) { if (editorAnim11 != null && editorAnim11.Frames.Count != 0 && editorAnim12 != null && editorAnim12.Frames.Count != 0) { if (editorAnim13 != null && editorAnim13.Frames.Count != 0 && editorAnim14 != null && editorAnim14.Frames.Count != 0) { if (editorAnim15 != null && editorAnim15.Frames.Count != 0 && editorAnim16 != null && editorAnim16.Frames.Count != 0) { if (editorAnim17 != null && editorAnim17.Frames.Count != 0 && editorAnim18 != null && editorAnim18.Frames.Count != 0) { if (editorAnim3_2 != null && editorAnim3_2.Frames.Count != 0 && editorAnim4_2 != null && editorAnim4_2.Frames.Count != 0) { if (editorAnim5_2 != null && editorAnim5_2.Frames.Count != 0) { allowToRender = true; } } } } } } } } } } } if (allowToRender == true) { var frame = editorAnim.Frames[e.index]; var dispenser = editorAnim2.Frames[e.index]; var ballslot1 = editorAnim3.Frames[e.index]; var ballslot2 = editorAnim4.Frames[e.index]; var ballslot3 = editorAnim5.Frames[e.index]; var frame6 = editorAnim6.Frames[e.index]; var frame7 = editorAnim7.Frames[e.index]; var galloplogo = editorAnim8.Frames[e.index]; var frame9 = editorAnim9.Frames[e.index]; var frame10 = editorAnim10.Frames[e.index]; var frame11 = editorAnim11.Frames[e.index]; var frame12 = editorAnim12.Frames[e.index]; var frame13 = editorAnim13.Frames[e.index]; var frame14 = editorAnim14.Frames[e.index]; var frame15 = editorAnim15.Frames[e.index]; var frame16 = editorAnim16.Frames[e.index]; var chute = editorAnim17.Frames[e.index]; var ballslot1_2 = editorAnim3_2.Frames[e.index]; var ballslot2_2 = editorAnim4_2.Frames[e.index]; var ballslot3_2 = editorAnim5_2.Frames[e.index]; //ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame9.Texture, x + frame9.Frame.CenterX - (fliph ? (frame9.Frame.Width - editorAnim9.Frames[0].Frame.Width) : 0), y + frame9.Frame.CenterY + (flipv ? (frame9.Frame.Height - editorAnim9.Frames[0].Frame.Height) : 0), frame9.Frame.Width, frame9.Frame.Height, false, Transparency); d.DrawBitmap(frame10.Texture, x + frame10.Frame.CenterX - (fliph ? (frame10.Frame.Width - editorAnim10.Frames[0].Frame.Width) : 0), y - 4 + frame10.Frame.CenterY + (flipv ? (frame10.Frame.Height - editorAnim10.Frames[0].Frame.Height) : 0), frame10.Frame.Width, frame10.Frame.Height, false, Transparency); d.DrawBitmap(frame11.Texture, x + frame11.Frame.Width + 32 + frame11.Frame.CenterX - (true ? (frame11.Frame.Width - editorAnim11.Frames[0].Frame.Width) : 0), y + frame11.Frame.CenterY + (false ? (frame11.Frame.Height - editorAnim11.Frames[0].Frame.Height) : 0), frame11.Frame.Width, frame11.Frame.Height, false, Transparency); d.DrawBitmap(frame12.Texture, x + frame12.Frame.Width + 32 + frame12.Frame.CenterX - (true ? (frame12.Frame.Width - editorAnim12.Frames[0].Frame.Width) : 0), y + frame12.Frame.Height + frame12.Frame.CenterY + (true ? (frame12.Frame.Height - editorAnim12.Frames[0].Frame.Height) : 0), frame12.Frame.Width, frame12.Frame.Height, false, Transparency); d.DrawBitmap(frame13.Texture, x + frame13.Frame.CenterX - (false ? (frame13.Frame.Width - editorAnim13.Frames[0].Frame.Width) : 0), y + frame13.Frame.Height + frame13.Frame.CenterY + (true ? (frame13.Frame.Height - editorAnim13.Frames[0].Frame.Height) : 0), frame13.Frame.Width, frame13.Frame.Height, false, Transparency); d.DrawBitmap(ballslot1.Texture, x + ballslot1.Frame.CenterX - (fliph ? (ballslot1.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y + ballslot1.Frame.CenterY + (flipv ? (ballslot1.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), ballslot1.Frame.Width, ballslot1.Frame.Height, false, Transparency); d.DrawBitmap(ballslot2.Texture, x + ballslot2.Frame.CenterX - (fliph ? (ballslot2.Frame.Width - editorAnim4.Frames[0].Frame.Width) : 0), y + ballslot2.Frame.CenterY + (flipv ? (ballslot2.Frame.Height - editorAnim4.Frames[0].Frame.Height) : 0), ballslot2.Frame.Width, ballslot2.Frame.Height, false, Transparency); d.DrawBitmap(ballslot3.Texture, x + ballslot3.Frame.CenterX - (fliph ? (ballslot3.Frame.Width - editorAnim5.Frames[0].Frame.Width) : 0), y + ballslot3.Frame.CenterY + (flipv ? (ballslot3.Frame.Height - editorAnim5.Frames[0].Frame.Height) : 0), ballslot3.Frame.Width, ballslot3.Frame.Height, false, Transparency); d.DrawBitmap(ballslot1_2.Texture, x - ballslot1_2.Frame.Width - ballslot1_2.Frame.CenterX + (fliph ? (ballslot1_2.Frame.Width + editorAnim3.Frames[0].Frame.Width) : 0), y + ballslot1_2.Frame.CenterY + (flipv ? (ballslot1_2.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), ballslot1_2.Frame.Width, ballslot1_2.Frame.Height, false, Transparency); d.DrawBitmap(ballslot2_2.Texture, x - ballslot2_2.Frame.Width - ballslot2_2.Frame.CenterX + (fliph ? (ballslot2_2.Frame.Width + editorAnim4.Frames[0].Frame.Width) : 0), y + ballslot2_2.Frame.CenterY + (flipv ? (ballslot2_2.Frame.Height - editorAnim4.Frames[0].Frame.Height) : 0), ballslot2_2.Frame.Width, ballslot2_2.Frame.Height, false, Transparency); d.DrawBitmap(ballslot3_2.Texture, x - ballslot3_2.Frame.Width - ballslot3_2.Frame.CenterX + (fliph ? (ballslot3_2.Frame.Width + editorAnim5.Frames[0].Frame.Width) : 0), y + ballslot3_2.Frame.CenterY + (flipv ? (ballslot3_2.Frame.Height - editorAnim5.Frames[0].Frame.Height) : 0), ballslot3_2.Frame.Width, ballslot3_2.Frame.Height, false, Transparency); d.DrawBitmap(galloplogo.Texture, x + galloplogo.Frame.CenterX - (fliph ? (galloplogo.Frame.Width - editorAnim8.Frames[0].Frame.Width) : 0), y + galloplogo.Frame.CenterY + (flipv ? (galloplogo.Frame.Height - editorAnim8.Frames[0].Frame.Height) : 0), galloplogo.Frame.Width, galloplogo.Frame.Height, false, Transparency); d.DrawBitmap(chute.Texture, x + chute.Frame.CenterX - (fliph ? (chute.Frame.Width - editorAnim17.Frames[0].Frame.Width) : 0), y + chute.Frame.CenterY + 132 + (flipv ? (chute.Frame.Height - editorAnim17.Frames[0].Frame.Height) : 0), chute.Frame.Width, chute.Frame.Height, false, Transparency); d.DrawBitmap(dispenser.Texture, x + dispenser.Frame.CenterX - (fliph ? (dispenser.Frame.Width - editorAnim2.Frames[0].Frame.Width) : 0), y + dispenser.Frame.CenterY + (flipv ? (dispenser.Frame.Height - editorAnim2.Frames[0].Frame.Height) : 0), dispenser.Frame.Width, dispenser.Frame.Height, false, Transparency); } }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { int type = (int)entity.attributesMap["type"].ValueVar; bool fliph = false; bool flipv = false; int valveType; int animID; switch (type) { case 0: animID = 0; valveType = 0; break; case 1: animID = 0; valveType = 1; break; case 2: animID = 0; valveType = 2; break; case 3: animID = 2; valveType = 0; break; case 4: animID = 2; valveType = 1; break; case 5: animID = 2; valveType = 2; break; default: animID = 0; valveType = 0; break; } var editorAnim = e.LoadAnimation2("FlameSpring", d, 0, animID, fliph, flipv, false); var nozzelA = e.LoadAnimation2("FlameSpring", d, 1, 0, fliph, flipv, false); var nozzelB = e.LoadAnimation2("FlameSpring", d, 1, 1, fliph, flipv, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && nozzelA != null && nozzelA.Frames.Count != 0 && nozzelB != null && nozzelB.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; var headA = nozzelA.Frames[0]; var headB = nozzelB.Frames[0]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX, y + frame.Frame.CenterY, frame.Frame.Width, frame.Frame.Height, false, Transparency); if (valveType == 2 || valveType == 0) { d.DrawBitmap(headA.Texture, x - 21 - headA.Frame.CenterX, y - 12 - headA.Frame.CenterY, headA.Frame.Width, headA.Frame.Height, false, Transparency); } if (valveType == 1 || valveType == 0) { d.DrawBitmap(headB.Texture, x + 12 + headB.Frame.CenterX, y - 12 - headB.Frame.CenterY, headB.Frame.Width, headB.Frame.Height, false, Transparency); } } }
public override void OnDetachFromEntity(SceneEntity ety) { UnRegist(ControllerCommand.EQUIP_CHANGE, OnEquipChange); base.OnDetachFromEntity(ety); }
private void OnEnable() { this.self = base.GetComponentInParent <SceneEntity>(); }
public virtual void Instantiate(SceneEntity entity) { _gameEntities.Add(entity); }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { //int type = (int)entity.attributesMap["type"].ValueUInt8; int type = (int)entity.attributesMap["type"].ValueUInt8; int height = (int)entity.attributesMap["height"].ValueUInt8; bool fliph = false; bool flipv = false; var editorAnim = e.LoadAnimation2("PopcornMachine", d, 0, 0, fliph, flipv, false); var editorAnim2 = e.LoadAnimation2("PopcornMachine", d, 0, 1, fliph, flipv, false); var editorAnim3 = e.LoadAnimation2("PopcornMachine", d, 0, 2, false, false, false); var editorAnim4 = e.LoadAnimation2("PopcornMachine", d, 0, 3, false, false, false); var editorAnim5 = e.LoadAnimation2("PopcornMachine", d, 0, 6, false, false, false); var editorAnim6 = e.LoadAnimation2("PopcornMachine", d, 0, 7, false, false, false); var editorAnim7 = e.LoadAnimation2("PopcornMachine", d, 0, 4, false, false, false); var editorAnim8 = e.LoadAnimation2("PopcornMachine", d, 0, 5, false, false, false); var editorAnim9 = e.LoadAnimation2("PopcornMachine", d, 0, 9, false, false, false); var editorAnim10 = e.LoadAnimation2("PopcornMachine", d, 0, 10, false, false, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && editorAnim2 != null && editorAnim2.Frames.Count != 0 && editorAnim3 != null && editorAnim3.Frames.Count != 0 && editorAnim4 != null && editorAnim4.Frames.Count != 0 && editorAnim5 != null && editorAnim5.Frames.Count != 0 && editorAnim6 != null && editorAnim6.Frames.Count != 0 && editorAnim7 != null && editorAnim7.Frames.Count != 0 && editorAnim8 != null && editorAnim8.Frames.Count != 0 && editorAnim9 != null && editorAnim9.Frames.Count != 0 && editorAnim10 != null && editorAnim10.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; var frame2 = editorAnim2.Frames[e.index]; var frame3 = editorAnim3.Frames[e.index]; var frame4 = editorAnim4.Frames[e.index]; var frame5 = editorAnim5.Frames[e.index]; var frame6 = editorAnim6.Frames[e.index]; var frame7 = editorAnim7.Frames[e.index]; var frame8 = editorAnim8.Frames[e.index]; var frame9 = editorAnim9.Frames[e.index]; var frame10 = editorAnim10.Frames[e.index]; //ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, x + frame.Frame.CenterX - (fliph ? (frame.Frame.Width - editorAnim.Frames[0].Frame.Width) : 0), y + frame.Frame.CenterY + (flipv ? (frame.Frame.Height - editorAnim.Frames[0].Frame.Height) : 0), frame.Frame.Width, frame.Frame.Height, false, Transparency); d.DrawBitmap(frame2.Texture, x + frame2.Frame.CenterX - (fliph ? (frame2.Frame.Width - editorAnim2.Frames[0].Frame.Width) : 0), y + frame2.Frame.CenterY + (flipv ? (frame2.Frame.Height - editorAnim2.Frames[0].Frame.Height) : 0), frame2.Frame.Width, frame2.Frame.Height, false, Transparency); if (type == 0 || type == 2) { d.DrawBitmap(frame3.Texture, x + frame3.Frame.CenterX - (fliph ? (frame3.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y + frame3.Frame.CenterY + (flipv ? (frame3.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame3.Frame.Width, frame3.Frame.Height, false, Transparency); } if (type == 1 || type == 2) { d.DrawBitmap(frame4.Texture, x + frame4.Frame.CenterX - (fliph ? (frame4.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y + frame4.Frame.CenterY + (flipv ? (frame4.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame4.Frame.Width, frame4.Frame.Height, false, Transparency); } for (int i = 0; i <= height; i++) { d.DrawBitmap(frame5.Texture, x + frame5.Frame.CenterX - (fliph ? (frame5.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y - 208 - (i * 160) + frame5.Frame.CenterY + (flipv ? (frame5.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame5.Frame.Width, frame5.Frame.Height, false, Transparency); d.DrawBitmap(frame6.Texture, x + frame6.Frame.CenterX - (fliph ? (frame6.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y - 208 - (i * 160) + frame6.Frame.CenterY + (flipv ? (frame6.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame6.Frame.Width, frame6.Frame.Height, false, Transparency); } d.DrawBitmap(frame7.Texture, x + frame7.Frame.CenterX - (fliph ? (frame7.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y - 208 - (height * 160) + frame7.Frame.CenterY + (flipv ? (frame7.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame7.Frame.Width, frame7.Frame.Height, false, Transparency); d.DrawBitmap(frame8.Texture, x + frame8.Frame.CenterX - (fliph ? (frame8.Frame.Width - editorAnim3.Frames[0].Frame.Width) : 0), y - 208 - (height * 160) + frame8.Frame.CenterY + (flipv ? (frame8.Frame.Height - editorAnim3.Frames[0].Frame.Height) : 0), frame8.Frame.Width, frame8.Frame.Height, false, Transparency); d.DrawBitmap(frame9.Texture, x + frame9.Frame.CenterX - (fliph ? (frame9.Frame.Width - editorAnim9.Frames[0].Frame.Width) : 0), y - 95 + frame9.Frame.CenterY + (flipv ? (frame9.Frame.Height - editorAnim9.Frames[0].Frame.Height) : 0), frame9.Frame.Width, frame9.Frame.Height, false, Transparency); d.DrawBitmap(frame10.Texture, x + frame10.Frame.CenterX - (fliph ? (frame10.Frame.Width - editorAnim10.Frames[0].Frame.Width) : 0), y - 64 + frame10.Frame.CenterY + (flipv ? (frame10.Frame.Height - editorAnim10.Frames[0].Frame.Height) : 0), frame10.Frame.Width, frame10.Frame.Height, false, Transparency); } }
public void RemoveEntity(SceneEntity entity) { SceneEntities.Remove(entity); if (entity is TowerEntity) TowerEntities.Remove(entity); }
public ActionMoveDirect(SceneEntity hero) : base("ActionMoveDirect", hero) { }
/// <summary> /// Visits the specified cEntity to collect data if required by the current Visitor derivate. /// </summary> /// <param name="cEntity">The cEntity.</param> public virtual void Visit(SceneEntity cEntity) { }
/// <summary> /// 修改元件的颜色,目标GameObject必须绑定有SpriteRenderer组件 /// </summary> public static void ColorTransformSprite(SceneEntity entity, float r = 1, float g = 1, float b = 1, float a = 1) { ColorTransformSprite(entity.gameObject, r, g, b, a); }
/// <summary> /// Adds the build data. /// </summary> private void AddBuildData() { var scenes = EditorBuildSettings.scenes; for (int i = 0; i < scenes.Length; ++i) { var scene = scenes [i]; if (!_dict.ContainsKey (scene.path)) continue; var entity = _dict [scene.path]; entity.Scene = scene; entity.InBuild = true; entity.IsEnabled = scene.enabled; entity.BuildIndex = i; if (i == 0) { _firstScene = entity; } // Add to list if (entity.InBuild) _buildListByIndex.Add (entity); } }
private void EntitySelected(SceneEntity entity, bool add, int internalValue) { // clear old selected if req if (!add) { foreach (SceneEntity sceneEntity in selectedEntities) { sceneEntity.Selected = false; sceneEntity.InternalSelectedValue = -1; } selectedEntities.Clear(); } if (entity != null) { selectedEntities.Add(entity); // toggle entity as selected entity.Selected = true; entity.InternalSelectedValue = internalValue; } // pass to UI as event if (OnEntitySelected != null) OnEntitySelected(new IEntity[] { entity }, false); }
private int SortByIndex(SceneEntity entityA, SceneEntity entityB) { if (entityA == null && entityB == null) return 0; if (entityA == null) return -1; if (entityB == null) return 1; return entityA.BuildIndex - entityB.BuildIndex; }
public override void Draw(Structures.EntityRenderProp properties) { Methods.Draw.GraphicsHandler d = properties.Graphics; SceneEntity entity = properties.Object; Classes.Scene.Sets.EditorEntity e = properties.EditorObject; int x = properties.X; int y = properties.Y; int Transparency = properties.Transparency; int index = properties.Index; int previousChildCount = properties.PreviousChildCount; int platformAngle = properties.PlatformAngle; Methods.Entities.EntityAnimator Animation = properties.Animations; bool selected = properties.isSelected; bool fliph = false; bool flipv = false; var editorAnim = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 0, -1, fliph, flipv, false); var editorAnim2 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 1, -1, fliph, flipv, false); var editorAnim3 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 2, -1, fliph, flipv, false); var editorAnim4 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 5, 0, false, false, false); var editorAnim5 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 7, -1, fliph, flipv, false); var editorAnim6 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 6, 0, false, false, false); var editorAnim7 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 3, -1, fliph, flipv, false); var editorAnim8 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 4, -1, fliph, flipv, false); var editorAnim9 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 10, -1, fliph, flipv, false); var editorAnim10 = Controls.Editor.MainEditor.Instance.EntityDrawing.LoadAnimation2("Train", d.DevicePanel, 12, 0, fliph, flipv, false); if (editorAnim != null && editorAnim.Frames.Count != 0 && editorAnim2 != null && editorAnim2.Frames.Count != 0 && editorAnim3 != null && editorAnim3.Frames.Count != 0 && editorAnim4 != null && editorAnim4.Frames.Count != 0 && editorAnim5 != null && editorAnim5.Frames.Count != 0 && editorAnim6 != null && editorAnim6.Frames.Count != 0 && editorAnim7 != null && editorAnim7.Frames.Count != 0 && editorAnim8 != null && editorAnim8.Frames.Count != 0 && editorAnim9 != null && editorAnim9.Frames.Count != 0 && editorAnim10 != null && editorAnim10.Frames.Count != 0) { var frame = editorAnim.Frames[0]; var frame2 = editorAnim2.Frames[0]; var frame3 = editorAnim2.Frames[1]; var frame4 = editorAnim3.Frames[Animation.index2]; var frame5 = editorAnim4.Frames[0]; var frame6 = editorAnim5.Frames[Animation.index]; var frame7 = editorAnim6.Frames[0]; var frame8 = editorAnim7.Frames[0]; var frame9 = editorAnim7.Frames[1]; var frame10 = editorAnim8.Frames[0]; var frame11 = editorAnim8.Frames[1]; var frame12 = editorAnim9.Frames[Animation.index3]; var frame13 = editorAnim10.Frames[0]; Animation.ProcessAnimation(frame6.Entry.SpeedMultiplyer, frame6.Entry.Frames.Count, frame6.Frame.Delay); Animation.ProcessAnimation2(frame4.Entry.SpeedMultiplyer, frame4.Entry.Frames.Count, frame4.Frame.Delay); Animation.ProcessAnimation3(frame12.Entry.SpeedMultiplyer, frame12.Entry.Frames.Count, frame12.Frame.Delay); //Eggman d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame12), x + frame12.Frame.PivotX, y + frame12.Frame.PivotY, frame12.Frame.Width, frame12.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame13), x + frame13.Frame.PivotX, y + frame13.Frame.PivotY, frame13.Frame.Width, frame13.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame), x + frame.Frame.PivotX, y + frame.Frame.PivotY, frame.Frame.Width, frame.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame2), x + frame2.Frame.PivotX - 104, y + frame2.Frame.PivotY + 56, frame2.Frame.Width, frame2.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame2), x + frame2.Frame.PivotX - 30, y + frame2.Frame.PivotY + 56, frame2.Frame.Width, frame2.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame3), x + frame3.Frame.PivotX - 104, y + frame3.Frame.PivotY + 56, frame3.Frame.Width, frame3.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame3), x + frame3.Frame.PivotX - 30, y + frame3.Frame.PivotY + 56, frame3.Frame.Width, frame3.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame4), x + frame4.Frame.PivotX + 22, y + frame4.Frame.PivotY + 74, frame4.Frame.Width, frame4.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame4), x + frame4.Frame.PivotX + 84, y + frame4.Frame.PivotY + 74, frame4.Frame.Width, frame4.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame5), x + frame5.Frame.PivotX, y + frame5.Frame.PivotY, frame5.Frame.Width, frame5.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame6), x + frame6.Frame.PivotX, y + frame6.Frame.PivotY, frame6.Frame.Width, frame6.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame7), x + frame7.Frame.PivotX, y + frame7.Frame.PivotY, frame7.Frame.Width, frame7.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame9), x + frame9.Frame.PivotX - 46, y + frame9.Frame.PivotY + 54, frame9.Frame.Width, frame9.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame8), x + frame8.Frame.PivotX - 122, y + frame8.Frame.PivotY + 54, frame8.Frame.Width, frame8.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame10), x + frame10.Frame.PivotX + 7, y + frame10.Frame.PivotY, frame10.Frame.Width, frame10.Frame.Height, false, Transparency); d.DrawBitmap(new Methods.Draw.GraphicsHandler.GraphicsInfo(frame11), x + frame11.Frame.PivotX, y + frame11.Frame.PivotY, frame11.Frame.Width, frame11.Frame.Height, false, Transparency); } }
public override void Update() { if(Input.Instance.IsButton(MouseButtons.Left)){ float mousemoveX = (float)Input.Instance.GetAxis(InputAxis.MouseX); float mousemoveY = (float)Input.Instance.GetAxis(InputAxis.MouseY); //transform.GlobalQuaternion = Quaternion.FromAxisAngle(new float3(0, 0, 1), -mousemoveY) * Quaternion.FromAxisAngle(new float3(0, 1, 0), -mousemoveX) * transform.GlobalQuaternion; transform.LocalEulerAngles += new float3(0, -mousemoveX*100, 0); transform.LocalEulerAngles += new float3(-mousemoveY*100, 0, 0); } if (Input.Instance.IsKey(KeyCodes.Up)) { var _timeadd = Time.Instance.TimeFlow; if(Time.Instance.TimeFlow > 2) { _timeadd += 0.1f; } else { _timeadd += 0.0025f; } Time.Instance.TimeFlow = _timeadd; } if (Input.Instance.IsKey(KeyCodes.Down)) { if(Time.Instance.TimeFlow >= 0) { var _timedec = Time.Instance.TimeFlow; if (Time.Instance.TimeFlow > 2) { _timedec -= 0.1f; } else { _timedec -= 0.0025f; } Time.Instance.TimeFlow = _timedec; } else { Time.Instance.TimeFlow = 0; } //Debug.WriteLine(Time.Instance.TimeFlow.ToString()); } if (Input.Instance.IsKeyDown(KeyCodes.Right)) { _currentTargetId++; if(_currentTargetId >= _planets.Length) { _currentTargetId = 0; } _target = SceneEntity.FindSceneEntity(_planets[_currentTargetId]); Debug.WriteLine("Current Planet: " + _target.name); } if (Input.Instance.IsKeyDown(KeyCodes.Left)) { _currentTargetId--; if (_currentTargetId <= 0) { _currentTargetId = _planets.Length-1; } _target = SceneEntity.FindSceneEntity(_planets[_currentTargetId]); Debug.WriteLine("Current Planet: " + _target.name); } transform.GlobalPosition = _target.transform.GlobalPosition; //Debug.WriteLine("Target is cool & RotationScript GlobalPos: " + _target.transform.GlobalPosition); }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { var type = entity.attributesMap["type"].ValueUInt8; var width = (int)(entity.attributesMap["size"].ValuePosition.X.High) - 1; var height = (int)(entity.attributesMap["size"].ValuePosition.Y.High) - 1; var editorAnim = e.LoadAnimation2("EditorAssets", d, 0, 0, false, false, false); if (width != -1 && height != -1) { bool wEven = width % 2 == 0; bool hEven = height % 2 == 0; int x1 = (x + (wEven ? -8 : -16) + (-width / 2 + width) * 16) + 15; int x2 = (x + (wEven ? -8 : -16) + (-width / 2) * 16); int y1 = (y + (hEven ? -8 : -16) + (-height / 2 + height) * 16) + 15; int y2 = (y + (hEven ? -8 : -16) + (-height / 2) * 16); d.DrawLine(x1, y1, x1, y2, SystemColors.White); d.DrawLine(x1, y1, x2, y1, SystemColors.White); d.DrawLine(x2, y2, x1, y2, SystemColors.White); d.DrawLine(x2, y2, x2, y1, SystemColors.White); // draw corners for (int i = 0; i < 4; i++) { bool right = (i & 1) > 0; bool bottom = (i & 2) > 0; editorAnim = e.LoadAnimation2("EditorAssets", d, 0, 0, right, bottom, false); if (editorAnim != null && editorAnim.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, (x + (wEven ? frame.Frame.CenterX : -frame.Frame.Width) + (-width / 2 + (right ? width : 0)) * frame.Frame.Width), (y + (hEven ? frame.Frame.CenterY : -frame.Frame.Height) + (-height / 2 + (bottom ? height : 0)) * frame.Frame.Height), frame.Frame.Width, frame.Frame.Height, false, Transparency); } } } bool knux = entity.attributesMap["onlyKnux"].ValueBool; bool mighty = entity.attributesMap.ContainsKey("onlyMighty") && entity.attributesMap["onlyMighty"].ValueBool; // draw Knuckles icon if (knux) { editorAnim = e.LoadAnimation2("HUD", d, 2, 2, false, false, false); if (editorAnim != null && editorAnim.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, x - frame.Frame.Width / (mighty ? 1 : 2), y - frame.Frame.Height / 2, frame.Frame.Width, frame.Frame.Height, false, Transparency); } } // draw Mighty icon if (mighty) { editorAnim = e.LoadAnimation2("HUD", d, 2, 3, false, false, false); if (editorAnim != null && editorAnim.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, x - (knux ? 0 : frame.Frame.Width / 2), y - frame.Frame.Height / 2, frame.Frame.Width, frame.Frame.Height, false, Transparency); } } }
private void clear() { this._selectObj = null; this.attackTarget = null; }
/// <summary> /// Sets as active. /// </summary> /// <returns><c>true</c>, if as active was set, <c>false</c> otherwise.</returns> /// <param name="scenePath">Scene path.</param> public bool SetAsActive(string scenePath) { if (string.IsNullOrEmpty (scenePath)) { _activeScene = SceneEntity.Empty; return true; } // Same Scene if (_activeScene != null && string.Equals (_activeScene.FullPath, scenePath)) { _activeScene.IsActive = true; return false; } // Not exist if (!_dict.ContainsKey (scenePath)) return false; // Deactivate if (_activeScene != null) _activeScene.IsActive = false; // Set new active scene _activeScene = _dict [scenePath]; _activeScene.IsActive = true; return true; }
public OperaAttack(SceneEntity hero) : base("OperaAttack", hero) { actionType = Action.ACTION_TYPE.OPERA; action = new ActiveMove(hero); }
/// <summary> /// Returns to pool. /// </summary> /// <param name="entity">Entity.</param> private void ReturnToPool(SceneEntity entity) { entity.Clear (); _pool.Push (entity); }
public override void Start() { _earth = SceneEntity.FindSceneEntity("Earth"); transform.LocalPosition = _earth.Transform.GlobalPosition; }
public override void Start() { _target = SceneEntity.FindSceneEntity(_planets[_currentTargetId]); Debug.WriteLine(_target.name); }
public ActionBeAttactedAndThrowUp(SceneEntity hero) : base("ActionBeAttactedAndFly", hero) { actionType = ACTION_TYPE.FLY; }
/// <summary> /// Visits the specified <see cref="SceneEntity"/> to gather data if required by the current Visitor derivate. /// </summary> /// <param name="cEntity">The SceneEntity instance.</param> public override void Visit(SceneEntity cEntity) { cEntity.TraverseForRendering(this); }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { var widthPixels = (int)(entity.attributesMap["pileSize"].ValuePosition.X.High) * 2; var heightPixels = (int)(entity.attributesMap["pileSize"].ValuePosition.Y.High) * 2; var width = (int)widthPixels / 16; var height = (int)heightPixels / 16; var editorAnim = e.LoadAnimation2("EditorAssets", d, 0, 0, false, false, false); if (width != 0 && height != 0) { // draw corners for (int i = 0; i < 4; i++) { bool right = (i & 1) > 0; bool bottom = (i & 2) > 0; editorAnim = e.LoadAnimation2("EditorAssets", d, 0, 0, right, bottom, false); if (editorAnim != null && editorAnim.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); d.DrawBitmap(frame.Texture, (x + widthPixels / (right ? 2 : -2)) - (right ? frame.Frame.Width : 0), (y + heightPixels / (bottom ? 2 : -2) - (bottom ? frame.Frame.Height : 0)), frame.Frame.Width, frame.Frame.Height, false, Transparency); } } // draw top and bottom for (int i = 0; i < 2; i++) { bool bottom = (i & 1) > 0; editorAnim = e.LoadAnimation2("EditorAssets", d, 0, 1, false, bottom, false); if (editorAnim != null && editorAnim.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); bool wEven = width % 2 == 0; for (int j = 1; j < width; j++) { d.DrawBitmap(frame.Texture, (x + (wEven ? frame.Frame.CenterX : -frame.Frame.Width) + (-width / 2 + j) * frame.Frame.Width), (y + heightPixels / (bottom ? 2 : -2) - (bottom ? frame.Frame.Height : 0)), frame.Frame.Width, frame.Frame.Height, false, Transparency); } } } // draw sides for (int i = 0; i < 2; i++) { bool right = (i & 1) > 0; editorAnim = e.LoadAnimation2("EditorAssets", d, 0, 2, right, false, false); if (editorAnim != null && editorAnim.Frames.Count != 0) { var frame = editorAnim.Frames[e.index]; e.ProcessAnimation(frame.Entry.FrameSpeed, frame.Entry.Frames.Count, frame.Frame.Duration); bool hEven = height % 2 == 0; for (int j = 1; j < height; j++) { d.DrawBitmap(frame.Texture, (x + widthPixels / (right ? 2 : -2)) - (right ? frame.Frame.Width : 0), (y + (hEven ? frame.Frame.CenterY : -frame.Frame.Height) + (-height / 2 + j) * frame.Frame.Height), frame.Frame.Width, frame.Frame.Height, false, Transparency); } } } } }
public override void Init() { SceneManager.RC = RC; SceneEntity _planet; // Lights DirectionalLight direct = new DirectionalLight(new float3(-500, 1000, 0), new float4(1, 1, 1, 1), new float3(0, 0, 0), 0); // Load Geometry Geometry planetgeometry = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/Sphere.obj.model")); Geometry spacebox = MeshReader.ReadWavefrontObj(new StreamReader(@"Assets/spacebox.obj.model")); // Setup Empty Objects // Null Objects SceneEntity _emptyMoon; SceneEntity _emptyMercury; SceneEntity _emptyVenus; SceneEntity _emptyEarth; SceneEntity _emptyMars; SceneEntity _emptyJupiter; SceneEntity _emptySaturn; SceneEntity _emptyUranus; SceneEntity _emptyNeptun; _emptyMoon = new SceneEntity("emptyPlanetHolder", new MoonAction(_speedearth * 5.0f)); _emptyMercury = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 4.1477f)); _emptyVenus = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 1.6150f)); _emptyEarth = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth)); _emptyMars = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 0.5320f)); _emptyJupiter = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 0.0833f)); _emptySaturn = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 0.03476f)); _emptyUranus = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 0.0119f)); _emptyNeptun = new SceneEntity("emptyPlanetHolder", new PlanetAction(_speedearth * 0.0062f)); SceneManager.Manager.AddSceneEntity(_emptyMoon); SceneManager.Manager.AddSceneEntity(_emptyMercury); SceneManager.Manager.AddSceneEntity(_emptyVenus); SceneManager.Manager.AddSceneEntity(_emptyEarth); SceneManager.Manager.AddSceneEntity(_emptyMars); SceneManager.Manager.AddSceneEntity(_emptyJupiter); SceneManager.Manager.AddSceneEntity(_emptySaturn); SceneManager.Manager.AddSceneEntity(_emptyUranus); SceneManager.Manager.AddSceneEntity(_emptyNeptun); //Setup Camera // Scene Camera SceneEntity cameraholder; CameraScript camscript; SceneEntity WorldOrigin; WorldOrigin = new SceneEntity("WorldOrigin", new RotationScript()); SceneManager.Manager.AddSceneEntity(WorldOrigin); cameraholder = new SceneEntity("CameraOwner", new CameraScript(), WorldOrigin); cameraholder.transform.GlobalPosition = new float3(0, 0, 10); scenecamera = new Camera(cameraholder); scenecamera.Resize(Width, Height); // Setup Space Box SceneEntity _spaceBox = new SceneEntity("Spacebox", new PlanetMaterial(MoreShaders.GetShader("simpel", RC), "Assets/spaceboxTexture.png"), new Renderer(spacebox)); SceneManager.Manager.AddSceneEntity(_spaceBox); // Setup Earth _planet = new SceneEntity("Earth", new PlanetAction(new float3(0, 0.69635f * 365, 0)), _emptyEarth, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/earth.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(2.9f, 0, 0); _planet.transform.GlobalScale = new float3(0.1f, 0.1f, 0.1f); _planet.AddComponent(direct); //Setup Moon //_emptyMoon.transform.LocalPosition = _earth.transform.LocalPosition; //_emptyMoonAction = new MoonAction(_speedearth * 5.0f); //_emptyMoon.AddComponent(_emptyMoonAction); _planet = new SceneEntity("Moon", new PlanetAction(new float3(0, 2.7f, 0)), _emptyMoon, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/moon.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(0.5f, 0, 0); _planet.transform.GlobalScale = new float3(0.05f, 0.05f, 0.05f); //SceneManager.Manager.AddSceneEntity(_emptyMoon); //_emptyMoon.AddChild(_moon); //_emptyMoonAction.Init(_emptyMoon); /* _moon = new SceneEntity { name = "Moon" }; _emptyMoonAction = new MoonAction(_earth, _speedearth * 5.0f); _moonMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _moonImage = RC.LoadImage("Assets/moon.jpg"); _moonIShaderParam = _moonMaterial.sp.GetShaderParam("texture1"); _moonITexture = RC.CreateTexture(_moonImage); _moonMaterial.Tex = _moonITexture; _moonMaterial.Textureparam = _moonIShaderParam; _moonRenderer = new Renderer(planetgeometry); _moonRenderer.material = _moonMaterial; _moon.AddComponent(_moonRenderer); _emptyMoon.AddComponent(_emptyMoonAction); _moon.transform.LocalPosition = new float3(0.5f, 0, 0); _moon.transform.LocalScale = new float3(0.05f, 0.05f, 0.05f); SceneManager.Manager.AddSceneEntity(_emptyMoon); _emptyMoon.AddChild(_moon); _emptyMoonAction.Init(_emptyMoon); */ // Setup sun _planet = new SceneEntity("Sun", new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/sun.jpg"), new Renderer(planetgeometry)); _planet.transform.LocalScale = new float3(2, 2, 2); SceneManager.Manager.AddSceneEntity(_planet); /* _sun = new SceneEntity { name = "Sun" }; //_sunAction.Init(_sun); _sunMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _sunImage = RC.LoadImage("Assets/sun.jpg"); _sunIShaderParam = _sunMaterial.sp.GetShaderParam("texture1"); _sunITexture = RC.CreateTexture(_sunImage); _sunMaterial.Tex = _sunITexture; _sunMaterial.Textureparam = _sunIShaderParam; _sunRenderer = new Renderer(planetgeometry); _sunRenderer.material = _sunMaterial; _sun.AddComponent(_sunRenderer); _sun.transform.LocalPosition = new float3(0,0,0); _sun.transform.LocalScale = new float3(2,2,2); //_earth.AddChild(_sun); SceneManager.Manager.AddSceneEntity(_sun); */ // Setup mercury _planet = new SceneEntity("Mercury", new PlanetAction(_speedearth * 6.2234f), _emptyMercury, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/merkur.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(2.35f, 0, 0); _planet.transform.GlobalScale = new float3(0.05f, 0.05f, 0.05f); /* _mercury = new SceneEntity { name = "Mercury" }; _mercuryAction.Init(_mercury); _mercuryMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _mercuryImage = RC.LoadImage("Assets/merkur.jpg"); _mercuryIShaderParam = _mercuryMaterial.sp.GetShaderParam("texture1"); _mercuryITexture = RC.CreateTexture(_mercuryImage); _mercuryMaterial.Tex = _mercuryITexture; _mercuryMaterial.Textureparam = _mercuryIShaderParam; _mercuryRenderer = new Renderer(planetgeometry); _mercuryRenderer.material = _mercuryMaterial; _mercury.AddComponent(_mercuryRenderer); _mercury.AddComponent(_mercuryAction); _mercury.transform.LocalPosition = new float3(2.35f, 0, 0); _mercury.transform.LocalScale = new float3(0.05f, 0.05f, 0.05f); //SceneManager.Manager.AddSceneEntity(_mercury); _emptyMercury.AddChild(_mercury); */ // Setup venus _planet = new SceneEntity("Venus", new PlanetAction(_speedearth * 1.5021f), _emptyVenus, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/venus.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(2.6f, 0, 0); _planet.transform.GlobalScale = new float3(0.08f, 0.08f, 0.08f); /* _venus = new SceneEntity { name = "Venus" }; _venusAction.Init(_venus); _venusMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _venusImage = RC.LoadImage("Assets/venus.jpg"); _venusIShaderParam = _venusMaterial.sp.GetShaderParam("texture1"); _venusITexture = RC.CreateTexture(_venusImage); _venusMaterial.Tex = _venusITexture; _venusMaterial.Textureparam = _venusIShaderParam; _venusRenderer = new Renderer(planetgeometry); _venusRenderer.material = _venusMaterial; _venus.AddComponent(_venusRenderer); _venus.AddComponent(_venusAction); _venus.transform.LocalPosition = new float3(2.6f, 0, 0); _venus.transform.LocalScale = new float3(0.08f, 0.08f, 0.08f); //SceneManager.Manager.AddSceneEntity(_venus); _emptyVenus.AddChild(_venus);*/ // Setup mars _planet = new SceneEntity("Mars", new PlanetAction(_speedearth * 374.125f), _emptyMars, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/mars.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(3.25f, 0, 0); _planet.transform.GlobalScale = new float3(0.07f, 0.07f, 0.07f); /* _mars = new SceneEntity { name = "Mars" }; _marsAction.Init(_mars); _marsMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _marsImage = RC.LoadImage("Assets/mars.jpg"); _marsIShaderParam = _marsMaterial.sp.GetShaderParam("texture1"); _marsITexture = RC.CreateTexture(_marsImage); _marsMaterial.Tex = _marsITexture; _marsMaterial.Textureparam = _marsIShaderParam; _marsRenderer = new Renderer(planetgeometry); _marsRenderer.material = _marsMaterial; _mars.AddComponent(_marsRenderer); _mars.AddComponent(_marsAction); _mars.transform.LocalPosition = new float3(3.25f, 0, 0); _mars.transform.LocalScale = new float3(0.07f, 0.07f, 0.07f); //SceneManager.Manager.AddSceneEntity(_mars); _emptyMars.AddChild(_mars);*/ // Setup jupiter _planet = new SceneEntity("Jupiter", new PlanetAction(_speedearth * 882.62f), _emptyJupiter, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/jupiter.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(4, 0, 0); _planet.transform.GlobalScale = new float3(0.4f, 0.4f, 0.4f); /* _jupiter = new SceneEntity { name = "Jupiter" }; _jupiterAction.Init(_jupiter); _jupiterMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _jupiterImage = RC.LoadImage("Assets/jupiter.jpg"); _jupiterIShaderParam = _jupiterMaterial.sp.GetShaderParam("texture1"); _jupiterITexture = RC.CreateTexture(_jupiterImage); _jupiterMaterial.Tex = _jupiterITexture; _jupiterMaterial.Textureparam = _jupiterIShaderParam; _jupiterRenderer = new Renderer(planetgeometry); _jupiterRenderer.material = _jupiterMaterial; _jupiter.AddComponent(_jupiterRenderer); _jupiter.AddComponent(_jupiterAction); _jupiter.transform.LocalPosition = new float3(4, 0, 0); _jupiter.transform.LocalScale = new float3(0.4f, 0.4f, 0.4f); //SceneManager.Manager.AddSceneEntity(_jupiter); _emptyJupiter.AddChild(_jupiter); */ // Setup saturn _planet = new SceneEntity("Saturn", new PlanetAction(_speedearth * 820.61f), _emptySaturn, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/saturn.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(5, 0, 0); _planet.transform.GlobalScale = new float3(0.3f, 0.3f, 0.3f); /*_saturn = new SceneEntity { name = "Saturn" }; _saturnAction.Init(_saturn); _saturnMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _saturnImage = RC.LoadImage("Assets/saturn.jpg"); _saturnIShaderParam = _saturnMaterial.sp.GetShaderParam("texture1"); _saturnITexture = RC.CreateTexture(_saturnImage); _saturnMaterial.Tex = _saturnITexture; _saturnMaterial.Textureparam = _saturnIShaderParam; _saturnRenderer = new Renderer(planetgeometry); _saturnRenderer.material = _saturnMaterial; _saturn.AddComponent(_saturnRenderer); _saturn.AddComponent(_saturnAction); _saturn.transform.LocalPosition = new float3(5, 0, 0); _saturn.transform.LocalScale = new float3(0.3f, 0.3f, 0.3f); //SceneManager.Manager.AddSceneEntity(_saturn); _emptySaturn.AddChild(_saturn);*/ // Setup uranus _planet = new SceneEntity("Uranus", new PlanetAction(_speedearth * 509.30f), _emptyUranus, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/uranus.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(6, 0, 0); _planet.transform.GlobalScale = new float3(0.12f, 0.12f, 0.12f); /*_uranus = new SceneEntity { name = "Uranus" }; _uranusAction.Init(_uranus); _uranusMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _uranusImage = RC.LoadImage("Assets/uranus.jpg"); _uranusIShaderParam = _uranusMaterial.sp.GetShaderParam("texture1"); _uranusITexture = RC.CreateTexture(_uranusImage); _uranusMaterial.Tex = _uranusITexture; _uranusMaterial.Textureparam = _uranusIShaderParam; _uranusRenderer = new Renderer(planetgeometry); _uranusRenderer.material = _uranusMaterial; _uranus.AddComponent(_uranusRenderer); _uranus.AddComponent(_uranusAction); _uranus.transform.LocalPosition = new float3(6, 0, 0); _uranus.transform.LocalScale = new float3(0.12f, 0.12f, 0.12f); //SceneManager.Manager.AddSceneEntity(_uranus); _emptyUranus.AddChild(_uranus);*/ // Setup neptun _planet = new SceneEntity("Neptun", new PlanetAction(_speedearth * 544.10f), _emptyNeptun, new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC), "Assets/neptune.jpg"), new Renderer(planetgeometry)); _planet.transform.GlobalPosition = new float3(7, 0, 0); _planet.transform.GlobalScale = new float3(0.14f, 0.14f, 0.14f); /*_neptun = new SceneEntity { name = "Neptun" }; _neptunAction.Init(_neptun); _neptunMaterial = new PlanetMaterial(MoreShaders.GetShader("diffuse2", RC)); _neptunImage = RC.LoadImage("Assets/neptune.jpg"); _neptunIShaderParam = _neptunMaterial.sp.GetShaderParam("texture1"); _neptunITexture = RC.CreateTexture(_neptunImage); _neptunMaterial.Tex = _neptunITexture; _neptunMaterial.Textureparam = _neptunIShaderParam; _neptunRenderer = new Renderer(planetgeometry); _neptunRenderer.material = _neptunMaterial; _neptun.AddComponent(_neptunRenderer); _neptun.AddComponent(_neptunAction); _neptun.transform.LocalPosition = new float3(7, 0, 0); _neptun.transform.LocalScale = new float3(0.14f, 0.14f, 0.14f); //SceneManager.Manager.AddSceneEntity(_neptun); _emptyNeptun.AddChild(_neptun);*/ SceneManager.Manager.StartActionCode(); // Random Rotations _emptyEarth.transform.LocalEulerAngles = new float3(0, 45, 0); _emptyMercury.transform.LocalEulerAngles = new float3(0, 55, 0); _emptyVenus.transform.LocalEulerAngles = new float3(0, 335, 0); _emptyMars.transform.LocalEulerAngles = new float3(0, 125, 0); _emptyJupiter.transform.LocalEulerAngles = new float3(0, 65, 0); _emptySaturn.transform.LocalEulerAngles = new float3(0, 95, 0); _emptyUranus.transform.LocalEulerAngles = new float3(0, 145, 0); _emptyNeptun.transform.LocalEulerAngles = new float3(0, 245, 0); //camrotation.Init(WorldOrigin); RC.ClearColor = new float4(1, 0, 0, 1); }
public override void Draw(DevicePanel d, SceneEntity entity, EditorEntity e, int x, int y, int Transparency) { //Code Goes Here }
private void UpdateAddEntity(uint entity_id) { if (entity_id > 0) { var entity = new SceneEntity(); entity.ID = entity_id; entity.Name = core_.EntityName(entity_id); entity.Type = core_.GetEntityType(entity_id); int type = (int)core_.GetEntityType(entity_id); scene_entity_category_[type].Children.Add(new SceneEntityViewModel(this, entity)); scene_entity_category_[type].Children.Last().SelectedInternal(true); } }
public override void OnDetachFromEntity(SceneEntity ety) { UnRegist(ControllerCommand.SET_SPEED, OnSpeedChange); base.OnDetachFromEntity(ety); }