コード例 #1
0
ファイル: Flag.cs プロジェクト: funkjunky/Raven
        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);
        }
コード例 #2
0
ファイル: Map.cs プロジェクト: funkjunky/Raven
 /// <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);
                 }
             }
         }
     }
 }