Exemplo n.º 1
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 15 * 60;
            int cur_task_index = 15;

            object[] time_msg_parametr_values = new object[2];
            time_msg_parametr_values[0] = TimerController.GetController().task16_timer;
            var     time_msg_param = new Yaga.CommonMessageParametr(time_msg_parametr_values);
            Message timer_msg      = new Message();

            timer_msg.Type      = MainScene.MainMenuMessageType.TASK_TIME_UPDATE;
            timer_msg.parametrs = time_msg_param;

            Task task = new Task(cur_task_index, 1, time_wait, 1500, TextManager.getTaskName(16), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_014";

            if (data.storable_data[cur_task_index].started)
            {
                servered_timer.GetTime("Task16",
                                       (answ) =>
                {
                    if (!task.data.done)
                    {
                        task.time_wait = answ.data.time;

                        time_msg_parametr_values[1] = task.time_wait;
                        MessageBus.Instance.SendMessage(timer_msg, true);
                    }
                },
                                       (answ) =>
                {
                    //todo replay request
                });
            }

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[14].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            task.DoneAction = () =>
            {
                task.in_action = true;

                MainLocationOjects.instance.Children_zone.SetActiveTrueWithAnimation();
                MainLocationOjects.instance.Children_boxes.SetActive(false);
                //new cats

                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(16, 1), DialogType.Main, DialogType.One, DialogEntity.get_id(16, 1)));
                dialog.SetDialogs(deList);
                dialog.SetBtnAction(() =>
                {
                    dialog.CloseDialog();

                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);

                    MessageBus.Instance.SendMessage(new Message(BubbleAPI.OPEN,
                                                                new BubbleCreateParametr(
                                                                    CatsMoveController.GetController().main_cat, new List <string>()
                    {
                        TextManager.getText("bubble_game")
                    }, 5)));

                    //MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);
                });
                dialog.ShowDialog();

                List <Vector3> points_main3 = new List <Vector3>();
                Transform      point        = GameObject.Find("CameraTasksTargets")
                                              .transform.Find("Child_room");
                points_main3.Add(point.position);
                //CatsMoveController.GetController().SetDestination(Cats.Black, "Point 64");
                CameraMoveController.GetController().SetDestinations(points_main3);


                CatsMoveController.GetController().ActiveCat(Cats.Baby1);
                CatsMoveController.GetController().ActiveCat(Cats.Baby2);

                CatsMoveController.GetController().SetDestination(Cats.Baby1, "Point 65");
                CatsMoveController.GetController().SetDestination(Cats.Baby2, "Point 67");

                TimerController.GetController().task16_timer.SetActive(false);
                MainLocationOjects.instance.Children_stuff_farm.SetActive(false);
            };

            task.DoneInitAction = () =>
            {
                MainLocationOjects.instance.Children_zone.SetActive(true);
                MainLocationOjects.instance.Children_boxes.SetActive(false);
                MainLocationOjects.instance.Children_stuff_farm.SetActive(false);
                //new cats
            };

            task.TickAction = () =>
            {
                time_msg_parametr_values[1] = task.time_wait;
                MessageBus.Instance.SendMessage(timer_msg);
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                servered_timer.SetTime("Task16", task.time_wait);

                time_msg_parametr_values[1] = task.time_wait;
                MessageBus.Instance.SendMessage(timer_msg);

                List <Vector3> points_main3 = new List <Vector3>();
                Transform      point        = GameObject.Find("CameraTasksTargets")
                                              .transform.Find("Child_room");
                points_main3.Add(point.position);
                CameraMoveController.GetController().SetDestinations(points_main3);

                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);

                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 55");
                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 58");
            };
            tasc_action_1.condition_action = () => { return(true); };


            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);

            task.Idle = () =>
            {
                if (task.data.started && !task.data.done && !MainLocationOjects.instance.Children_stuff_farm.activeSelf &&
                    task.data.current_action_index > 0)
                {
                    MainLocationOjects.instance.Children_stuff_farm.SetActive(true);
                }
            };

            task.DoneCondition = () =>
            {
                return(task.time_wait < 0);
            };

            return(task);
        }
Exemplo n.º 2
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 0;
            int cur_task_index = 22;

            Task task = new Task(cur_task_index, 1, time_wait, 0, TextManager.getTaskName(23), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_021";

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[18].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            task.DoneAction = () =>
            {
                task.in_action = true;

                MainLocationOjects.instance.garden1_benches.SetActiveTrueWithAnimation();
                //MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_FOOTER);
                //MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);

                Message m;
                m.Type      = MainScene.MainMenuMessageType.OPEN_CUSTOMIZER;
                m.parametrs = new Yaga.CommonMessageParametr("bench");
                MessageBus.Instance.SendMessage(m);
            };

            task.DoneInitAction = () =>
            {
                MainLocationOjects.instance.garden1_benches.SetActive(true);
            };


            task.CheckActionConditions = () =>
            {
                if (task.data.current_action_index == 0 && CameraMoveController.GetController().DoesReachDestination())
                {
                    task.in_action = false;

                    Message msg = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                }
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Garden_1");
                task.in_action = true;
            };
            tasc_action_1.condition_action = () => { return(true); };

            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);

            task.Idle = () =>
            {
            };

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            return(task);
        }
Exemplo n.º 3
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 0;
            int cur_task_index = 7;

            Task task = new Task(cur_task_index, 1, time_wait, 500, TextManager.getTaskName(8), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_006";

            var subs = new MessageSubscriber();

            subs.MessageTypes = new string[1] {
                MainScene.MainMenuMessageType.CLOSE_CUSTOMIZER_MISSIONS
            };
            subs.action = (m) =>
            {
                if (task.in_action)
                {
                    task.in_action = false;

                    Message new_msg = new Message();
                    new_msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    new_msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(new_msg);
                }
            };
            MessageBus.Instance.AddSubscriber(subs);

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[6].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };

            task.CheckActionConditions = () => { };


            task.DoneAction = () =>
            {
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                if (data.storable_data[8].done == false)
                {
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);
                }
                else
                {
                    MessageBus.Instance.SendMessage(new Message(BubbleAPI.OPEN,
                                                                new BubbleCreateParametr(
                                                                    CatsMoveController.GetController().main_cat, new List <string>()
                    {
                        TextManager.getText("bubble_soft_floor")
                    }, 5)));
                }
            };

            task.DoneInitAction = () =>
            {
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                task.in_action = true;

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_FOOTER);
                Message msg_cuts = new Message();
                msg_cuts.parametrs = new Yaga.CommonMessageParametr("Floor_Home");
                msg_cuts.Type      = MainMenuMessageType.OPEN_CUSTOMIZER;
                MessageBus.Instance.SendMessage(msg_cuts);

                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 23");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 7");
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Home");
            };
            tasc_action_1.condition_action = () => { return(true); };

            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);

            task.Idle = () =>
            {
            };

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            return(task);
        }
Exemplo n.º 4
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 0;
            int cur_task_index = 16;

            Task task = new Task(cur_task_index, 1, time_wait, 0, TextManager.getTaskName(17), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_015";

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[14].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            task.DoneAction = () =>
            {
                task.in_action = true;

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);
            };

            task.DoneInitAction = () =>
            {
            };

            task.CheckActionConditions = () =>
            {
                if (task.data.current_action_index == 0 && CatsMoveController.GetController().DoesCatReachDestination(Cats.Jakky))
                {
                    task.in_action = false;

                    Message msg = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                }

                else if (task.data.current_action_index == 2 && CatsMoveController.GetController().DoesCatReachDestination(Cats.Main))
                {
                    task.in_action = false;

                    Message msg = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                }
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
                CatsMoveController.GetController().SetDestination(Cats.Jakky, "Point 48");
                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 47");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 39");
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Saray");
                task.in_action = true;
            };
            tasc_action_1.condition_action = () => { return(true); };

            TaskAction tasc_action_2 = new TaskAction();

            tasc_action_2.action = () =>
            {
                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(17, 1), DialogType.Djeki, DialogType.Main, DialogEntity.get_id(17, 1)));
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(17, 2), DialogType.Main, DialogType.Djeki, DialogEntity.get_id(17, 2)));
                dialog.SetDialogs(deList);
                dialog.SetBtnAction(() =>
                {
                    dialog.CloseDialog();

                    Message msg   = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                    task.in_action = false;
                });
                dialog.ShowDialog();
                task.in_action = true;
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
            };
            tasc_action_2.condition_action = () => { return(true); };

            TaskAction tasc_action_3 = new TaskAction();

            tasc_action_3.action = () =>
            {
                CatsMoveController.GetController().SetDestination(Cats.Jakky, "Point 50");
                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 54");
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Three");

                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(17, 3), DialogType.Black, DialogType.Main, DialogEntity.get_id(17, 3)));
                dialog.SetDialogs(deList);
                dialog.SetBtnAction(() =>
                {
                    dialog.CloseDialog();
                });
                dialog.ShowDialog();
                task.in_action = true;
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
            };
            tasc_action_3.condition_action = () => { return(true); };

            TaskAction tasc_action_4 = new TaskAction();

            tasc_action_4.action = () =>
            {
                task.in_action = true;
                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(17, 4), DialogType.Main, DialogType.Black, DialogEntity.get_id(17, 4)));
                dialog.SetDialogs(deList);
                dialog.SetMissionIcon("task_icon_017");
                dialog.SetBtnAction(() =>
                {
                    dialog.CloseDialog();

                    Message msg   = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);

                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);

                    task.in_action = false;
                });
                dialog.ShowDialog();
            };
            tasc_action_4.condition_action = () => { return(true); };


            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);
            task.TaskActions.Add(tasc_action_2);
            task.TaskActions.Add(tasc_action_3);
            task.TaskActions.Add(tasc_action_4);

            task.Idle = () =>
            {
            };

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            return(task);
        }
Exemplo n.º 5
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 10 * 60;
            int cur_task_index = 11;

            object[] time_msg_parametr_values = new object[2];
            time_msg_parametr_values[0] = TimerController.GetController().task12_timer;
            var     time_msg_param = new Yaga.CommonMessageParametr(time_msg_parametr_values);
            Message timer_msg      = new Message();

            timer_msg.Type      = MainScene.MainMenuMessageType.TASK_TIME_UPDATE;
            timer_msg.parametrs = time_msg_param;

            Task task = new Task(cur_task_index, 1, time_wait, 1000, TextManager.getTaskName(12), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_010";

            if (data.storable_data[cur_task_index].started)
            {
                servered_timer.GetTime("Task12",
                                       (answ) =>
                {
                    if (!task.data.done)
                    {
                        task.time_wait = answ.data.time;

                        time_msg_parametr_values[1] = task.time_wait;
                        MessageBus.Instance.SendMessage(timer_msg, true);
                    }
                },
                                       (answ) =>
                {
                    //todo replay request
                });
            }

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[24].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            bool task_done = false;

            task.DoneAction = () =>
            {
                MainLocationOjects.instance.obstruction_toilet.SetActive(false);

                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(12, 1), DialogType.Main, DialogType.Black, DialogEntity.get_id(12, 1)));
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(12, 2), DialogType.Black, DialogType.Main, DialogEntity.get_id(12, 2)));
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(12, 3), DialogType.Main, DialogType.Black, DialogEntity.get_id(12, 3)));
                dialog.SetDialogs(deList);
                dialog.SetMissionIcon("task_icon_012");
                dialog.SetBtnAction(() =>
                {
                    task.in_action = false;

                    dialog.CloseDialog();
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);
                });
                dialog.ShowDialog();
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);

                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 31");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 58");

                TimerController.GetController().task12_timer.SetActive(false);
                MainLocationOjects.instance.obstruction_toilet_farm.SetActive(false);

                task.in_action = true;
            };

            task.DoneInitAction = () =>
            {
                MainLocationOjects.instance.obstruction_toilet.SetActive(false);
                MainLocationOjects.instance.obstruction_toilet_farm.SetActive(false);
            };

            task.TickAction = () =>
            {
                time_msg_parametr_values[1] = task.time_wait;
                MessageBus.Instance.SendMessage(timer_msg);
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                time_msg_parametr_values[1] = task.time_wait;
                MessageBus.Instance.SendMessage(timer_msg);

                servered_timer.SetTime("Task12", task.time_wait);

                List <Vector3> points = new List <Vector3>();
                Transform      point  = GameObject.Find("CameraTasksTargets").transform
                                        .Find("TolietObstructions");
                points.Add(point.position);
                CameraMoveController.GetController().SetDestinations(points);

                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 23");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 59");

                MainLocationOjects.instance.obstruction_toilet_farm.SetActive(true);
                MainLocationOjects.instance.obstruction_toilet.SetActive(false);

                task.in_action = true;
            };
            tasc_action_1.condition_action = () => { return(true); };


            TaskAction task_action_2 = new TaskAction();

            task_action_2.condition_action = () => { return(task.time_wait <= 0); };
            task_action_2.action           = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);
            task.TaskActions.Add(task_action_2);

            task.Idle = () =>
            {
                if (task.data.started && !task.data.done && !MainLocationOjects.instance.obstruction_toilet_farm.activeSelf &&
                    task.data.current_action_index > 0)
                {
                    MainLocationOjects.instance.obstruction_toilet_farm.SetActive(true);
                    MainLocationOjects.instance.obstruction_toilet.SetActive(false);
                }
            };

            task.CheckActionConditions = () =>
            {
                if (task.data.current_action_index == 0 && CameraMoveController.GetController().DoesReachDestination())
                {
                    Message msg = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                    task.in_action = false;
                }
            };

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            return(task);
        }
Exemplo n.º 6
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 0;
            int cur_task_index = 20;

            Task task = new Task(cur_task_index, 1, time_wait, 0, TextManager.getTaskName(21), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_019";

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[18].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            task.DoneAction = () =>
            {
            };

            task.DoneInitAction = () =>
            {
            };

            task.CheckActionConditions = () =>
            {
                if (task.data.current_action_index == 0 && CameraMoveController.GetController().DoesReachDestination())
                {
                    task.in_action = false;

                    Message msg = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                }
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Garden_1");
                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 70");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 77");
                task.in_action = true;
            };
            tasc_action_1.condition_action = () => { return(true); };

            TaskAction tasc_action_2 = new TaskAction();

            tasc_action_2.action = () =>
            {
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.DRESS_NORMAL_GARDEN_FLOOR);

                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                //MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);

                MessageBus.Instance.SendMessage(new Message(BubbleAPI.OPEN,
                                                            new BubbleCreateParametr(
                                                                CatsMoveController.GetController().main_cat, new List <string>()
                {
                    TextManager.getText("bubble_soft_floor")
                }, 5)));
            };
            tasc_action_2.condition_action = () => { return(true); };


            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);
            task.TaskActions.Add(tasc_action_2);

            task.Idle = () =>
            {
            };

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            return(task);
        }
Exemplo n.º 7
0
        override public void ExtendedUpdate()
        {
            if (stop)
            {
                return;
            }

            if (!CatsMoveController.GetController().DoesCatReachDestination(Cats.Main) ||
                !CatsMoveController.GetController().DoesCatReachDestination(Cats.Black) ||
                !CatsMoveController.GetController().DoesCatReachDestination(Cats.Jakky) ||
                !CameraMoveController.GetController().DoesReachDestination() ||
                DialogController.GetController().DialogWindow.activeSelf)
            {
                return;
            }

            if (Input.touchCount > 0)
            {
                if (Input.GetTouch(0).tapCount == 2)
                {
                    RaycastHit2D[] hits = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), -Vector2.up);

                    int          max_order   = -100000;
                    OnHoldAction hold_action = null;

                    foreach (var hit in hits)
                    {
                        if (hit.collider.gameObject.GetComponent <SpriteRenderer>().sortingOrder > max_order)
                        {
                            max_order   = hit.collider.gameObject.GetComponent <SpriteRenderer>().sortingOrder;
                            hold_action = hit.collider.gameObject.GetComponent <OnHoldAction>();
                        }
                    }

                    if (hold_action != null)
                    {
                        hold_action.HoldAction();
                    }
                }
                else if (Input.GetTouch(0).tapCount == 1)
                {
                    Ray        ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
                    RaycastHit _hit;
                    Physics.Raycast(ray, out _hit);

                    if (_hit.collider != null)
                    {
                        _hit.collider.gameObject.GetComponent <OnTapAction3d>().OnTapAction();
                    }

                    RaycastHit2D[] hits = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), -Vector2.up);

                    int max_order = -100000;

                    foreach (var hit in hits)
                    {
                        if (hit.collider.gameObject.GetComponent <SpriteRenderer>().sortingOrder > max_order)
                        {
                            max_order = hit.collider.gameObject.GetComponent <SpriteRenderer>().sortingOrder;
                        }
                    }
                }
            }


            //unity editor
            else
            {
                if (Input.GetMouseButton(0))
                {
                    Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    RaycastHit _hit;
                    Physics.Raycast(ray, out _hit);

                    if (_hit.collider != null)
                    {
                        var go = _hit.collider.gameObject.GetComponent <OnTapAction3d>();

                        if (go != null)
                        {
                            go.OnTapAction();
                        }
                    }



                    RaycastHit2D[] hits = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.mousePosition), -Vector2.up);

                    int max_order = -100000;

                    if (chopTime < holdTime)
                    {
                        chopTime += Time.deltaTime;
                    }
                    else
                    {
                        chopTime = 0;

                        hits = Physics2D.RaycastAll(Camera.main.ScreenToWorldPoint(Input.mousePosition), -Vector2.up);

                        max_order = -100000;
                        OnHoldAction hold_action = null;

                        if (hits.Length > 0)
                        {
                            hold_action = hits[0].collider.gameObject.GetComponent <OnHoldAction>();
                        }

                        if (hold_action == null)
                        {
                            foreach (var hit in hits)
                            {
                                if (hit.collider.gameObject.GetComponent <SpriteRenderer>().sortingOrder > max_order)
                                {
                                    max_order   = hit.collider.gameObject.GetComponent <SpriteRenderer>().sortingOrder;
                                    hold_action = hit.collider.gameObject.GetComponent <OnHoldAction>();
                                }
                            }
                        }

                        if (hold_action != null)
                        {
                            hold_action.HoldAction();
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 0;
            int cur_task_index = 19;

            Task task = new Task(cur_task_index, 2, time_wait, 0, TextManager.getTaskName(20), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_018";

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[18].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            task.DoneAction = () =>
            {
                task.in_action = true;

                MainLocationOjects.instance.garden1_bushes.SetActiveTrueWithAnimation();

                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(20, 1), DialogType.Black, DialogType.Main, DialogEntity.get_id(20, 1)));
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(20, 2), DialogType.Main, DialogType.Black, DialogEntity.get_id(20, 2)));
                dialog.SetDialogs(deList);
                dialog.SetBtnAction(() =>
                {
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_FOOTER);
                    //MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);

                    Message m;
                    m.Type      = MainScene.MainMenuMessageType.OPEN_CUSTOMIZER;
                    m.parametrs = new Yaga.CommonMessageParametr("garden");
                    MessageBus.Instance.SendMessage(m);

                    MessageBus.Instance.SendMessage(new Message(BubbleAPI.OPEN,
                                                                new BubbleCreateParametr(
                                                                    CatsMoveController.GetController().main_cat, new List <string>()
                    {
                        TextManager.getText("bubble_joy")
                    }, 5)));

                    dialog.CloseDialog();
                });

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
                dialog.ShowDialog();
            };

            task.DoneInitAction = () =>
            {
                MainLocationOjects.instance.garden1_bushes.SetActive(true);
            };

            TaskAction tasc_action_1 = new TaskAction();

            task.CheckActionConditions = () =>
            {
                if (task.data.current_action_index == 0 && CatsMoveController.GetController().DoesCatReachDestination(Cats.Main))
                {
                    task.in_action = false;

                    Message msg = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);
                }
            };

            tasc_action_1.action = () =>
            {
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 70");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 77");
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Garden_1");
                task.in_action = true;
            };
            tasc_action_1.condition_action = () => { return(true); };

            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);

            task.Idle = () =>
            {
            };

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            return(task);
        }
Exemplo n.º 9
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            Task task = new Task(1, 1, 0, 0, TextManager.getTaskName(2), true, false);

            task.data = data.storable_data[1];

            task.icon_name = "task_icon_002";

            var subs = new MessageSubscriber();

            subs.MessageTypes = new string[1] {
                MainScene.MainMenuMessageType.CLOSE_CUSTOMIZER_MISSIONS
            };
            subs.action = (m) =>
            {
                if (task.in_action)
                {
                    task.in_action = false;

                    Message new_msg = new Message();
                    new_msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    new_msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(new_msg);
                }
            };
            MessageBus.Instance.AddSubscriber(subs);

            task.BeforeCutScene = () =>
            {
                CatsMoveController.GetController().
                SetDestination(Cats.Black, "Point 11");

                CatsMoveController.GetController().
                SetDestination(Cats.Main, "Point 10");
                CameraMoveController.GetController().GoCat();

                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);


                //List<DialogEntity> deList = new List<DialogEntity>();
                ////deList.Add(new DialogEntity(
                ////    TextManager.getDialogsText(2, 5), DialogType.Black, DialogType.Main, DialogEntity.get_id(2, 5)));
                ////deList.Add(new DialogEntity(
                ////    TextManager.getDialogsText(2, 6), DialogType.Main, DialogType.Black, DialogEntity.get_id(2, 6)));
                ////dialog.SetDialogs(deList);
                //dialog.SetMissionIcon(task.icon_name);
                //dialog.SetBtnAction(() =>
                //{
                //    dialog.CloseDialog();
                //    CameraMoveController.GetController().ClearDestination();



                //    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                //});
                //dialog.ShowDialog();
            };

            task.CutSceneCondition = () => { return(data.storable_data[0].done); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };

            task.DoneAction = () =>
            {
                MainLocationOjects.instance.kitchen.SetActiveTrueWithAnimation();

                MessageBus.Instance.SendMessage(new Message(BubbleAPI.OPEN,
                                                            new BubbleCreateParametr(
                                                                CatsMoveController.GetController().main_cat, new List <string>()
                {
                    TextManager.getText("bubble_joy")
                }, 5)));
            };

            task.DoneInitAction = () =>
            {
                MainLocationOjects.instance.kitchen.SetActiveTrueWithAnimation();
            };

            TaskAction action_1 = new TaskAction();

            action_1.condition_action = () => { return(true); };
            action_1.action           = () =>
            {
                task.in_action = true;

                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.OPEN_CUSTOMIZER;
                msg.parametrs = new Yaga.CommonMessageParametr("Kitchen_set");
                MessageBus.Instance.SendMessage(msg);

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_FOOTER);
            };


            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(action_1);

            task.DoneCondition = () =>
            {
                return(task.data.current_action_index >= task.TaskActions.Count);
            };

            task.Idle = () => { };

            task.CheckActionConditions = () =>
            {
                if (task.data.current_action_index == 0)
                {
                    //if(CatsMoveController.GetController().DoesCatReachDestination(Cats.Black) &&
                    //CatsMoveController.GetController().DoesCatReachDestination(Cats.Main))
                    //{
                    //    task.in_action = false;

                    //    Message new_msg = new Message();
                    //    new_msg.Type = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    //    new_msg.parametrs = new UpdateInt(task.index);
                    //    MessageBus.Instance.SendMessage(new_msg);
                    //}
                }
            };

            return(task);
        }
Exemplo n.º 10
0
        public static Task Init(DataEntity data)
        {
            DialogController dialog = DialogController.GetController();

            int time_wait      = 30 * 60;
            int cur_task_index = 23;

            bool done_dialog = false;

            object[] time_msg_parametr_values = new object[2];
            time_msg_parametr_values[0] = TimerController.GetController().task24_timer;
            var     time_msg_param = new Yaga.CommonMessageParametr(time_msg_parametr_values);
            Message timer_msg      = new Message();

            timer_msg.Type      = MainScene.MainMenuMessageType.TASK_TIME_UPDATE;
            timer_msg.parametrs = time_msg_param;

            Task task = new Task(cur_task_index, 1, time_wait, 3000, TextManager.getTaskName(24), true, false);

            task.data = data.storable_data[task.index];

            task.icon_name = "task_icon_022";

            if (data.storable_data[cur_task_index].started)
            {
                servered_timer.GetTime("Task24",
                                       (answ) =>
                {
                    if (!task.data.done)
                    {
                        task.time_wait = answ.data.time;

                        time_msg_parametr_values[1] = task.time_wait;
                        MessageBus.Instance.SendMessage(timer_msg, true);

                        done_dialog = true;
                    }
                },
                                       (answ) =>
                {
                    //todo replay request
                });
            }

            task.BeforeCutScene = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.CUT_SCENE_SHOWED;
                msg.parametrs = new UpdateInt(task.index);
                MessageBus.Instance.SendMessage(msg);
            };

            task.CutSceneCondition = () => { return(data.storable_data[18].done == true); };

            task.Init = () =>
            {
                Message msg = new Message();
                msg.Type      = MainScene.MainMenuMessageType.ADD_NEW_TASK_ITEM;
                msg.parametrs = new Yaga.CommonMessageParametr(task);
                MessageBus.Instance.SendMessage(msg);
            };

            task.BeforeAction = () => {
            };


            task.DoneAction = () =>
            {
                task.in_action = true;

                MainLocationOjects.instance.garden1_pond.SetActive(true);
                MainLocationOjects.instance.garden1_pond_bad.SetActive(false);

                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(24, 1), DialogType.Main, DialogType.One, DialogEntity.get_id(24, 1)));
                dialog.SetDialogs(deList);
                dialog.SetBtnAction(() =>
                {
                    dialog.CloseDialog();
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);
                });
                dialog.ShowDialog();

                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);

                CatsMoveController.GetController().SetDestination(Cats.Main, "Point 78");
                CatsMoveController.GetController().SetDestination(Cats.Black, "Point 79");
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Garden_1");

                TimerController.GetController().task24_timer.SetActive(false);
                MainLocationOjects.instance.garden1_pond_farm.SetActive(false);
            };

            task.DoneInitAction = () =>
            {
                MainLocationOjects.instance.garden1_pond.SetActive(true);
                MainLocationOjects.instance.garden1_pond_bad.SetActive(false);
                MainLocationOjects.instance.garden1_pond_farm.SetActive(false);
            };

            task.TickAction = () =>
            {
                if (done_dialog)
                {
                    time_msg_parametr_values[1] = task.time_wait;
                    MessageBus.Instance.SendMessage(timer_msg);
                }
            };

            TaskAction tasc_action_1 = new TaskAction();

            tasc_action_1.action = () =>
            {
                List <DialogEntity> deList = new List <DialogEntity>();
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(24, 2), DialogType.Main, DialogType.Black, DialogEntity.get_id(24, 2)));
                deList.Add(new DialogEntity(
                               TextManager.getDialogsText(24, 3), DialogType.Black, DialogType.Main, DialogEntity.get_id(24, 3)));
                dialog.SetDialogs(deList);
                dialog.SetBtnAction(() =>
                {
                    Message msg   = new Message();
                    msg.Type      = MainScene.MainMenuMessageType.SOME_ACTION_DONE;
                    msg.parametrs = new UpdateInt(task.index);
                    MessageBus.Instance.SendMessage(msg);

                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.SHOW_MAIN_MENU);
                    MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.OPEN_TASK_LIST);

                    task.in_action = false;

                    servered_timer.SetTime("Task24", task.time_wait);

                    time_msg_parametr_values[1] = task.time_wait;
                    MessageBus.Instance.SendMessage(timer_msg);

                    done_dialog = true;

                    dialog.CloseDialog();
                });

                dialog.ShowDialog();
                MessageBus.Instance.SendMessage(MainScene.MainMenuMessageType.CLOSE_MAIN_MENU);
                CameraMoveController.GetController().SetDestinations("CameraTasksTargets", "Garden_1");
                task.in_action = true;
            };
            tasc_action_1.condition_action = () => { return(true); };

            task.TaskActions = new List <TaskAction>();
            task.TaskActions.Add(tasc_action_1);

            task.Idle = () =>
            {
                if (task.data.started && !task.data.done && !MainLocationOjects.instance.garden1_pond_farm.activeSelf &&
                    task.data.current_action_index > 0)
                {
                    MainLocationOjects.instance.garden1_pond_farm.SetActive(true);
                }
            };


            task.DoneCondition = () =>
            {
                return(task.time_wait < 0);
            };

            return(task);
        }