public void SetSpecialBuffAction(eSpecialBuffState currentBuffState, eSpecialBuffState previousBuffState) { m_buffActionState = currentBuffState; if (currentBuffState != previousBuffState) { EB.Debug.Log("set buffState:{0} cbt:{1}", currentBuffState, Combatant.Data); SkinnedMeshRenderer[] skins = Combatant.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < skins.Length; i++) { SkinnedMeshRenderer skin = skins[i]; skin.material.SetColor("_FinalColor", new Color(1.0f, 1.0f, 1.0f, 0.0f)); skin.material.SetFloat("_ContrastIntansity", 1); skin.material.SetFloat("_Brightness", 0); skin.material.SetFloat("_GrayScale", 0); } Combatant.RestoreMaterialShader(); Combatant.PauseAnimation(-1.0f); } if (currentBuffState == eSpecialBuffState.Frozen) { SkinnedMeshRenderer[] skins = Combatant.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < skins.Length; i++) { SkinnedMeshRenderer skin = skins[i]; skin.material.SetColor("_FinalColor", new Color(1.0f, 0.965f, 0.0f, 0.408f)); skin.material.SetFloat("_ContrastIntansity", 1); skin.material.SetFloat("_Brightness", 0); skin.material.SetFloat("_GrayScale", 0); } //mFreezeTime = Combatant.MoveController.GetMove(MoveName, UseDefaultMove).AdjustedLength; Combatant.PauseAnimation(0.0f); } else if (currentBuffState == eSpecialBuffState.Stone) { Combatant.ReplaceAsStoneMaterialShader(); Combatant.PauseAnimation(0.0f); } }
public void StopSpecialBuffAction() { if (m_buffActionState == eSpecialBuffState.None) { return; } m_buffActionState = eSpecialBuffState.None; SkinnedMeshRenderer[] skins = Combatant.GetComponentsInChildren <SkinnedMeshRenderer>(); for (int i = 0; i < skins.Length; i++) { SkinnedMeshRenderer skin = skins[i]; skin.material.SetColor("_FinalColor", new Color(1.0f, 1.0f, 1.0f, 0.0f)); skin.material.SetFloat("_ContrastIntansity", 1); skin.material.SetFloat("_Brightness", 0); skin.material.SetFloat("_GrayScale", 0); } Combatant.RestoreMaterialShader(); Combatant.PauseAnimation(-1.0f); }