public override void Initialize() { m_audioManager = AudioManager.GetInstance(); m_audioManager.LoadSound("SongOfWaterSpray",DataReader.Load<SoundEffect>("MusicAndSoundEffect/SoundEffect/SongOfWaterSpray")); m_audioManager.LoadSong("SongOfRunningGame", DataReader.Load<Song>("MusicAndSoundEffect/Song/MusicOfRunningGameState")); m_levels = MapManager.GetInstance(); m_world = WorldManager.GetInstance(); m_sence = SenceManager.GetInstance(); m_effect = GraphicsManager.GetInstance(); m_stateManager = StateManager.GetInstance(); //m_levels.Load( "Map6" ); m_levels.Goto( "Map0" ); //m_levels.Load("Map0"); player = m_world.Player; m_renderTarget2D = new RenderTarget2D( HealGame.Game.GraphicsDevice, 800, 600, false, HealGame.Game.GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.Depth24Stencil8 ); m_resolveTarget = new RenderTarget2D( HealGame.Game.GraphicsDevice, 800, 600, false, HealGame.Game.GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.Depth24Stencil8); //DataReader.Load<Effect>("Effect/Blur"); }
public static void Update(GameTime gameTime, IList<Unit> list, IList<Item> i_list, Player player) { AIBase.Player = player; AIBase.EnemyList = list; AIBase.ItemList = i_list; Unit[] units = new Unit[list.Count]; list.CopyTo(units,0); foreach (var ptr in units) { switch (ptr.Status) { case AIBase.Status.Normal: { AINormal.NormalBehave(ptr, gameTime); break; } case AIBase.Status.Turning: { AITurning.AITurn(ptr); break; } case AIBase.Status.Chase: { AIChase.Chase(ptr, gameTime); break; } case AIBase.Status.Attck: { AIAttack.Attack(ptr, gameTime); break; } case AIBase.Status.Dead: { AIDead.Dead(ptr, gameTime); break; } case AIBase.Status.Freeze: { AIFreeze.Freeze(ptr, gameTime); break; } case AIBase.Status.Flee: { AIFlee.Flee(ptr, gameTime); break; } case AIBase.Status.Alarm: { AIAlarm.Alarm(ptr, gameTime); break; } case AIBase.Status.Judge: { AIJudge.Judge(ptr,gameTime); break; } case AIBase.Status.Flat: { AIFlat.Flat(ptr,gameTime); break; } case AIBase.Status.Kick: { AIKick.Kick(ptr,gameTime); break; } } ptr.Update(gameTime); } foreach (var ptr in units) { if (ptr.Status == AIBase.Status.Dead) continue; ptr.ToTurnStatus(); if (!(ptr is Player)) { if (Enemy.Detected((Enemy) ptr) && AIBase.Player.FakeID != ptr.Id) //如果被看到 { if (ptr.Status == AIBase.Status.Normal) { ptr.Status = AIBase.Status.Alarm; ptr.CurrentDialog = AIBase.StatusDialog.Alarm; ptr.CurrentRing = 3; } } ptr.ToNormalStatus(gameTime, player); ptr.ToFreezeStatus(gameTime, player); ptr.ToAttackStatus(gameTime, player); } ptr.ToDeadStatus(gameTime, player); } foreach (var ptr in i_list) { ptr.Update(gameTime); } IsDead = (player.Status == AIBase.Status.Dead); }
internal override void ToFreezeStatus(GameTime gameTime, Player player) { }
internal override void ToDeadStatus(GameTime gameTime, Player ptr) { if (this.HP == 0) { this.Status = AIBase.Status.Dead; } }
internal override void ToDeadStatus(GameTime gameTime, Player ptr) { }
internal override void ToChaseStatus(GameTime gameTime, Player player) { }
public void Update(GameTime gameTime, Player player,List<DNANode> list) { if((this.Postion - AIBase.Player.Locate).Length() <= 20) { list.Remove(this); } }
internal override void ToDeadStatus(GameTime gameTime, Player ptr) { throw new NotImplementedException(); }
internal abstract void ToFleeStatus(GameTime gameTime,Player playerr);
internal abstract void ToDeadStatus(GameTime gameTime, Player ptr);
internal abstract void ToChaseStatus(GameTime gameTime,Player player);
internal abstract void ToAttackStatus(GameTime gameTime, Player ptr);
private void InternalLoad(MapManager.MapLoadingData data) { m_senceManager.Initialize(data.Size.X, data.Size.Y, WorldPart.ImageSize); EntityCreator.Load(data.Name); foreach (SencePart sencePart in data.Sence) { m_senceManager[sencePart.X, sencePart.Y] = sencePart; } Pieces = data.Pieces; m_part = data.Parts; m_layers = data.Layers; Player = m_entityCreator.Player; m_collusionLayer = data.CollusionLayer; m_layerCount = data.LayerCount; m_size = data.Size; m_worldSize = data.WorldSize; m_senceManager.CameraLocate = CheckLocation(data.Player); m_senceManager.CameraFollow = CheckLocation(data.Player); if(Player!=null)Player.Locate = data.Player; GameItemState.Set("currentmap", data.Name); GameItemState.Set( "locate", data.Player ); GameCommands.Enqueue(data.PostLoading); GameItemState.Save(); }
public override void PostInitialize() { InstallStatusDialog(); m_loadingImage = DataReader.Load<Texture2D>("Texture/Running/Loading"); m_units = m_entityCreator.Units; Player = m_entityCreator.Player; m_regions = m_entityCreator.Regions; m_item = m_entityCreator.Items; m_resolveTexture = new RenderTarget2D(SpriteManager.SpriteBatch.GraphicsDevice, 800, 600, false, SpriteManager.SpriteBatch.GraphicsDevice.PresentationParameters. BackBufferFormat, DepthFormat.Depth24Stencil8); }
public void Update(GameTime gameTime, Player player) { switch (this.Status) { case EnergyBallStatus.Show: if ((this.Postion - player.Locate).Length() <= 30) { this.ToDisappear(); player.RingSize += 20;; }else { this.Rotation += 0.01f; this.Rotation %= 6.28f; this.Scale += 0.05f; this.Scale %= 6.28f; } break; case EnergyBallStatus.Disappear: if (this.Color.A != 0) { this.Color.A-=5; } else { this.ToCoolDown(); } break; case EnergyBallStatus.CoolDown: if (this.RefreshTimeNow < EnergyBallNode.RefreshTime) { this.RefreshTimeNow++; } else { this.RefreshTimeNow = 0; this.ToAppear(); } break; case EnergyBallStatus.Appear: if(this.Color.A!=255) { this.Color.A+=5; } else { this.ToShow(); } break; } }
internal override void ToAttackStatus(GameTime gameTime, Player ptr) { }
internal abstract void ToFreezeStatus(GameTime gameTime,Player player);
internal override void ToFreezeStatus(GameTime gameTime, Player player) { throw new NotImplementedException(); }
internal void ToNormalStatus(GameTime gameTime, Player ptr) { if ((this.Locate - AIBase.Player.Locate).Length() > 400) { this.CurrentDialog = AIBase.StatusDialog.Blank; this.Status = AIBase.Status.Normal; } }