Exemplo n.º 1
0
        /// <summary>
        /// The Walk is only used for animation, not used during the game playing
        /// </summary>
        /// <param name="moveAction"></param>
        public void CreatureWalks(List <SingleWalkAction> walkActions)
        {
            if (walkActions == null || walkActions.Count == 0)
            {
                return;
            }

            if (walkActions.Count == 1)
            {
                var movePack = HandleWalkAction(walkActions[0]);
                gameCallback.OnHandlePack(movePack);
            }
            else
            {
                BatchPack batch = new BatchPack();
                for (int i = 0; i < walkActions.Count; i++)
                {
                    var movePack = HandleWalkAction(walkActions[i]);
                    if (movePack != null)
                    {
                        batch.Add(movePack);
                    }
                }
                gameCallback.OnHandlePack(batch);
            }
        }
Exemplo n.º 2
0
        private static ActivityBase BuildBatchActivity(BatchPack pack)
        {
            BatchActivity batch = new BatchActivity();

            if (pack != null)
            {
                foreach (PackBase p in pack.Packs)
                {
                    if (p == null)
                    {
                        throw new ArgumentNullException("BatchActivity");
                    }

                    var a = BuildFromPack(p);
                    if (a != null)
                    {
                        batch.Add(a);
                    }
                }
            }
            return(batch);
        }