Ejemplo n.º 1
0
 protected void SendPack(PackBase pack)
 {
     if (this.gameAction != null && this.gameAction.GetCallback() != null)
     {
         this.gameAction.GetCallback().OnHandlePack(pack);
     }
 }
Ejemplo n.º 2
0
        public void PushPack(PackBase pack)
        {
            Debug.LogFormat("PushPack: type={0}", pack.Type);
            var activity = ActivityBuilder.BuildFromPack(pack);

            if (activity != null)
            {
                this.PushActivity(activity);
            }
        }
Ejemplo n.º 3
0
 public void OnHandlePack(PackBase pack)
 {
     activityManager.PushPack(pack);
 }
Ejemplo n.º 4
0
        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);
        }