Пример #1
0
        public bool Start(GameClient client, List <Point> path, int cellSizeX, int cellSizeY, long elapsedTicks)
        {
            bool result;

            lock (this.mutex)
            {
                if (this._Started)
                {
                    result = false;
                }
                else
                {
                    this._CellSizeX      = cellSizeX;
                    this._CellSizeY      = cellSizeY;
                    this._PathIndex      = 0;
                    this._LastRunTicks   = StoryBoard4Client.getMyTimer() - elapsedTicks;
                    this._LastTargetX    = client.ClientData.PosX;
                    this._LastTargetY    = client.ClientData.PosY;
                    this._CurrentX       = (double)client.ClientData.PosX;
                    this._CurrentY       = (double)client.ClientData.PosY;
                    this._Path           = path;
                    this._CompletedState = false;
                    this._Started        = true;
                    this._Stopped        = false;
                    this._LastStopIndex  = -1;
                    this._FirstPoint     = new Point(this._Path[0].X * (double)this._CellSizeX + (double)(this._CellSizeX / 2), this._Path[0].Y * (double)this._CellSizeY + (double)(this._CellSizeY / 2));
                    if (this._Path.Count <= 0)
                    {
                        this._LastPoint = this._FirstPoint;
                    }
                    else
                    {
                        this._LastPoint = new Point(this._Path[this._Path.Count - 1].X * (double)this._CellSizeX + (double)(this._CellSizeX / 2), this._Path[this._Path.Count - 1].Y * (double)this._CellSizeY + (double)(this._CellSizeY / 2));
                    }
                    result = true;
                }
            }
            return(result);
        }
Пример #2
0
        public static void runStoryBoards()
        {
            long currentTicks = StoryBoard4Client.getMyTimer();

            StoryBoard4Client.LastRunStoryTicks = currentTicks;
            List <StoryBoard4Client> list = new List <StoryBoard4Client>();

            lock (StoryBoard4Client.StoryBoardDict)
            {
                foreach (StoryBoard4Client sb in StoryBoard4Client.StoryBoardDict.Values)
                {
                    list.Add(sb);
                }
            }
            for (int i = 0; i < list.Count; i++)
            {
                StoryBoard4Client sb = list[i];
                if (null != sb)
                {
                    sb.Run(currentTicks);
                }
            }
        }