コード例 #1
0
        public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f)
        {
            GameObject pGameObj = null;

            switch (type)
            {
            case AlienCategory.Type.Green:
                pGameObj = new GreenAlien(GameObject.Name.GreenAlien, GameSprite.Name.GreenAlien, posX, posY);
                break;

            case AlienCategory.Type.Red:
                pGameObj = new RedAlien(GameObject.Name.RedAlien, GameSprite.Name.RedAlien, posX, posY);
                break;

            case AlienCategory.Type.White:
                pGameObj = new WhiteAlien(GameObject.Name.WhiteAlien, GameSprite.Name.WhiteAlien, posX, posY);
                break;

            case AlienCategory.Type.Yellow:
                pGameObj = new YellowAlien(GameObject.Name.YellowAlien, GameSprite.Name.YellowAlien, posX, posY);
                break;

            case AlienCategory.Type.Blue:
                pGameObj = new BlueAlien(GameObject.Name.BlueAlien, GameSprite.Name.BlueAlien, posX, posY);
                break;

            case AlienCategory.Type.Grid:
                pGameObj = new AlienGrid(name, GameSprite.Name.NullObject, posX, posY);
                break;

            case AlienCategory.Type.Column:
                pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, posX, posY);
                break;

            default:
                // something is wrong
                Debug.Assert(false);
                break;
            }
            Debug.Assert(pGameObj != null);

            pGameObj.ActivateGameSprite(this.pSpriteBatch);
            pGameObj.ActivateCollisionSprite(this.pBoxSpriteBatch);
            GameObjectMan.Attach(pGameObj);

            return(pGameObj);
        }
コード例 #2
0
        public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f)
        {
            GameObject pGameObj = null;

            switch (type)
            {
            case AlienCategory.Type.Squid:
                pGameObj = new SquidAlien(name, GameSprite.Name.SquidOpen, posX, posY);
                break;

            case AlienCategory.Type.Crab:
                pGameObj = new CrabAlien(name, GameSprite.Name.CrabOpen, posX, posY);
                break;

            case AlienCategory.Type.Octopus:
                pGameObj = new OctopusAlien(name, GameSprite.Name.OctopusOpen, posX, posY);
                break;

            case AlienCategory.Type.Grid:
                pGameObj = new AlienGrid(name, GameSprite.Name.NullObject, 0.0f, 0.0f);
                break;

            case AlienCategory.Type.Column:
                pGameObj = new AlienColumn(name, GameSprite.Name.NullObject, 0.0f, 0.0f);
                break;

            default:
                // something is wrong
                Debug.Assert(false);
                break;
            }

            // add it to the gameObjectManager
            Debug.Assert(pGameObj != null);
            //GameObjectMan.Attach(pGameObj);

            // Attached to Group
            pGameObj.ActivateGameSprite(this.pSpriteBatch);
            pGameObj.ActivateCollisionSprite(this.pCollisionSpriteBatch);

            return(pGameObj);
        }
コード例 #3
0
        public GameObject Create(GameObject.Name name, AlienCategory.Type type, float posX = 0.0f, float posY = 0.0f, float ColIndex = 0.0f)
        {
            GameObject pGameObject = null;

            switch (type)
            {
            case AlienCategory.Type.Squid:
                pGameObject = new SquidGO(name, GameSprite.Name.Squid, posX, posY);
                break;

            case AlienCategory.Type.Crab:
                pGameObject = new CrabGO(name, GameSprite.Name.Crab, posX, posY);
                break;

            case AlienCategory.Type.Octopus:
                pGameObject = new OctoGO(name, GameSprite.Name.Octopus, posX, posY);
                break;

            case AlienCategory.Type.Group:
                pGameObject = new AlienGroup(name, GameSprite.Name.NullObject, 0.0f, 0.0f);
                break;

            case AlienCategory.Type.Column:
                pGameObject = new AlienColumn(name, GameSprite.Name.NullObject, 0.0f, 0.0f, ColIndex);
                break;

            default:
                Debug.Assert(false);
                break;
            }

            this.pTree.Add(pGameObject);


            //attach to Group to Draw/Render it
            pGameObject.ActivateGameSprite(this.pSpriteBatch);
            pGameObject.ActivateCollisionSprite(this.pColSpriteBatch);

            return(pGameObject);
        }