public void Initialize(Entity entity) { _triggerFlag = entity as TriggerFlag; SimpleMaterial material = new SimpleMaterial(); material.IsTranslucent = true; material.IsColorBlended = true; switch (_team) { case GameManager.GameManager.Teams.Blue: Name = "Flag0"; material.TextureFilename = @"data\images\MindCrafters\blueFlag"; Material = material; break; case GameManager.GameManager.Teams.Red: Name = "Flag1"; material.TextureFilename = @"data\images\MindCrafters\redFlag"; Material = material; break; case GameManager.GameManager.Teams.Green: Name = "Flag2"; material.TextureFilename = @"data\images\MindCrafters\greenFlag"; Material = material; break; case GameManager.GameManager.Teams.Yellow: Name = "Flag3"; material.TextureFilename = @"data\images\MindCrafters\yellowFlag"; Material = material; break; } //set the size of the model in the scene Layer = 30; Size = new Vector2(16, 16); }
/// <summary> /// Add appropriate team flags to the map /// </summary> public void AddFlagsToMap() { if (GameManager.GameManager.Instance.Parameters.NumTeams > 0) { TriggerFlag flagTrigger = new TriggerFlag(new FlagData("BlueFlag", new Vector2((SizeX/100f)*5, SizeY/2.0f), 10, 0)); TriggerSystem.Register(flagTrigger); NavGraphNode node = NavGraph.FindClosestAccessibleNodeToPosition(flagTrigger.Position); node.ExtraInfo = flagTrigger; EntityManager.Instance.RegisterEntity(flagTrigger); if (GameManager.GameManager.Instance.Parameters.NumTeams > 1) { flagTrigger = new TriggerFlag(new FlagData("RedFlag", new Vector2((SizeX / 100f) * 95, SizeY / 2.0f), 10, 1)); TriggerSystem.Register(flagTrigger); node = NavGraph.FindClosestAccessibleNodeToPosition(flagTrigger.Position); node.ExtraInfo = flagTrigger; EntityManager.Instance.RegisterEntity(flagTrigger); if (GameManager.GameManager.Instance.Parameters.NumTeams > 2) { flagTrigger = new TriggerFlag(new FlagData("GreenFlag", new Vector2(SizeX / 2.0f, (SizeY / 100f) * 95), 10, 2)); TriggerSystem.Register(flagTrigger); node = NavGraph.FindClosestAccessibleNodeToPosition(flagTrigger.Position); node.ExtraInfo = flagTrigger; EntityManager.Instance.RegisterEntity(flagTrigger); if (GameManager.GameManager.Instance.Parameters.NumTeams > 3) { flagTrigger = new TriggerFlag(new FlagData("YellowFlag", new Vector2(SizeX / 2.0f, (SizeY / 100f) * 5), 10, 3)); TriggerSystem.Register(flagTrigger); node = NavGraph.FindClosestAccessibleNodeToPosition(flagTrigger.Position); node.ExtraInfo = flagTrigger; EntityManager.Instance.RegisterEntity(flagTrigger); } } } } }