public bool clearWindfury() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND) { this.m_pk.windfury = 0; UtilMath.clearState(StateID.CARD_STATE_WINDFURY, m_svrCard.state); return(true); } return(false); }
public bool addSneak() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND) { this.m_pk.sneak = 1; UtilMath.clearState(StateID.CARD_STATE_SNEAK, m_svrCard.state); return(true); } return(false); }
public bool addCharge() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND) { this.m_pk.charge = 1; UtilMath.clearState(StateID.CARD_STATE_SLEEP, m_svrCard.state); return(true); } return(false); }
public bool clearTaunt() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND) { this.m_pk.taunt = 0; UtilMath.clearState(StateID.CARD_STATE_TAUNT, m_svrCard.state); return(true); } return(false); }
public bool isFreeze() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND || this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_HERO) { if (UtilMath.checkState(StateID.CARD_STATE_FREEZE, m_svrCard.state)) { return(true); } } return(false); }
public bool hasShield() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND) { if (UtilMath.checkState(StateID.CARD_STATE_SHIED, m_svrCard.state)) { return(true); } } return(false); }
public bool isCharge() { if (this.m_cardTableItem.m_type == (int)CardType.CARDTYPE_ATTEND) { if (UtilMath.checkState(StateID.CARD_STATE_CHARGE, m_svrCard.state)) { return(true); } } return(false); }
protected void expandUpdateElem() { // 计算正常位置 int validCount = getValidElemCount(m_elemList); m_posList.Clear(); UtilMath.newRectSplit(m_centerPos, m_elemNormalWidth, m_radius, m_yDelta, validCount, ref m_posList); // 更新元素信息 float deltaX = 0; int posIdx = 0; float origX = 0; float origZ = 0; float expandDeltaX = 0; float expandDeltaZ = 0; float nextOrigX = 0; // 后面一个的位置 float nextExpandX = 0; // 后面一个的位置 for (int elemIdx = 0; elemIdx < m_elemList.Count(); ++elemIdx) { if (m_elemList[elemIdx].bValid) { m_posList[posIdx] += new Vector3(deltaX, 0, 0); if (!m_elemList[elemIdx].isNormalState()) { // 计算原始的位置 origX = m_posList[posIdx].x; origZ = m_posList[posIdx].z; // 计算由于放大需要的偏移量 expandDeltaX = (m_elemList[elemIdx].getExpandWidth() - m_elemList[elemIdx].getNormalWidth()) / 2; expandDeltaZ = (m_elemList[elemIdx].getExpandHeight() - m_elemList[elemIdx].getNormalHeight()) / 2; // 计算正确的中心位置 m_posList[posIdx] += new Vector3(expandDeltaX, 0, expandDeltaZ); // 如果后面还有元素 if (posIdx < validCount - 1) { // 计算下一个元素在当前元素没有扩大的情况下,中心点位置 nextOrigX = m_posList[posIdx + 1].x + deltaX; // 计算下一个元素在当前元素有扩大的情况下,中心点位置 nextExpandX = m_posList[posIdx].x + m_elemList[elemIdx].getExpandWidth() / 2 + m_elemList[elemIdx + 1].getNormalWidth() / 2; // 计算后面的元素应该偏移量 deltaX += (nextExpandX - nextOrigX); } } m_elemList[elemIdx].setExpandPos(m_posList[posIdx]); ++posIdx; } } }
public bool bStateChange() { int idx = 0; for (idx = 0; idx < (int)StateID.CARD_STATE_MAX; ++idx) { if (UtilMath.checkState((StateID)idx, m_changedState)) { return(true); } } return(false); }
protected void normalUpdateElem() { // 计算位置信息 m_posList.Clear(); UtilMath.newRectSplit(m_centerPos, m_elemNormalWidth, m_radius, m_yDelta, getValidElemCount(m_elemList), ref m_posList); // 更新元素信息 int posIdx = 0; for (int idx = 0; idx < m_elemList.Count(); ++idx) { if (m_elemList[idx].bValid) { m_elemList[idx].setNormalPos(m_posList[posIdx]); ++posIdx; } } }
public void updateStateChange(byte[] srcStateArr, byte[] destStateArr) { int idx = 0; bool srcState = false; bool destState = false; for (idx = 0; idx < (int)StateID.CARD_STATE_MAX; ++idx) { srcState = UtilMath.checkState((StateID)idx, srcStateArr); destState = UtilMath.checkState((StateID)idx, destStateArr); if (srcState != destState) { UtilMath.setState((StateID)idx, m_changedState); // 设置状态变化标志 } if (destState) { UtilMath.setState((StateID)idx, m_curState); } } }
public bool bInSleepState() { return(UtilMath.checkState(StateID.CARD_STATE_SLEEP, m_svrCard.state)); }