public Node <INode> GetNode(string nodeName) { switch (nodeName) { case Forward.NAME: var nodeForward = new Forward() as INode; return(new Node <INode> (nodeForward)); case Vec3.NAME: INode nodeVec3 = new Vec3() as INode; return(new Node <INode>(nodeVec3)); case SplitVec3.NAME: INode nodeSplitVec3 = new SplitVec3() as INode; return(new Node <INode>(nodeSplitVec3)); case LookAtPosition.NAME: INode nodeLookAt = new LookAtPosition() as INode; return(new Node <INode>(nodeLookAt)); case ScreenToWorld.NAME: INode nodeScreenToWorld = new ScreenToWorld() as INode; return(new Node <INode>(nodeScreenToWorld)); default: return(null); } }
protected override void OnCreate() { inputSystem = World.GetExistingSystem <InputSystem>(); screenToWorld = World.GetExistingSystem <ScreenToWorld>(); // Category names are defined in Assets/PhysicsCategoryNames and assgined to PhysicsShape components in Editor collisionFilter = new CollisionFilter { BelongsTo = 1u << 30, // Set raycast to Input category CollidesWith = 0xffffffff, // Target everything GroupIndex = 0, }; }
public NavMeshEditor(View view, WorldScene scene, ScreenToWorld stw, ClientCommon.Mesh plane) { this.view = view; this.scene = scene; this.screenToWorld = stw; vertexModel = new Model { Mesh = plane, IsBillboard = true, Texture = view.content.Get<Texture>("blink.tga"), World = Matrix.Scaling(1, 1, 0), Effect = view.content.Get<Effect>("billboard.fx") }; CreateNextFace(); }
protected override void OnUpdate() { if (!created) { CreateScene(); s2w = World.GetExistingSystem <ScreenToWorld>(); created = true; } // remove ambient lights. they get converted from multiple scenes right now Entities.WithAll <AmbientLight>().ForEach((Entity e, ref Light l) => { l.intensity = 0; }).Run(); var di = GetSingleton <DisplayInfo>(); float dt = World.Time.DeltaTime; var input = World.GetExistingSystem <InputSystem>(); if (input.GetKey(KeyCode.LeftShift) || input.GetKey(KeyCode.RightShift)) { return; } // new camera from current camera if (input.GetKeyDown(KeyCode.W)) { if (cameraList.Length < 32) { Entity eNewCam = EntityManager.Instantiate(eCam); var cam = EntityManager.GetComponentData <Camera>(eNewCam); cam.viewportRect.x = (cameraList.Length % 8) / 9.0f; cam.viewportRect.width = 1.0f / 10.0f; cam.viewportRect.y = (cameraList.Length / 8) / 9.0f; cam.viewportRect.height = 1.0f / 10.0f; cam.backgroundColor.r = random.NextFloat(); cam.backgroundColor.g = random.NextFloat(); cam.backgroundColor.b = random.NextFloat(); EntityManager.SetComponentData <Camera>(eNewCam, cam); cameraList.Add(eNewCam); } } // C - Color if (input.GetKeyDown(KeyCode.C)) { drawColorIndex++; if (drawColorIndex == colorPalette.Length) { drawColorIndex = 0; } drawColor = colorPalette[drawColorIndex]; } // M - Material if (input.GetKeyDown(KeyCode.M)) { materialIndex++; switch (materialIndex) { case 2: case 0: eCurrentMaterial = ePlainMaterial; materialIndex = 0; break; case 1: eCurrentMaterial = eMetalMaterial; break; } } // S - Size if (input.GetKeyDown(KeyCode.S)) { drawSizeIndex++; if (drawSizeIndex == sizePalette.Length) { drawSizeIndex = 0; } drawSize = sizePalette[drawSizeIndex]; } // Z - Delete last shape if (input.GetKeyDown(KeyCode.Z)) { EndStroke(); if (strokeStack.Length > 0) { EntityManager.DestroyEntity(strokeStack[strokeStack.Length - 1]); strokeStack.RemoveAtSwapBack(strokeStack.Length - 1); } } // click to start drawing if (input.IsMousePresent()) { if (input.GetMouseButtonDown(0)) { BeginStroke(input.GetInputPosition()); } else if (input.GetMouseButton(0)) { ContinueStroke(input.GetInputPosition()); } else if (input.GetMouseButtonUp(0)) { EndStroke(); } } else if (input.IsTouchSupported()) { if (input.TouchCount() == 1) { Touch t0 = input.GetTouch(0); switch (t0.phase) { case TouchState.Began: BeginStroke(new float2(t0.x, t0.y)); break; case TouchState.Moved: ContinueStroke(new float2(t0.x, t0.y)); break; case TouchState.Canceled: case TouchState.Ended: EndStroke(); break; } } } }
protected override void OnCreate() { InputSystem = World.GetExistingSystem <InputSystem>(); ScreenToWorld = World.GetExistingSystem <ScreenToWorld>(); }
public Node <INode> GetNode(string nodeName) { switch (nodeName) { case DeltaTime.NAME: INode nodeDeltaTime = new DeltaTime() as INode; return(new Node <INode> (nodeDeltaTime)); case KeyDown.NAME: INode nodeKeyDown = new KeyDown() as INode; return(new Node <INode> (nodeKeyDown)); case Transform.NAME: INode nodeTransform = new Transform() as INode; return(new Node <INode> (nodeTransform)); case Vec3.NAME: INode nodeVec3 = new Vec3() as INode; return(new Node <INode> (nodeVec3)); case Key.NAME: INode nodeKey = new Key() as INode; return(new Node <INode> (nodeKey)); case FindByName.NAME: INode nodeFindByName = new FindByName() as INode; return(new Node <INode> (nodeFindByName)); case ObjectAttribute.NAME: INode nodeObjectAttribute = new ObjectAttribute() as INode; return(new Node <INode> (nodeObjectAttribute)); case SplitVec3.NAME: INode nodeSplitVec3 = new SplitVec3() as INode; return(new Node <INode> (nodeSplitVec3)); case Update.NAME: INode nodeUpdate = new Update() as INode; return(new Node <INode> (nodeUpdate)); case LateUpdate.NAME: INode nodeLateUpdate = new LateUpdate() as INode; return(new Node <INode> (nodeLateUpdate)); case MouseButtonDown.NAME: INode nodeMouseButtonDown = new MouseButtonDown() as INode; return(new Node <INode> (nodeMouseButtonDown)); case PlayerPreferences.NAME: INode nodePlayerPref = new PlayerPreferences() as INode; return(new Node <INode> (nodePlayerPref)); case SetActive.NAME: INode nodeSetActive = new SetActive() as INode; return(new Node <INode> (nodeSetActive)); case LoadScene.NAME: INode nodeLoadScene = new LoadScene() as INode; return(new Node <INode> (nodeLoadScene)); case MousePosition.NAME: INode nodeMousePosition = new MousePosition() as INode; return(new Node <INode> (nodeMousePosition)); case ScreenToWorld.NAME: INode nodeScreenToWorld = new ScreenToWorld() as INode; return(new Node <INode> (nodeScreenToWorld)); case LookAtPosition.NAME: INode nodeLookAt = new LookAtPosition() as INode; return(new Node <INode> (nodeLookAt)); case GetComponent.NAME: INode nodeGetComponent = new GetComponent() as INode; return(new Node <INode> (nodeGetComponent)); case Color.NAME: INode nodeColor = new Color() as INode; return(new Node <INode> (nodeColor)); case Instantiate.NAME: INode instantiate = new Instantiate() as INode; return(new Node <INode> (instantiate)); case MaterialColor.NAME: INode materialColor = new MaterialColor() as INode; return(new Node <INode> (materialColor)); case Quit.NAME: INode quit = new Quit() as INode; return(new Node <INode> (quit)); case LoadTextFileAtPath.NAME: INode loadTextFileAtPath = new LoadTextFileAtPath() as INode; return(new Node <INode>(loadTextFileAtPath)); case StreamingAssetsPath.NAME: INode streamingAssetsPath = new StreamingAssetsPath() as INode; return(new Node <INode>(streamingAssetsPath)); case AddConstellationBehaviourFromJSON.NAME: INode addConstellationBehaviourFromJSON = new AddConstellationBehaviourFromJSON() as INode; return(new Node <INode>(addConstellationBehaviourFromJSON)); default: return(null); } }
public Node <INode> GetNode(string nodeName) { switch (nodeName) { case DeltaTime.NAME: INode nodeDeltaTime = new DeltaTime() as INode; return(new Node <INode> (nodeDeltaTime)); case KeyDown.NAME: INode nodeKeyDown = new KeyDown() as INode; return(new Node <INode> (nodeKeyDown)); case Transform.NAME: INode nodeTransform = new Transform() as INode; return(new Node <INode> (nodeTransform)); case Vec3.NAME: INode nodeVec3 = new Vec3() as INode; return(new Node <INode> (nodeVec3)); case Key.NAME: INode nodeKey = new Key() as INode; return(new Node <INode> (nodeKey)); case FindByName.NAME: INode nodeFindByName = new FindByName() as INode; return(new Node <INode> (nodeFindByName)); case ObjectAttribute.NAME: INode nodeObjectAttribute = new ObjectAttribute() as INode; return(new Node <INode> (nodeObjectAttribute)); case SplitVec3.NAME: INode nodeSplitVec3 = new SplitVec3() as INode; return(new Node <INode> (nodeSplitVec3)); case Update.NAME: INode nodeUpdate = new Update() as INode; return(new Node <INode> (nodeUpdate)); case LateUpdate.NAME: INode nodeLateUpdate = new LateUpdate() as INode; return(new Node <INode> (nodeLateUpdate)); case MouseButtonDown.NAME: INode nodeMouseButtonDown = new MouseButtonDown() as INode; return(new Node <INode> (nodeMouseButtonDown)); case PlayerPreferences.NAME: INode nodePlayerPref = new PlayerPreferences() as INode; return(new Node <INode> (nodePlayerPref)); case SetActive.NAME: INode nodeSetActive = new SetActive() as INode; return(new Node <INode> (nodeSetActive)); case LoadScene.NAME: INode nodeLoadScene = new LoadScene() as INode; return(new Node <INode> (nodeLoadScene)); case MousePosition.NAME: INode nodeMousePosition = new MousePosition() as INode; return(new Node <INode> (nodeMousePosition)); case ScreenToWorld.NAME: INode nodeScreenToWorld = new ScreenToWorld() as INode; return(new Node <INode> (nodeScreenToWorld)); case LookAtPosition.NAME: INode nodeLookAt = new LookAtPosition() as INode; return(new Node <INode> (nodeLookAt)); case GetComponent.NAME: INode nodeGetComponent = new GetComponent() as INode; return(new Node <INode> (nodeGetComponent)); case Color.NAME: INode nodeColor = new Color() as INode; return(new Node <INode> (nodeColor)); default: return(null); } }
void Update() { debugtext.text = selectedType == 0 ? "HARVEST CACTUS" : selectedType == 1 ? "PLACE CACTUS" : "PlACE SOLAR PANEL"; if (Input.GetKeyDown(KeyCode.Q)) { selectedType--; } if (Input.GetKeyDown(KeyCode.E)) { selectedType++; } selectedType = Mathf.Clamp(selectedType, 0, 2); selectionOverlay.gameObject.SetActive(false); PlayerInfo.canMove = true; DisplayOverlay(); DisableSlider(); Vector2Int newMousePos = ScreenToWorld.GetMousePoint(); if (newMousePos != mousePos) { currentTileTime = 0; } mousePos = newMousePos; if (Input.GetMouseButton(0)) { IncreaseActionTime(); int mouseOverType = WorldData.GetTile(mousePos.x, mousePos.y).type; switch (mouseOverType) { case 0: // Mouse over sand / empty tile if (selectedType == 1) { PlantCactus(); } if (selectedType == 2) { PlaceMachine(); } break; case 1: // Mouse over cactus if (selectedType == 0) { HarvestCactus(); } if (selectedType == 3) { Debug.Log("harvest cactus"); } break; case 2: // Mouse over machine if (selectedType == 0) { Debug.Log("open building GUI"); } if (selectedType == 3) { Debug.Log("destroy building"); } break; } } }
public Vector2 GetScreenPositionInWorld(ScreenToWorld s) { Vector2 Pos = Vector2.zero; Vector2 ScreenSize = GetScreenSize(); switch (s) { case ScreenToWorld.TopLeft: Pos = GameCamera.ScreenToWorldPoint(new Vector3(0, 0)); break; case ScreenToWorld.TopRight: break; case ScreenToWorld.BottomLeft: break; case ScreenToWorld.BottomRight: break; } return Pos; }