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); }
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); }); }