protected void SendPack(PackBase pack) { if (this.gameAction != null && this.gameAction.GetCallback() != null) { this.gameAction.GetCallback().OnHandlePack(pack); } }
public void PushPack(PackBase pack) { Debug.LogFormat("PushPack: type={0}", pack.Type); var activity = ActivityBuilder.BuildFromPack(pack); if (activity != null) { this.PushActivity(activity); } }
public void OnHandlePack(PackBase pack) { activityManager.PushPack(pack); }
public static ActivityBase BuildFromPack(PackBase pack) { if (pack == null) { throw new ArgumentNullException("pack"); } switch (pack.Type) { case PackBase.PackType.CreatureCompose: return(BuildComposeCreatureActivity(pack as CreatureComposePack)); case PackBase.PackType.CreatureMove: return(BuildMoveCreatureActivity(pack as CreatureMovePack)); case PackBase.PackType.CreatureRefresh: return(BuildRefreshCreatureActivity(pack as CreatureRefreshPack)); case PackBase.PackType.CreatureDead: return(BuildCreatureDeadActivity(pack as CreatureDeadPack)); case PackBase.PackType.CreatureDispose: return(BuildCreatureDisposeActivity(pack as CreatureDisposePack)); case PackBase.PackType.CreatureRefreshAll: return(BuildRefreshAllCreaturesActivity(pack as CreatureRefreshAllPack)); case PackBase.PackType.CreatureShowInfo: return(BuildShowCreatureInfoActivity(pack as CreatureShowInfoPack)); case PackBase.PackType.Talk: return(BuildTalkActivity(pack as TalkPack)); case PackBase.PackType.Prompt: return(BuildPromptActivity(pack as PromptPack)); case PackBase.PackType.Batch: return(BuildBatchActivity(pack as BatchPack)); case PackBase.PackType.ShowMenu: return(BuildShowMenuActivity(pack as ShowMenuPack)); case PackBase.PackType.CloseMenu: return(new CallbackActivity( (callback) => { callback.ClearCancellableObjects(); })); case PackBase.PackType.ShowRange: return(BuildShowRangeActivity(pack as ShowRangePack)); case PackBase.PackType.ClearRange: return(new CallbackActivity( (callback) => { callback.ClearCancellableObjects(); })); case PackBase.PackType.BattleFight: return(BuildBattleFightActivity(pack as BattleFightPack)); default: break; } return(null); }