예제 #1
0
 protected override void ProcessInputs(out bool processAllOutputs)
 {
     if (in1.GetDataType() == typeof(float))
     {
         //multiply 2 float
         float v = (float)in1.GetData();
         float m = (float)inMult.GetData();
         outResult.SetData(v * m);
     }
     else if (in1.GetDataType() == typeof(Vector2))
     {
         //multiply vector2 and float
         Vector2 v = (Vector2)in1.GetData();
         float   m = (float)inMult.GetData();
         outResult.SetData(v * m);
     }
     else if (in1.GetDataType() == typeof(Vector3))
     {
         //multiply vec3 and float
         Vector3 v = (Vector3)in1.GetData();
         float   m = (float)inMult.GetData();
         outResult.SetData(v * m);
     }
     processAllOutputs = true;
 }
예제 #2
0
파일: AddNode.cs 프로젝트: r2d2m/NodeGame
 protected override void ProcessInputs(out bool processAllOutputs)
 {
     if (in1.GetDataType() == typeof(Vector2))
     {
         //vec2
         Vector2 vec1 = (Vector2)in1.GetData();
         Vector2 vec2 = (Vector2)in2.GetData();
         outp.SetData(Vec2Operation(vec1, vec2));
     }
     else if (in1.GetDataType() == typeof(Vector3))
     {
         //vec3
         Vector3 vec1 = (Vector3)in1.GetData();
         Vector3 vec2 = (Vector3)in2.GetData();
         outp.SetData(Vec3Operation(vec1, vec2));
     }
     else if (in1.GetDataType() == typeof(float))
     {
         //float
         float f1 = (float)in1.GetData();
         float f2 = (float)in2.GetData();
         outp.SetData(FloatOperation(f1, f2));
     }
     else
     {
         Debug.LogError("type f****d in the butt, this shouldn't happen (AddNode)");
     }
     processAllOutputs = true;
 }
예제 #3
0
 protected override void OnUpdate()
 {
     if (hasFlow && !oldHasFlow)
     {
         //if there is a new data flow
         output.SetData(input.GetData());
         ProcessAllOutputs();
     }
     oldHasFlow = hasFlow;
     hasFlow    = false;
 }
예제 #4
0
 protected override void OnUpdate()
 {
     if (outputs.Count != 0)
     {
         object data = variables[varName].GetData();
         if (data != null)
         {
             outp.SetData(data);
             ProcessAllOutputs();
         }
     }
 }
예제 #5
0
 protected override void ProcessInputs(out bool processAllOutputs)
 {
     if (data != null && outp != null)
     {
         outp.SetData(data);
         data = null;
         processAllOutputs = true;
     }
     else
     {
         processAllOutputs = false;
     }
 }
예제 #6
0
        protected override void ProcessInputs(out bool processAllOutputs)
        {
            bool val = (bool)valid.GetData();

            if (val)
            {
                outp.SetData(in1.GetData());
                processAllOutputs = true;
            }
            else
            {
                processAllOutputs = false;
            }
        }
예제 #7
0
파일: WaitNode.cs 프로젝트: r2d2m/NodeGame
 protected override void OnUpdate()
 {
     //we don't know if the data input is a constant flow so we have to update ourself
     if (checkManually && !waiting && input.hasData)
     {
         waiting       = true;
         startTime     = Time.time;
         savedDataIn   = input.GetData();
         input.hasData = false;
     }
     if (waiting && Time.time - startTime > waitTime)
     {
         waiting = false;
         output.SetData(savedDataIn);
         ProcessAllOutputs();
     }
 }