コード例 #1
0
        //* -----------------------------------------------------------------------*
        /// <summary>1フレーム分の更新処理を実行します。</summary>
        ///
        /// <param name="entity">この状態を適用されているオブジェクト。</param>
        /// <param name="privateMembers">
        /// オブジェクトと状態クラスのみがアクセス可能なフィールド。
        /// </param>
        /// <param name="gameTime">前フレームが開始してからの経過時間。</param>
        public override void update(CPresenceManager entity, object privateMembers, GameTime gameTime)
        {
            int phaseCount = entity.counter % entity.interval;

            if (phaseCount == 0)
            {
                IList <SPresence> presenceList = entity.presenceList;
                int  length = presenceList.Count;
                bool trial  = CGuideWrapper.instance.IsTrialMode;
                if (length > 0 || trial)
                {
                    int       phase    = (entity.counter / entity.interval) % (length + (trial ? 1 : 0));
                    SPresence presence =
                        phase == length ? SPresence.trialMode : presenceList[phase];
                    entity.setPresence(presence);
#if TRACE
                    CLogger.add(presence);
#endif
                }
            }
        }
コード例 #2
0
 //* -----------------------------------------------------------------------*
 /// <summary>プレゼンス情報を設定します。</summary>
 ///
 /// <param name="presence">プレゼンス情報。</param>
 public void setPresence(SPresence presence)
 {
     setPresence(presence.mode, presence.value);
 }