public void CopyTo(NcInfoCurve target) { target.m_AniCurve = new AnimationCurve(m_AniCurve.keys); target.m_AniCurve.postWrapMode = m_AniCurve.postWrapMode; target.m_AniCurve.preWrapMode = m_AniCurve.preWrapMode; target.m_bEnabled = m_bEnabled; target.m_ApplyType = m_ApplyType; System.Array.Copy(m_bApplyOption, target.m_bApplyOption, m_bApplyOption.Length); target.m_fValueScale = m_fValueScale; target.m_bRecursively = m_bRecursively; target.m_FromColor = m_FromColor; target.m_ToColor = m_ToColor; // target.m_ModeType = m_ModeType; // target.m_ByValue = m_ByValue; // target.m_ToValue = m_ToValue; target.m_nTag = m_nTag; target.m_nSortGroup = m_nSortGroup; }
public NcInfoCurve GetClone() { NcInfoCurve newInfo = new NcInfoCurve(); newInfo.m_AniCurve = new AnimationCurve(m_AniCurve.keys); newInfo.m_AniCurve.postWrapMode = m_AniCurve.postWrapMode; newInfo.m_AniCurve.preWrapMode = m_AniCurve.preWrapMode; newInfo.m_bEnabled = m_bEnabled; newInfo.m_CurveName = m_CurveName; newInfo.m_ApplyType = m_ApplyType; System.Array.Copy(m_bApplyOption, newInfo.m_bApplyOption, m_bApplyOption.Length); newInfo.m_fValueScale = m_fValueScale; newInfo.m_bRecursively = m_bRecursively; newInfo.m_FromColor = m_FromColor; newInfo.m_ToColor = m_ToColor; // newInfo.m_ModeType = m_ModeType; // newInfo.m_ByValue = m_ByValue; // newInfo.m_ToValue = m_ToValue; newInfo.m_nTag = m_nTag; newInfo.m_nSortGroup = m_nSortGroup; return(newInfo); }
public bool CheckInvalidOption(int nSrcIndex) { NcInfoCurve srcCurveInfo = GetCurveInfo(nSrcIndex); if (srcCurveInfo == null) { return(false); } if (srcCurveInfo.m_ApplyType != NcInfoCurve.APPLY_TYPE.MATERIAL_COLOR && srcCurveInfo.m_ApplyType != NcInfoCurve.APPLY_TYPE.SCALE && srcCurveInfo.m_ApplyType != NcInfoCurve.APPLY_TYPE.TEXTUREUV && srcCurveInfo.m_ApplyType != NcInfoCurve.APPLY_TYPE.TEXTUREUV_OFFSET) { return(false); } // ソノシヌ チ゚コケーヒサ? bool bDup = false; // int nChkCount = srcCurveInfo.GetValueCount(); // // for (int nIndex = 0; nIndex < m_CurveInfoList.Count; nIndex++) // { // if (nIndex == nSrcIndex) // continue; // if (srcCurveInfo.m_ApplyType == m_CurveInfoList[nIndex].m_ApplyType) // { // for (int n = 0; n < nChkCount; n++) // if (srcCurveInfo.m_bApplyOption[n] && m_CurveInfoList[nIndex].m_bApplyOption[n]) // { // Debug.Log(GetHelpString("DUPLICATE", string.Format("CurveIndex [{0}], TypeValue[{1}]", nIndex.ToString(), m_CurveInfoList[nIndex].GetValueName(n)))); // bDup = true; // } // } // } return(bDup); }
void UpdateAnimation(float fElapsedRate) { m_fElapsedRate = fElapsedRate; //foreach (NcInfoCurve curveInfo in m_CurveInfoList) int _countOfCurveInfo = m_CurveInfoList.Count; for (int i = 0; i < _countOfCurveInfo; i++) { NcInfoCurve curveInfo = m_CurveInfoList[i]; if (curveInfo.m_bEnabled == false) { continue; } float fValue = curveInfo.m_AniCurve.Evaluate(m_fElapsedRate); if (curveInfo.m_ApplyType != NcInfoCurve.APPLY_TYPE.MATERIAL_COLOR && curveInfo.m_ApplyType != NcInfoCurve.APPLY_TYPE.MESH_COLOR) { fValue *= curveInfo.m_fValueScale; } switch (curveInfo.m_ApplyType) { case NcInfoCurve.APPLY_TYPE.NONE: continue; case NcInfoCurve.APPLY_TYPE.POSITION: { if (curveInfo.m_bApplyOption[3]) { m_Transform.position += new Vector3(GetNextValue(curveInfo, 0, fValue), GetNextValue(curveInfo, 1, fValue), GetNextValue(curveInfo, 2, fValue)); } else { m_Transform.localPosition += new Vector3(GetNextValue(curveInfo, 0, fValue), GetNextValue(curveInfo, 1, fValue), GetNextValue(curveInfo, 2, fValue)); } break; } case NcInfoCurve.APPLY_TYPE.ROTATION: { if (curveInfo.m_bApplyOption[3]) { m_Transform.rotation *= Quaternion.Euler(GetNextValue(curveInfo, 0, fValue), GetNextValue(curveInfo, 1, fValue), GetNextValue(curveInfo, 2, fValue)); } else { m_Transform.localRotation *= Quaternion.Euler(GetNextValue(curveInfo, 0, fValue), GetNextValue(curveInfo, 1, fValue), GetNextValue(curveInfo, 2, fValue)); } break; } case NcInfoCurve.APPLY_TYPE.SCALE: { m_Transform.localScale += new Vector3(GetNextScale(curveInfo, 0, fValue), GetNextScale(curveInfo, 1, fValue), GetNextScale(curveInfo, 2, fValue)); break; } case NcInfoCurve.APPLY_TYPE.MATERIAL_COLOR: { if (curveInfo.m_bRecursively) { // Recursively if (m_ChildColorNames == null || m_ChildColorNames.Length < 0) { break; } for (int arrayIndex = 0; arrayIndex < m_ChildColorNames.Length; arrayIndex++) { if (m_ChildColorNames[arrayIndex] != null && m_ChildRenderers[arrayIndex] != null) { SetChildMaterialColor(curveInfo, fValue, arrayIndex); } } } else { var ren = this.gameObject.GetComponent <Renderer>(); if (ren != null && m_ColorName != null) { if (m_MainMaterial == null) { m_MainMaterial = ren.material; AddRuntimeMaterial(m_MainMaterial); } // this Only Color color = curveInfo.m_ToColor - curveInfo.m_OriginalValue; Color currentColor = m_MainMaterial.GetColor(m_ColorName); for (int n = 0; n < 4; n++) { currentColor[n] += GetNextValue(curveInfo, n, color[n] * fValue); } m_MainMaterial.SetColor(m_ColorName, currentColor); } } break; } case NcInfoCurve.APPLY_TYPE.TEXTUREUV: { if (m_NcUvAnimation) { m_NcUvAnimation.m_fScrollSpeedX += GetNextValue(curveInfo, 0, fValue); m_NcUvAnimation.m_fScrollSpeedY += GetNextValue(curveInfo, 1, fValue); } break; } case NcInfoCurve.APPLY_TYPE.MESH_COLOR: { Color tarColor = Color.Lerp(curveInfo.m_FromColor, curveInfo.m_ToColor, fValue); if (curveInfo.m_bRecursively) { // Recursively if (m_ChildMeshFilters == null || m_ChildMeshFilters.Length < 0) { break; } for (int arrayIndex = 0; arrayIndex < m_ChildMeshFilters.Length; arrayIndex++) { ChangeMeshColor(m_ChildMeshFilters[arrayIndex], tarColor); } } else { // this Only ChangeMeshColor(m_MainMeshFilter, tarColor); } break; } } } if (0 != m_fDurationTime) { if (1 < m_fElapsedRate) { if (IsEndAnimation() == false) { OnEndAnimation(); } // AutoDestruct if (m_bAutoDestruct) { if (isReuse) { gameObject.SetActive(false); } else { DestroyObject(gameObject); } } } } }