コード例 #1
0
ファイル: MoveManager.cs プロジェクト: hainam2101/Strategy
        /// <summary>
        /// Recives the information that the constolled object reached the destination.
        /// Reports the information if some class wants to control this movement and
        /// sends the information to object to which the imgo travels.
        /// </summary>
        /// <param Name="imgo">The object which reached the destination.</param>
        /// <param Name="isgo">The target of the movement.</param>
        private void ReachedDestiantion(IMovableGameObject imgo, IGameObject gameObject)
        {
            if (finishMoveRecDict.ContainsKey(imgo))
            {
                finishMoveRecDict[imgo].MovementFinished(imgo);
                finishMoveRecDict.Remove(imgo);
            }

            if (imgo.Visible)
            {
                imgo.Stop();
                gameObject.TargetInSight(imgo);
            }
        }
コード例 #2
0
ファイル: Traveler.cs プロジェクト: vavrekmichal/StrategyGame
        /// <summary>
        /// Initializes Traveler and calculates the time of the travel (from the distance between
        /// SolarSystems). Also creates the object invisible and removes it from current SolarSystem.
        /// </summary>
        /// <param name="from"></param>
        /// <param name="to"></param>
        /// <param name="traveler"></param>
        public Traveler(SolarSystem from, SolarSystem to, IMovableGameObject traveler)
        {
            this.from     = from;
            this.to       = to;
            this.traveler = traveler;
            long travelTime = (long)GetSquareOfDistance(from, to);

            timeToGo = new Property <TimeSpan>(new TimeSpan(travelTime * 60));          // Multiply by 60

            traveler.Stop();

            // Removes from current SolarSystem
            from.RemoveIMGO(traveler);
            traveler.ChangeVisible(false);
        }
コード例 #3
0
ファイル: Traveler.cs プロジェクト: vavrekmichal/Strategy
        /// <summary>
        /// Initializes Traveler and calculates the time of the travel (from the distance between
        /// SolarSystems). Also creates the object invisible and removes it from current SolarSystem.
        /// </summary>
        /// <param name="from">The SolarSystem with the traveler</param>
        /// <param name="to">The target SolarSystem of the traveler</param>
        /// <param name="traveler">The traveling object</param>
        public Traveler(SolarSystem from, SolarSystem to, IMovableGameObject traveler)
        {
            this.from = from;
            this.to = to;
            this.traveler = traveler;
            long travelTime = (long)GetSquareOfDistance(from, to);

            timeToGo = new Property<TimeSpan>(new TimeSpan(travelTime*60)); // Multiply by 60

            traveler.Stop();

            // Removes from current SolarSystem
            from.RemoveIMGO(traveler);
            traveler.ChangeVisible(false);
        }
コード例 #4
0
        /// <summary>
        /// Recives the information that the constolled object reached the destination.
        /// Reports the information if some class wants to control this movement and 
        /// sends the information to object to which the imgo travels.
        /// </summary>
        /// <param Name="imgo">The object which reached the destination.</param>
        /// <param Name="isgo">The target of the movement.</param>
        private void ReachedDestiantion(IMovableGameObject imgo, IGameObject gameObject)
        {
            if (finishMoveRecDict.ContainsKey(imgo)) {
                finishMoveRecDict[imgo].MovementFinished(imgo);
                finishMoveRecDict.Remove(imgo);
            }

            if (imgo.Visible) {
                imgo.Stop();
                gameObject.TargetInSight(imgo);
            }
        }