예제 #1
0
        private static ActivityBase BuildShowCreatureInfoActivity(CreatureShowInfoPack pack)
        {
            if (pack == null)
            {
                throw new ArgumentNullException("pack");
            }

            FDCreature creature = pack.Creature;

            CreatureDialog.ShowType showType = CreatureDialog.ShowType.SelectAllItem;
            switch (pack.InfoType)
            {
            case CreatureInfoType.SelectAllItem:
                showType = CreatureDialog.ShowType.SelectAllItem;
                break;

            case CreatureInfoType.SelectEquipItem:
                showType = CreatureDialog.ShowType.SelectEquipItem;
                break;

            case CreatureInfoType.SelectUseItem:
                showType = CreatureDialog.ShowType.SelectUseItem;
                break;

            case CreatureInfoType.SelectMagic:
                showType = CreatureDialog.ShowType.SelectMagic;
                break;

            case CreatureInfoType.View:
                showType = CreatureDialog.ShowType.ViewItem;
                break;

            default:
                showType = CreatureDialog.ShowType.SelectAllItem;
                break;
            }

            CallbackActivity activity = new CallbackActivity(
                (gameInterface) => { gameInterface.ShowCreatureDialog(pack.Creature, showType); });

            if (pack.InfoType == CreatureInfoType.View && creature.Data.HasMagic())
            {
                SequenceActivity sequenceActivity = new SequenceActivity();
                sequenceActivity.Add(activity);

                CallbackActivity activity2 = new CallbackActivity(
                    (gameInterface) => { gameInterface.ShowCreatureDialog(pack.Creature, CreatureDialog.ShowType.ViewMagic); });

                sequenceActivity.Add(activity2);
                return(sequenceActivity);
            }

            return(activity);
        }
예제 #2
0
        public void ShowCreatureDialog(FDCreature creature, CreatureDialog.ShowType showType)
        {
            // Canvas
            if (currentDialog != null)
            {
                Destroy(currentDialog);
                currentDialog = null;
            }

            CreatureDialog dialog = GameObjectExtension.CreateFromPrefab <CreatureDialog>("Prefabs/CreatureDialog");

            currentDialog = dialog.gameObject;

            dialog.Initialize(this.uiCamera, creature, showType,
                              (index) => { this.OnDialogCallback(index); });
        }