52 lines
2.0 KiB
C#
52 lines
2.0 KiB
C#
using CSNetwork.GPDataType;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BrewMonster
|
|
{
|
|
public class CECPolicyAction
|
|
{
|
|
public void Init(cmd_object_start_play_action pCmd)
|
|
{
|
|
// TODO: CECPolicyAction convert
|
|
// Çå³ýÒÑÓÐÊý¾Ý
|
|
/* Reset();
|
|
|
|
// ÉèÖÃÐÒéÊý¾Ý
|
|
m_playTimes = pCmd->play_times;
|
|
m_actionTime = pCmd->action_last_time;
|
|
m_intervalTime = pCmd->interval_time;
|
|
if (pCmd->name_length && pCmd->action_name[0])
|
|
m_actionName = AString(pCmd->action_name, pCmd->name_length);
|
|
|
|
// ÑéÖ¤ÐÒéÄÚÈÝ
|
|
ASSERT(m_actionTime >= 0); // ÔÊÐí²¥·Å¶¯×÷ʱ¼äΪ0
|
|
ASSERT(m_intervalTime >= 0); // ÔÊÐí¶¯×÷²¥·Å¼ä¸ôʱ¼äΪ0
|
|
ASSERT(m_actionTime > 0 || m_intervalTime > 0); // ²»ÔÊÐí¶¯×÷²¥·Åʱ¼äºÍ¶¯×÷²¥·Å¼ä¸ôͬʱΪ0
|
|
ASSERT(m_actionTime == 0 || m_actionTime > 0 && !m_actionName.IsEmpty()); // ²»ÔÊÐí²¥·Å¶¯×÷ʱµ«¶¯×÷Ãû³ÆÎª¿Õ
|
|
ASSERT(m_playTimes > 0); // ²»ÔÊÐí²¥·Å´ÎÊý·ÇÕý
|
|
|
|
if (m_playTimes > 0 && m_actionTime >= 0 && m_intervalTime >= 0)
|
|
m_timeLength = m_playTimes * m_actionTime + (m_playTimes - 1) * m_intervalTime;
|
|
|
|
// ³õʼ»¯×´Ì¬±äÁ¿
|
|
m_validPolicy = true;
|
|
if (m_actionTime < 0 || m_intervalTime < 0 || m_actionTime == 0 && m_intervalTime == 0 ||
|
|
m_playTimes <= 0)
|
|
{
|
|
m_validPolicy = false;
|
|
}
|
|
|
|
m_inPolicy = (m_validPolicy && m_timeLength > 0);
|
|
m_inPlay = (m_inPolicy && m_playTimes > 0 && m_actionTime > 0);
|
|
m_policyTimer = 0;
|
|
m_playedTimes = 0;
|
|
m_playTimer = 0;
|
|
m_internalTimer = 0;*/
|
|
}
|
|
}
|
|
}
|