protected override void Load(FunctionData funcData) { CallData callData = funcData.Call; if (null != callData) { Load(callData); for (int i = 0; i < funcData.Statements.Count; ++i) { CallData stCall = funcData.Statements[i] as ScriptableData.CallData; if (null != stCall) { string id = stCall.GetId(); if (id == "statebuff") { StateBuff stateBuff = ScriptableDataUtility.CalcStateBuff(stCall); m_StateImpacts[stateBuff.m_State] = stateBuff; } if (id == "box") { int num = stCall.GetParamNum(); if (num >= 2) { m_Offset = ScriptableDataUtility.CalcVector3(stCall.GetParam(0) as ScriptableData.CallData); m_Size = ScriptableDataUtility.CalcVector3(stCall.GetParam(0) as ScriptableData.CallData); m_Rotation = Quaternion.identity; } } if (id == "line") { int num = stCall.GetParamNum(); if (num >= 3) { Vector3 startPos = ScriptableDataUtility.CalcVector3(stCall.GetParam(0) as ScriptableData.CallData); Vector3 endPos = ScriptableDataUtility.CalcVector3(stCall.GetParam(1) as ScriptableData.CallData); float radius = float.Parse(stCall.GetParamId(2)); m_Offset = (startPos + endPos) / 2; m_Size = new Vector3(Vector3.Distance(startPos, endPos), radius, radius); m_Rotation = Quaternion.LookRotation(Vector3.Cross((endPos - startPos), Vector3.up)); } } } } } }
protected override void Load(FunctionData funcData) { CallData callData = funcData.Call; if (null != callData) { Load(callData); for (int i = 0; i < funcData.Statements.Count; ++i) { if (funcData.Statements[i] is ScriptableData.CallData stCall) { string id = stCall.GetId(); if (id == "statebuff") { StateBuff stateBuff = ScriptableDataUtility.CalcStateBuff(stCall); m_StateImpacts[stateBuff.m_State] = stateBuff; } } } } }