예제 #1
0
        public void GetAssetObjects(EventResponse eventResponse, Dictionary <string, CustomParameter> parameters)
        {
            int l = assetObjects.Length;

            for (int i = 0; i < l; i++)
            {
                AssetObject ao = assetObjects[i];
                if (ao.solo)
                {
                    eventResponse.chosenObjects.Clear();

                    if (CustomScripting.StatementValue(ao.conditionBlock, parameters, ref eventResponse.logErrors, ref eventResponse.logWarnings))
                    {
                        eventResponse.chosenObjects.Add(assetObjects[i]);
                    }

                    break;
                }
                if (!ao.mute)
                {
                    if (CustomScripting.StatementValue(ao.conditionBlock, parameters, ref eventResponse.logErrors, ref eventResponse.logWarnings))
                    {
                        eventResponse.chosenObjects.Add(assetObjects[i]);
                    }
                }
            }
        }
예제 #2
0
 void GetFilteredStates(EventState eventState, Dictionary <string, CustomParameter> parameters, EventResponse eventResponse)
 {
     if (CustomScripting.StatementValue(eventState.conditionBlock, parameters, ref eventResponse.logErrors, ref eventResponse.logWarnings))
     {
         eventState.GetAssetObjects(eventResponse, parameters);
         int l = eventState.subStatesIDs.Length;
         for (int i = 0; i < l; i++)
         {
             GetFilteredStates(allStates[id2State[eventState.subStatesIDs[i]]], parameters, eventResponse);
         }
     }
 }