private void setupEntityProcessors() { var player = findEntity("player"); var playerComponent = player.getComponent <PlayerComponent>(); var mapSize = new Vector2(_tiledMap.widthInPixels, _tiledMap.heightInPixels); _camera = new CameraSystem(player) { mapLockEnabled = true, mapSize = mapSize, followLerp = 0.08f, deadzoneSize = new Vector2(20, 10) }; addEntityProcessor(_camera); var battleSystem = (BattleSystem)addEntityProcessor(new BattleSystem(playerComponent)); battleSystem.BulletEffectTexture = content.Load <Texture2D>(Content.Effects.bullet_effects); addEntityProcessor(new ProjectilesSystem(player)); addEntityProcessor(new BattleAreasSystem(player, _hudEntity.getComponent <MapHudComponent>())); addEntityProcessor(new TransferSystem(new Matcher().all(typeof(TransferComponent)), player)); addEntityProcessor(new NpcInteractionSystem(playerComponent)); addEntityProcessor(new HostagesSystem(playerComponent)); }
public RealtimeWorld(GameWindow window, IAudioAdapter audioAdapter, IGraphicsHost graphicsHost) { var graphics = graphicsHost.GetGraphicsAdapter(); var audioSystem = new AudioSystem(this, audioAdapter); var cameraSystem = new CameraSystem(this, graphicsHost); var actorSystem = new ActorSystem(this); var animationSystem = new AnimationSystem(this); // new up systems, order here will be order of update Systems.Add(new OpenTKInputSystem(this, window)); Systems.Add(new BspSystem(this)); Systems.Add(new PhysxPhysicsSystem(this)); Systems.Add(new MoverSystem(this)); Systems.Add(cameraSystem); Systems.Add(audioSystem); Systems.Add(actorSystem); Systems.Add(animationSystem); Systems.Add(new ScriptSystem(this, audioSystem, cameraSystem, actorSystem, animationSystem)); Systems.Add(new RenderCollectorSystem(this, graphics)); RenderSystems.Add(new RenderPipelineSystem(this, graphics)); globalResources.Add(new RenderListStore()); globalResources.Add(new InputStore()); }
public virtual void UpdateBeforeSimulation() { ProfilerShort.Begin("Thrusters and gyro"); ThrustSystem.UpdateBeforeSimulation(); GyroSystem.UpdateBeforeSimulation(); ProfilerShort.End(); if (MyFakes.ENABLE_WHEEL_CONTROLS_IN_COCKPIT) { ProfilerShort.Begin("Wheels"); WheelSystem.UpdateBeforeSimulation(); ProfilerShort.End(); } ProfilerShort.Begin("Conveyors"); ConveyorSystem.UpdateBeforeSimulation(); ProfilerShort.End(); ProfilerShort.Begin("Control"); ControlSystem.UpdateBeforeSimulation(); ProfilerShort.End(); ProfilerShort.Begin("Cameras"); CameraSystem.UpdateBeforeSimulation(); ProfilerShort.End(); if (MySession.Static.Settings.EnableOxygen) { ProfilerShort.Begin("Oxygen"); OxygenSystem.UpdateBeforeSimulation(); ProfilerShort.End(); } }
public ILevel Update(GameTime gameTime, Camera camera, ref GameSettings gameSettings, KeyboardState currentKey, KeyboardState prevKey, MouseState currentMouse, MouseState prevMouse) { #region Debug #endregion // Camera Updates CameraSystem.ControlCamera(currentKey, prevKey, camera, gameTime); CameraSystem.PanCamera(camera, gameTime); // Entity Movement Updates MovementSystem.InputMovement(currentKey, prevKey, gameTime, this._player.PositionInfo, this._player.MovementInfo); this._creatures.ForEach(c => { switch (c.MovementInfo.MovementType) { case MovementType.AI: //AI Movement System Call break; case MovementType.INPUT: MovementSystem.InputMovement(currentKey, prevKey, gameTime, c.PositionInfo, c.MovementInfo); break; } }); // Entity Information Updates // Set up for next frame CameraSystem.UpdateCameraTarget(this._player, this._creatures, camera); return(this); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { GameEntityFactory.GraphicsDevice = GraphicsDevice; frameCounterSystem = new FrameCounterSystem(true, this.Window); modelRenderSystem = new ModelRenderSystem(); modelRenderSystem.graphicsDevice = GraphicsDevice; playerInputSystem = new PlayerInputSystem(); cameraSystem = new CameraSystem(); uiSystem = new UIRenderSystem(); collisionHandlingSystem = new CollisionHandlingSystem(); aiSystem = new AiSystem(); collisionDetectionSystem = new CollisionDetectionSystem(false); frictionSystem = new FrictionSystem(); gravitySystem = new GravitySystem(); transformSystem = new TransformSystem(); SystemManager.Instance.AddToUpdateables( cameraSystem, collisionDetectionSystem, transformSystem, gravitySystem, frictionSystem, playerInputSystem, collisionHandlingSystem, aiSystem, frameCounterSystem ); SystemManager.Instance.AddToDrawables(modelRenderSystem, frameCounterSystem, uiSystem); base.Initialize(); }
/// <summary> /// Initializes the <see cref="Komodo.Core.Engine.Graphics.GraphicsManager"/> and all <see cref="Komodo.Core.ECS.Systems.ISystem"/> objects. /// </summary> public void Initialize() { GraphicsManager.Initialize(); DefaultSpriteShader = new BasicEffect(GraphicsManager.GraphicsDeviceManager.GraphicsDevice) { TextureEnabled = true, VertexColorEnabled = true, }; GraphicsManager.VSync = false; CameraSystem.Initialize(); SoundSystem.Initialize(); var physicsSystems = PhysicsSystems.ToArray(); foreach (var system in physicsSystems) { system.Initialize(); } var render3DSystems = Render3DSystems.ToArray(); foreach (var system in render3DSystems) { system.Initialize(); } var render2DSystems = Render2DSystems.ToArray(); foreach (var system in render2DSystems) { system.Initialize(); } BehaviorSystem.Initialize(); }
public LimitToCameraFrustum(BasePlayer player, float detectionOffset) { cameraSystem = CameraManager.CameraReference; this.player = player; this.detectionOffset = detectionOffset; cam = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>(); }
public static void InitViewportControl(DragReceiver drag_) { _drag = drag_; _drag.WhenDragBegin = d => { _focusOverride = _dragFocusOverride; _dragInertiaValue = 0; CameraSystem.WorldPosition = MainCamera.transform.position; }; _drag.WhenDrag = (d, offset, pos) => { var targetX = CameraSystem.X + offset.x * UnitPerPixel; var targetY = CameraSystem.Y + offset.y * UnitPerPixel; if (PositionLimit != null) { (targetX, targetY) = PositionLimit.Limit(targetX, targetY); } MainCamera.transform.position = CameraSystem.SystemToWorld( targetX, targetY, CameraSystem.Z); OnDrag.Invoke(offset, new Vector3(targetX, targetY, CameraSystem.Z)); }; _drag.WhenDragEnd = (d, delta) => { _focusOverride = false; _dragInertiaValue = delta.magnitude; _dragInertiaDelta = delta / _dragInertiaValue; CameraSystem.WorldPosition = MainCamera.transform.position; }; _drag.WhenPinch = (d, start, distance) => { var diff = (distance - start) * zoomSetting.dragFactor * zoomSetting.range * _screenHeightInverse; TargetZoom(_zoomTarget - diff); }; ViewportControl(true); }
public void UpdateBeforeSimulation() { ProfilerShort.Begin("Thrusters"); MyEntityThrustComponent thrustComp; if (CubeGrid.Components.TryGet(out thrustComp)) { thrustComp.UpdateBeforeSimulation(false, Sync.IsServer || CubeGrid.GridSystems.ControlSystem.IsLocallyControlled); } ProfilerShort.End(); // Only update gyros if there are gyros in the system if (GyroSystem.GyroCount > 0) { ProfilerShort.Begin("Gyros"); GyroSystem.UpdateBeforeSimulation(); ProfilerShort.End(); } if (MyFakes.ENABLE_WHEEL_CONTROLS_IN_COCKPIT) { ProfilerShort.Begin("Wheels"); WheelSystem.UpdateBeforeSimulation(); ProfilerShort.End(); } /*ProfilerShort.Begin("Conveyors"); * ConveyorSystem.UpdateBeforeSimulation(); * ProfilerShort.End();*/ ProfilerShort.Begin("Control"); ControlSystem.UpdateBeforeSimulation(); ProfilerShort.End(); ProfilerShort.Begin("Cameras"); CameraSystem.UpdateBeforeSimulation(); ProfilerShort.End(); if (MySession.Static.Settings.EnableOxygen && MySession.Static.Settings.EnableOxygenPressurization) { ProfilerShort.Begin("Oxygen"); GasSystem.UpdateBeforeSimulation(); ProfilerShort.End(); } if (MyPerGameSettings.EnableJumpDrive) { ProfilerShort.Begin("Jump"); JumpSystem.UpdateBeforeSimulation(); ProfilerShort.End(); } ProfilerShort.Begin("Ship sounds"); if (ShipSoundComponent != null) { ShipSoundComponent.Update(); } ProfilerShort.End(); }
private void OnStartMakingDrink() { if (!usingBar) { playerState.PlayerStatus = PlayerStatus.Bar; CameraSystem.GetCameraSystem().SetCameraMode(CameraSystem.CameraMode.Bar); usingBar = true; } }
public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; cameraSystem = new CameraSystem(); transformSystem = new TransformSystem(); modelSystem = new ModelSystem(); heightmapSystem = new HeightmapSystem(); }
void Start() { // get door pieces by name numberOfDoorPieces = gameObject.transform.childCount; interval = animationTime / numberOfDoorPieces; audioData = GetComponent <AudioSource>(); intervalCount = interval; cameraInstance = Camera.main.gameObject.GetComponent <CameraSystem>(); }
public static void NullReferences() { _gm = null; _uiManager = null; _inputController = null; _spawnerManager = null; _cameraSystem = null; _cutsceneManager = null; }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here cameraSystem = new CameraSystem(); transformSystem = new TransformSystem(); modelSystem = new ModelSystem(); heightmapSystem = new HeightmapSystem(); base.Initialize(); }
/// <summary> /// Gets the camera component of the camera system. /// </summary> private void FetchCamerSystem() { CameraSystem camSys = CameraManager.CameraReference; if (camSys != null) { cam = camSys.Cam; } }
private void OnTriggerExit2D(Collider2D other) { Player player = other.GetComponent <Player>(); if (player != null && !player.IsDead) { CameraSystem cameraSystem = _camera.GetComponent <CameraSystem>(); cameraSystem.ResetCamera(); } }
public override void Initialize() { Debug.WriteLine("[Game] TestScene.Initialize()"); _cameraSystem = new CameraSystem(Game); _player = new Player(Game, new Vector2(50, 50), new Vector2(16, 24)); _player.Initialize(); Game.Components.Add(_player); base.Initialize(); }
private void SystemInitialize() { AudioSystemControl = new AudioSystem(music, sounds, audioSource); MouseSystemControl = new MouseSystem(cursors); InputSystemControl = new InputSystem(); SlingSystemControl = new SlingSystem(); CameraSystemControl = new CameraSystem(); BirdControlSystemControl = new BirdControlSystem(); ScoreSystemControl = new ScoreSystem(); JudgeSystemControl = new JudgeSystem(); }
public void Init() { mStageSystem = new StageSystem(); mTankSystem = new TankSystem(); mBulletSystem = new BulletSystem(); mCameraSystem = new CameraSystem(); mStageSystem.Init(); mTankSystem.Init(); mBulletSystem.Init(); mCameraSystem.Init(); }
private void Start() { cameraSystem = FindObjectOfType <CameraSystem>(); state = State.DISABLE; imageLightPanel = btnLightPanel.GetComponent <Image>(); // 슬롯 패널의 이미지 컴포넌트 참조 취득 // 슬롯 오브젝트가 자신의 슬롯이미지 오브젝트를 보여질 버튼UI 이미지 컴포넌트에 링크 // ex) 액티브 0번 버튼 UI의 이미지 = 액티브 0번슬롯 오브젝트의 슬롯이미지 }
void Start() { _cameraSystem = GetComponent <CameraSystem>(); if (_cameraSystem == null) { Debug.LogWarning("No CameraSystem on object with CameraParticleEffectManager : " + gameObject.name); } else { _cameraSystem.CameraStateChanged += ChangeState; } }
public override void OnInspectorGUI() { _c_s = target as CameraSystem; if (_c_s._Mode == CameraSystem.Mode.Disable) { if (GUILayout.Button("啟用編輯")) { _c_s._Mode = CameraSystem.Mode.Enable; } return; } if (_c_s._Mode == CameraSystem.Mode.Enable) { if (GUILayout.Button("關閉編輯")) { _c_s._Mode = CameraSystem.Mode.Disable; return; } _c_s._SwitchButtonText = EditorGUILayout.ObjectField("顯示切換按鈕文字控制", _c_s._SwitchButtonText, typeof(Text), true) as Text; _c_s._LeftButton = EditorGUILayout.ObjectField("左按鈕控制", _c_s._LeftButton, typeof(Button), true) as Button; _c_s._RightButton = EditorGUILayout.ObjectField("右按鈕控制", _c_s._RightButton, typeof(Button), true) as Button; _c_s._SpectatorsName = EditorGUILayout.ObjectField("被觀戰者控制", _c_s._SpectatorsName, typeof(Text), true) as Text; _c_s._CameraMode = (CameraSystem.CameraMode)EditorGUILayout.EnumPopup("攝影機模式", _c_s._CameraMode); if (_c_s._CameraMode == CameraSystem.CameraMode.Local) { CameraSystem._LocalPlayer = EditorGUILayout.ObjectField("本地玩家", CameraSystem._LocalPlayer, typeof(Transform), true) as Transform; _c_s._Pivot = EditorGUILayout.ObjectField("攝影機樞紐校正物件", _c_s._Pivot, typeof(Transform), true) as Transform; _c_s._Y_Offset = EditorGUILayout.FloatField("偏移高度數值", _c_s._Y_Offset); _c_s._Distance = EditorGUILayout.FloatField("距離於目標物數值", _c_s._Distance); _c_s._SmoothSpeed = EditorGUILayout.FloatField("平滑速率", _c_s._SmoothSpeed); return; } if (_c_s._CameraMode == CameraSystem.CameraMode.Spectator) { _c_s._FixedTouchField = EditorGUILayout.ObjectField("觸控系統", _c_s._FixedTouchField, typeof(FixedTouchField), true) as FixedTouchField; serializedObject.Update(); EditorGUILayout.PropertyField(_SpectatorPlayerList, new GUIContent("觀察總玩家列表"), true); serializedObject.ApplyModifiedProperties(); _c_s._Y_SpectatorOffset = EditorGUILayout.FloatField("偏移高度數值", _c_s._Y_SpectatorOffset); _c_s._SpectatorSmoothSpeed = EditorGUILayout.FloatField("平滑速率", _c_s._SpectatorSmoothSpeed); _c_s._CameraAngleSpeed = EditorGUILayout.FloatField("左右觸控靈敏度", _c_s._CameraAngleSpeed); _c_s._CameraPosSpeed = EditorGUILayout.FloatField("上下觸控靈敏度", _c_s._CameraPosSpeed); return; } if (_c_s._CameraMode == CameraSystem.CameraMode.Scene) { serializedObject.Update(); EditorGUILayout.PropertyField(_SceneCameraList, new GUIContent("場景總攝影機列表"), true); serializedObject.ApplyModifiedProperties(); _c_s._SceneCameraSmoothSpeed = EditorGUILayout.FloatField("平滑速率", _c_s._SceneCameraSmoothSpeed); } } }
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } CameraSystem.Move(-1, 0); EntityUpdater.Update(gameTime); base.Update(gameTime); }
public void OnTriggerEnter2D(Collider2D other) { Player player = other.GetComponent <Player>(); if (player != null) { Collider2D localCollider2D = gameObject.GetComponent <Collider2D>(); CameraSystem cameraSystem = _camera.GetComponent <CameraSystem>(); cameraSystem.MinVector = localCollider2D.bounds.min; cameraSystem.MaxVector = localCollider2D.bounds.max; } }
private void Awake() { if (!instance) { instance = this; } basePosition = transform.localPosition; timeID = Shader.PropertyToID("_Timer"); speedID = Shader.PropertyToID("_Speed"); sizeID = Shader.PropertyToID("_Size"); ResetShockwave(); }
public override void OnInspectorGUI() { //インスタンス化 CameraSystem Edit = target as CameraSystem; EditorGUILayout.LabelField("カメラ追従させるターゲット"); Edit.Target = (GameObject)EditorGUILayout.ObjectField("Target", Edit.Target, typeof(Object), true); EditorGUILayout.Space(); EditorGUILayout.LabelField("カメラの移動速度"); Edit.C_LerpSpeed = EditorGUILayout.IntSlider("0~10", Edit.C_LerpSpeed, 0, 10); }
void OnDestroy() { this._player.Shutdown(); this._cameraSystem.Shutdown(); this._obstaclelSystem.Shutdown(); this._player = null; this._cameraSystem = null; this._obstaclelSystem = null; UGame.EventManager.StopListening(EventNames.PAUSE_GAME, PauseGame); UGame.EventManager.StopListening(EventNames.RESUME_GAME, ResumeGame); UGame.EventManager.StopListening(EventNames.PLAYER_PASS_OBSTACLE, PlayerPassObstacle); UGame.EventManager.StopListening(EventNames.GMAE_OVER, GameOver); }
public void Start() { TeleportCharacter = GameObject.FindGameObjectWithTag("Player"); if (TeleportCharacter) { characterMover = TeleportCharacter.GetComponent <CharacterMover>(); if (Destination) // 목적지 없는 경우는 대체 왜있는거지? { DesTransform = Destination.GetComponent <Transform>(); } cameraSystem = GameObject.FindObjectOfType <CameraSystem>(); characterAnimator = TeleportCharacter.GetComponent <Animator>(); } }
/// <summary> /// Updates <see cref="Komodo.Core.ECS.Systems.ISystem"/> objects. /// </summary> /// <param name="gameTime">Time passed since last <see cref="Update(GameTime)"/>.</param> public void Update(GameTime gameTime) { InputManager.Update(); BehaviorSystem.PreUpdate(gameTime); CameraSystem.PreUpdate(gameTime); SoundSystem.PreUpdate(gameTime); var physicsSystems = PhysicsSystems.ToArray(); foreach (var system in physicsSystems) { system.PreUpdate(gameTime); } var render3DSystems = Render3DSystems.ToArray(); foreach (var system in render3DSystems) { system.PreUpdate(gameTime); } var render2DSystems = Render2DSystems.ToArray(); foreach (var system in render2DSystems) { system.PreUpdate(gameTime); } BehaviorSystem.UpdateComponents(gameTime); CameraSystem.UpdateComponents(gameTime); SoundSystem.UpdateComponents(gameTime); foreach (var system in physicsSystems) { system.UpdateComponents(gameTime); } BehaviorSystem.PostUpdate(gameTime); CameraSystem.PostUpdate(gameTime); SoundSystem.PostUpdate(gameTime); foreach (var system in physicsSystems) { system.PostUpdate(gameTime); } foreach (var system in render3DSystems) { system.PostUpdate(gameTime); } foreach (var system in render2DSystems) { system.PostUpdate(gameTime); } }
public ScriptEngine(Scene scene, IScriptExecutor executionOrchestrator, AudioSystem audioSystem, CameraSystem cameraSystem, ActorSystem actorSystem, AnimationSystem animationSystem) { this.scene = scene; this.executionOrchestrator = executionOrchestrator; this.audioSystem = audioSystem; this.cameraSystem = cameraSystem; this.actorSystem = actorSystem; this.animationSystem = animationSystem; this.rng = new Random(42); }
void Start() { cameraSystem = GameObject.Find("MainCamera").GetComponent<CameraSystem>(); controller = new Controller(); existPlamFlag = false; }