Beispiel #1
0
        public override void Active()
        {
            base.Active();
            //TODO 更新コンテナに自分を入れる

            player         = EntityManager.FindWithTag("Player")[0];
            childDirection = (C_Switch3)entity.GetNormalComponent("C_Switch3");
            state          = (C_CharaState)entity.GetNormalComponent("C_CharaState");
            bezierPoint    = (C_BezierPoint)entity.GetNormalComponent("C_BezierPoint");
            childState     = (C_ChildState)entity.GetNormalComponent("C_ChildState");
            energy         = (C_Energy)entity.GetNormalComponent("C_Energy");
            collider       = entity.GetColliderComponent("Squirrel");
            draw           = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
            restExpend     = energy.GetLimitEnery() / 60 / 50; //50秒で体力尽き
            moveExpend     = energy.GetLimitEnery() / 60 / 20 + restExpend;


            if (childDirection.IsRight())
            {
                entity.transform.Angle = 360;
            }
            else if (childDirection.IsLeft())
            {
                entity.transform.Angle = 180;
            }
            else if (childDirection.IsNone())
            {
                entity.transform.Angle = 360;
            }
        }
Beispiel #2
0
        private void CreateSquirrel(Vector2 position)
        {
            Transform2D trans = new Transform2D();

            trans.Position = position;

            Entity child = Entity.CreateEntity("Squirrel", "Child", trans);

            child.RegisterComponent(new C_Switch3());
            child.RegisterComponent(new C_CharaState());
            child.RegisterComponent(new C_ChildState());
            C_BezierPoint bezier = new C_BezierPoint();

            child.RegisterComponent(bezier);
            BezierStage.AddBezierData(bezier);
            //child.RegisterComponent(new C_DrawDebugMessage(bezier));
            child.RegisterComponent(new C_EntityDeadCheck());
            child.RegisterComponent(new C_Energy("", 10, 90));

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(80, 60), 14);

            drawComp.AddAnim("Run", new AnimData(7, 7, 0.08f, "A_Squirrel_Run"));
            drawComp.AddAnim("Eat", new AnimData(1, 1, 1f, "A_Squirrel_Eat"));
            drawComp.AddAnim("Catch", new AnimData(1, 1, 1f, "A_Squirrel_Catch"));
            child.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Run");

            child.RegisterComponent(new C_UpdateSquirrelState(gameDevice));
        }
Beispiel #3
0
        private void CreateShrub(Vector2 position)
        {
            Transform2D trans = new Transform2D();

            trans.Position = position;

            Entity shrub = Entity.CreateEntity("Tree", "Tree", trans);

            //位置設定
            shrub.RegisterComponent(new C_BezierPoint());
            shrub.RegisterComponent(new C_Switch3());

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(452, 276), 12);

            drawComp.AddAnim("Pollution", new AnimData(1, 1, 1, "A_Shrub_Pollution"));
            drawComp.AddAnim("Spring", new AnimData(1, 1, 1, "A_Shrub_Spring"));
            drawComp.AddAnim("Summer", new AnimData(1, 1, 1, "A_Shrub_Summer"));
            drawComp.AddAnim("Autumn", new AnimData(1, 1, 1, "A_Shrub_Autumn"));
            drawComp.AddAnim("Winter", new AnimData(1, 1, 1, "A_Shrub_Winter"));
            drawComp.AddAnim("Hidden", new AnimData(1, 1, 1, "A_Shrub_Hidden"));
            shrub.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Pollution");

            shrub.RegisterComponent(new C_UpdateShrubState(gameDevice));
        }
Beispiel #4
0
        public override void Active()
        {
            base.Active();
            //TODO 更新コンテナに自分を入れる

            playerDirection = (C_Switch3)entity.GetNormalComponent("C_Switch3");
            bezierPoint     = (C_BezierPoint)entity.GetNormalComponent("C_BezierPoint");
            state           = (C_CharaState)entity.GetNormalComponent("C_CharaState");
            state.IsJump    = true;

            animControl = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
            animControl.SetNowAnim("Jump");

            if (playerDirection.IsRight())
            {
                entity.transform.Angle = 330;
            }
            else if (playerDirection.IsLeft())
            {
                entity.transform.Angle = 210;
            }
            else if (playerDirection.IsNone())
            {
                entity.transform.Angle = 360;
            }

            entity.transform.SetPositionY += currentJumpPower;
        }
Beispiel #5
0
 protected override void Initialize(Entity entity)
 {
     deadCheck  = (C_EntityDeadCheck)entity.GetUpdateComponent("C_EntityDeadCheck");
     eagleAnim  = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
     eagleState = (C_EnemyState)entity.GetNormalComponent("C_EnemyState");
     eagleAnim.SetNowAnim("Attack");
     eagleDirection = (C_Switch3)entity.GetNormalComponent("C_Switch3");
 }
        public override void Active()
        {
            base.Active();
            //TODO 更新コンテナに自分を入れる

            playerDirection = (C_Switch3)entity.GetNormalComponent("C_Switch3");
            bezierPoint     = (C_BezierPoint)entity.GetNormalComponent("C_BezierPoint");
            state           = (C_CharaState)entity.GetNormalComponent("C_CharaState");
            animControl     = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
        }
Beispiel #7
0
        public override void Active()
        {
            base.Active();
            //TODO 更新コンテナに自分を入れる
            drawComp = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");

            Vector2 position = entity.transform.Position;

            collider = new C_Collider_Line("Wall", position - new Vector2(0, drawComp.animSpriteSize.Y), position, eCollitionType.Jostle);
            entity.RegisterComponent(collider);
        }
Beispiel #8
0
        public override void Active()
        {
            base.Active();
            //TODO 更新コンテナに自分を入れる

            UpdateComponent fallComp = new C_StaticEntityFall();

            entity.RegisterComponent(fallComp);

            collider = new C_Collider_Circle("Fruit", new Vector2(0, -15), 15);
            entity.RegisterComponent(collider);

            drawComp = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
        }
Beispiel #9
0
        public override void Active()
        {
            base.Active();
            //TODO 更新コンテナに自分を入れる

            UpdateComponent fallComp = new C_StaticEntityFall();

            entity.RegisterComponent(fallComp);

            myState = new C_SeasonState(eSeason.None);
            entity.RegisterComponent(myState);

            collider = new C_Collider_Circle("Shrub", new Vector2(0, -150), 150);
            entity.RegisterComponent(collider);

            drawComp    = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
            playerState = (C_PlayerState)EntityManager.FindWithName("Player")[0].GetNormalComponent("C_PlayerState");
        }
Beispiel #10
0
        private void SurrenderChild(Entity entity)
        {
            Entity child = ((C_PlayerState)entity.GetNormalComponent("C_PlayerState")).GetOneChild();

            if (child.GetName() == "Null")
            {
                return;
            }
            C_DrawAnimetion drawChild  = (C_DrawAnimetion)child.GetDrawComponent("C_DrawAnimetion");
            C_ChildState    childState = (C_ChildState)child.GetNormalComponent("C_ChildState");

            drawChild.SetNowAnim("Catch");
            Entity       eagle      = collider.GetOtherEntity("Eagle");
            C_EnemyState eagleState = (C_EnemyState)eagle.GetNormalComponent("C_EnemyState");

            eagleState.SetCaughtChild();
            childState.SetEnemyCatchMe(eagle);
        }
Beispiel #11
0
        protected override void Initialize(Entity entity)
        {
            playerAnim      = (C_DrawAnimetion)entity.GetDrawComponent("C_DrawAnimetion");
            playerDirection = (C_Switch3)entity.GetNormalComponent("C_Switch3");

            Vector2 offset = Vector2.Zero;

            if (playerDirection.IsRight())
            {
                offset = new Vector2(100, -110);
            }
            else if (playerDirection.IsLeft())
            {
                offset = new Vector2(-100, -110);
            }
            attackCollider = new C_Collider_Circle("PlayerAttack", offset, 50);
            entity.RegisterComponent(attackCollider);
        }
Beispiel #12
0
        /// <summary>
        /// 初期化
        /// </summary>
        public void Initialize()
        {
            isEnd = false;
            resourceLoader.Initialize();
            totalResouceNum = resourceLoader.Count;

            resourceManager.LoadFont("HGPop");
            resourceManager.LoadTextures("A_Player_Run", "./IMAGE/Animetions/");
            for (int i = 0; i < 4; i++)
            {
                resourceManager.LoadTextures("P_Flower_" + i, "./IMAGE/Particles/");
            }
            resourceManager.LoadTextures("P_Rain", "./IMAGE/Particles/");
            resourceManager.LoadTextures("P_Leaf", "./IMAGE/Particles/");
            resourceManager.LoadEffect("PaticleShader", "./EFFECT/");
            resourceManager.LoadEffect("MaskShader", "./EFFECT/");


            entity = Entity.CreateEntity("Empty", "Empty", new Transform2D());
            entity.transform.Position = new Vector2(startX, 1020);

            entity.RegisterComponent(new C_Switch3());
            C_BezierPoint bezier = new C_BezierPoint();

            entity.RegisterComponent(bezier);

            C_DrawAnimetion drawComp = new C_DrawAnimetion(Vector2.One * 256, 16);

            drawComp.AddAnim("Run", new AnimData(13, 4, 0.02f, "A_Player_Run"));
            entity.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Run");
            drawComp.SetSize(0.7f);

            C_SeasonState     season = new C_SeasonState(eSeason.Summer);
            C_DrawRouteEffect route  = new C_DrawRouteEffect();

            route.RegisterImage("P_Flower_", 4);
            route.SetState(0.02f, 10, -85);
            route.SetAliveSecond(2);
            route.SetSize(new Vector2(0.5f, 0.5f));
            entity.RegisterComponent(season);
            entity.RegisterComponent(route);
        }
Beispiel #13
0
        private void CreateBoar(Vector2 position)
        {
            Transform2D trans = new Transform2D();

            trans.Position = position;

            Entity boar = Entity.CreateEntity("Boar", "Enemy", trans);

            boar.RegisterComponent(new C_Switch3());
            boar.RegisterComponent(new C_BezierPoint());
            boar.RegisterComponent(new C_EntityDeadCheck());
            boar.RegisterComponent(new C_UpdateBoarState(gameDevice));

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(320, 200), 19);

            drawComp.AddAnim("Run", new AnimData(6, 3, 0.08f, "A_Boar_Run"));
            boar.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Run");
        }
Beispiel #14
0
        private void CreateEagle(Vector2 position)
        {
            Transform2D trans = new Transform2D();

            trans.Position = position;

            Entity eagle = Entity.CreateEntity("Eagle", "Enemy", trans);

            eagle.RegisterComponent(new C_Switch3());
            eagle.RegisterComponent(new C_EntityDeadCheck());
            eagle.RegisterComponent(new C_UpdateEagleState(gameDevice));

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(320, 200), 19);

            drawComp.AddAnim("Fly", new AnimData(5, 3, 0.15f, "A_Eagle_Fly"));
            drawComp.AddAnim("Attack", new AnimData(1, 1, 1f, "A_Eagle_Attack"));
            eagle.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Fly");
        }
Beispiel #15
0
        private void CreatApple()
        {
            //実体生成
            Entity apple = Entity.CreateEntity("Apple", "Fruit", new Transform2D());

            //位置設定
            apple.transform.Position = entity.transform.Position - new Vector2(0, 100);

            apple.RegisterComponent(new C_Switch3());
            apple.RegisterComponent(new C_BezierPoint());
            apple.RegisterComponent(new C_Energy("", 10, 90));

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(38, 36), 100);

            drawComp.AddAnim("Idle", new AnimData(1, 1, 1, "A_Apple_Idle"));
            apple.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Idle");

            apple.RegisterComponent(new C_UpdateFruitState(gameDevice));
        }
Beispiel #16
0
        private void CreateBird(Vector2 position)
        {
            Transform2D trans = new Transform2D();

            trans.Position = position;

            Entity child = Entity.CreateEntity("Bird", "Child", trans);

            child.RegisterComponent(new C_Switch3());
            child.RegisterComponent(new C_ChildState());
            child.RegisterComponent(new C_EntityDeadCheck());
            child.RegisterComponent(new C_UpdateBirdState(gameDevice));
            //child.RegisterComponent(new C_DrawDebugMessage());

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(80, 60), 14);

            drawComp.AddAnim("Fly", new AnimData(6, 6, 0.08f, "A_Bird_Fly"));
            child.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Fly");
        }
Beispiel #17
0
        public void CreatPlayer()
        {
            //生成地を決める
            Transform2D trans = new Transform2D();

            trans.Position = new Vector2(500, 100);

            //実体生成
            Entity player = Entity.CreateEntity("Player", "Player", trans);

            //機能登録(順序注意 - 関連性ある)
            player.RegisterComponent(new C_Switch3());
            player.RegisterComponent(new C_CharaState());
            C_BezierPoint bezier = new C_BezierPoint();

            player.RegisterComponent(bezier);
            BezierStage.AddBezierData(bezier);
            player.RegisterComponent(new C_EntityDeadCheck());
            player.RegisterComponent(new C_PlayerState());
            player.RegisterComponent(new C_DrawRouteEffect());
            //player.RegisterComponent(new C_DrawLocus());
            player.RegisterComponent(new C_DrawDebugMessage(gameDevice, bezier));

            C_DrawAnimetion drawComp = new C_DrawAnimetion(Vector2.One * 256, 16);

            drawComp.AddAnim("Idle", new AnimData(1, 1, 1, "A_Player_Idle"));
            drawComp.AddAnim("Walk", new AnimData(4, 4, 0.12f, "A_Player_Walk"));
            drawComp.AddAnim("Jump", new AnimData(2, 3, 0.1f, "A_Player_Jump", false));
            drawComp.AddAnim("Run", new AnimData(13, 4, 0.05f, "A_Player_Run"));
            drawComp.AddAnim("Attack", new AnimData(1, 1, 1, "A_Player_Attack"));
            player.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Idle");

            player.RegisterComponent(new C_Energy("Bar", 10, 270));
            player.RegisterComponent(new C_UpdatePlayerState(gameDevice));
        }
Beispiel #18
0
        private void CreateBranch(Vector2 position)
        {
            Transform2D trans = new Transform2D();

            trans.Position = position;

            Entity branch = Entity.CreateEntity("Branch", "Branch", trans);

            branch.RegisterComponent(new C_Switch3());

            C_DrawAnimetion drawComp = new C_DrawAnimetion(new Vector2(30, 200), 12);

            drawComp.AddAnim("Idle", new AnimData(1, 1, 1, "A_Branch_Idle", false));
            drawComp.AddAnim("Break", new AnimData(4, 4, 0.08f, "A_Branch_Break", false));
            branch.RegisterComponent(drawComp);
            drawComp.SetNowAnim("Idle");

            //Message用
            //C_BezierPoint bezier = new C_BezierPoint();
            //branch.RegisterComponent(bezier);
            //branch.RegisterComponent(new C_DrawDebugMessage(bezier));

            branch.RegisterComponent(new C_UpdateBranchState(gameDevice));
        }