protected override void Update() { base.Update(); if (Arrived()) { GetComponent <Animation>().Stop(); } else { GetComponent <Animation>().Play(); } if (m_canGoToPlayer == true) { if (m_dead == false) { m_agent.destination = GameMediator.GetPlayer().transform.position; } } TimerManager(); }
public void Test() { SceneManager.LoadScene("SampleScene"); Resume(); GameMediator.GetWaveManager().ResetEnemies(); GameMediator.UpdateEnemiesKilled(0); }
public virtual void LoadContent(GraphicsDevice graphicsDevice, ContentManager contentManager, ScreenDescription screenDescription) { ExecutionState = InnerExecutionState.INIT; var width = (int)screenDescription.ScreenSizeInformation.WidhtInnerScreen; var height = (int)screenDescription.ScreenSizeInformation.HeightInnerScreen; _spriteBatch = new SpriteBatch(graphicsDevice); List <GameObject> gameObjects = new List <GameObject>(); foreach (GameObjectDescription description in screenDescription.Items) { var texture = contentManager.Load <Texture2D>(description.AssetName); var obj = GameObjectBuilder.Create() .SetPosition(description.CurrentPosition.X, description.CurrentPosition.Y) .SetOrientation(description.ObjectOrientation) .SetAssetName(description.AssetName) .SetSize((int)description.Width, (int)description.Height) .SetObjectType(description.GameObjectType) .Build(contentManager); gameObjects.Add(obj); } var background = contentManager.Load <Texture2D>(screenDescription.AssetNameBackground); _gameMediator = new GameMediator(screenDescription.ScreenSizeInformation); _gameMediator.Set(gameObjects.ToArray()); _gameMediator.SetBackground(background); // TODO remove after test _gameMediator.Set(contentManager.Load <SpriteFont>("Labels/LabelLarge")); }
public override void Death() { base.Death(); int nb = GameMediator.EnemiesKilled(); nb++; GameMediator.UpdateEnemiesKilled(nb); m_dead = true; Destroy(gameObject); }
public override void Execute(INotification notification) { var a = notification.Body as EnemyItem; PlayerDataProxy proxy = MyFacade.Instance.RetrieveProxy(PlayerDataProxy.NAME) as PlayerDataProxy; proxy.GetReward(a.GetModel().Reward *Random.Range(0, 100)); GameMediator mediator = MyFacade.Instance.RetrieveMediator(GameMediator.NAME) as GameMediator; mediator.RemoveItem(a); Object.Destroy(a.gameObject); }
public void LaunchGame() { Time.timeScale = 1; Cursor.lockState = CursorLockMode.Locked; if (GameMediator.GetPlayer() != null) { GameMediator.GetPlayer().LockControls(false); } SceneManager.LoadScene("SampleScene"); Time.timeScale = 1; }
private static Form GetContainerView() { Form containerView = null; try { var gameMediator = new GameMediator(); containerView = gameMediator.GetContainerView(); } catch (Exception ex) { MessageBox.Show(ex.Message, Resources.Title_Error, MessageBoxButtons.OK, MessageBoxIcon.Error); } return containerView; }
protected override void Attack() { m_attackBox.center = GameMediator.GetPlayer().transform.position; m_attackBox.center += GameMediator.GetPlayer().transform.forward * 1.125f; Collider[] hitColliders = Physics.OverlapBox(m_attackBox.center, m_attackBox.extents, Quaternion.identity); int i = 0; while (i < hitColliders.Length) { Enemy enemy = hitColliders[i].GetComponent <Enemy>(); if (enemy != null) { enemy.Hit(m_damage); } i++; } GetComponent <Animation>().Play(); }
private Vector3 GetClosestWindowPosition() { Vector3 closest = Vector3.one; float sqrDistance = Mathf.Infinity; for (int i = 0; i < GameMediator.GetWindows().Count; i++) { if (GameMediator.GetWindows()[i] != null) { float actualSqrDistance = (GameMediator.GetWindows()[i].transform.position - transform.position).sqrMagnitude; if (actualSqrDistance < sqrDistance) { sqrDistance = actualSqrDistance; closest = GameMediator.GetWindows()[i].transform.position; } } } return(closest); }
void CheckIfEnd() { if (GameMediator.GetPlayer().m_CurrentLife <= 0) { test = true; m_Result.text = "LOOSE"; } else if (GameMediator.GetWaveManager().m_end&& GameMediator.IsAllEnemiesKilled()) { test = true; m_Result.text = "WIN"; } else { return; } m_CanvasEnd.gameObject.SetActive(true); Time.timeScale = 0; Cursor.lockState = CursorLockMode.None; GameMediator.GetPlayer().LockControls(true); }
protected override void Start() { Debug.LogWarning("For Jump : Put tag 'Ground' on the ground"); base.Start(); m_AmmoCount = m_MaxAmmoCount; m_IsJumping = false; m_Direction = Vector3.zero; m_Rb = GetComponent <Rigidbody>(); InitInputs(); m_Weapons = new List <Weapon>(); m_Weapons.Add(GameObject.FindObjectOfType <Punch>()); m_Weapons[0].gameObject.SetActive(true); m_Weapons.Add(GameObject.FindObjectOfType <Submachine>()); m_Weapons[m_Weapons.Count - 1].gameObject.SetActive(false); GameMediator.RegisterPlayer(this); Cursor.lockState = CursorLockMode.Locked; }
public override void Execute(INotification notification) { Debug.Log("Sub2"); var otherProxy = MyFacade.Instance.RetrieveProxy(OtherDataProxy.NAME) as OtherDataProxy; if (otherProxy.GetLives() <= 0) { return; } GameMediator mediator = Facade.RetrieveMediator(GameMediator.NAME) as GameMediator; mediator.Hide(); int id = (int)notification.Body; LevelProxy levelProxy = Facade.RetrieveProxy(LevelProxy.NAME) as LevelProxy; EnemyProxy enemyProxy = Facade.RetrieveProxy(EnemyProxy.NAME) as EnemyProxy; var level = levelProxy.LevelsLists[id]; foreach (var enemy in level.Enemies) { var a = mediator.InstanceEnemyItem(); var aa = a.GetComponentInChildren <EnemyItem>(true); aa.UpdateItem(enemyProxy.GetEnemy(enemy.EnemyId)); a.transform.localScale = mediator.GetEnemySize(); a.transform.position = new Vector3(enemy.EnemyPosX * 3, 1.5f, enemy.EnemyPosY * 3); a.SetActive(true); aa.Destroyed += () => SendNotification(MyFacade.ENEMY_DESTROYED, aa); mediator.AddItems(aa); } mediator.Show(); }
private void Pause() { Time.timeScale = 0; Cursor.lockState = CursorLockMode.None; GameMediator.GetPlayer().LockControls(true); }
// Update is called once per frame void Update() { m_IndexWave.text = (GameMediator.GetWaveManager().GetAllEnemiesToPop() - GameMediator.EnemiesKilled()).ToString(); m_HealthBar.fillAmount = GameMediator.GetPlayer().m_CurrentLife / GameMediator.GetPlayer().m_MaxLife; m_NumberAmmo.text = GameMediator.GetPlayer().m_AmmoCount.ToString(); }
public override void Execute(INotification notification) { GameProxy _proxy = (GameProxy)this.Facade.RetrieveProxy(GameProxy.NAME); GameMediator _mediator = (GameMediator)this.Facade.RetrieveMediator(GameMediator.NAME); switch (notification.Name) { case GameNotify.OpenPlayerDialog: { Player entity = (Player)notification.Body; Debug.Log(entity); break; } case GameNotify.OpenWait: { _mediator.ShowWaitUI(true); break; } case GameNotify.CloseWait: { _mediator.ShowWaitUI(false); break; } case GameNotify.OpenTalk: { TalkData[] entity = (TalkData[])notification.Body; _proxy.SetTalkDatas(entity); _mediator.ShowTalkUI(true); _mediator.InitTalkUI(_proxy.GetTalkData()); break; } case GameNotify.TalkClick: { bool isend = _proxy.IsTalkEnd(); if (isend) { _mediator.ShowTalkUI(false); if (_proxy.IsTalkChangeArea()) //场景切换 { TalkData talkData = _proxy.GetTalkData(1); NpcHandler.Inst.ChangeArea(talkData.target); } } else { _mediator.InitTalkUI(_proxy.GetTalkData()); } break; } case GameNotify.LoadChageArea: { _mediator.LoadChageArea(); break; } } }
private void Awake() { GameMediator.RegisterWindow(this); m_navLink = GetComponent <OffMeshLink>(); m_navLink.enabled = true; }
public override bool Effect() { return(GameMediator.GetPlayer().Heal(m_HealValue)); }
public override bool Effect() { return(GameMediator.GetPlayer().TakeAmmos(m_AmmoCount)); }
private void Start() { GameMediator.RegisterWaveManager(this); }
public void Resume() { Time.timeScale = 1; Cursor.lockState = CursorLockMode.Locked; GameMediator.GetPlayer().LockControls(false); }
private void InitMediator() { _mediator = new GameMediator(_container); }