Esempio n. 1
0
 public void SetProp(PropID nID, float value)
 {
     if (m_fightProp != null)
     {
         m_fightProp.SetProp(nID, value);
     }
 }
Esempio n. 2
0
		public long EnumProperties(IntPtr enumerator) => 0x80004001L; // Not implemented

		public int GetProperty(uint index, PropID propId, ref PropVariant value)
		{
			var file = fileNames[(int)index];
			switch (propId)
			{
				case PropID.Attributes:
					value.VarType = VarEnum.VT_UI4;
					value.IntValue = (int)(Directory.Exists(file) ? FileAttributes.Directory : FileAttributes.Archive);
					break;
				case PropID.LastWriteTime:
					value.VarType = VarEnum.VT_FILETIME;
					value.LongValue = new FileInfo(file).LastWriteTime.ToFileTime();
					break;
				case PropID.Path:
					value.VarType = VarEnum.VT_BSTR;
					value.Value = Marshal.StringToBSTR(file.Substring(basePath.Length));
					break;
				case PropID.IsDirectory:
					value.VarType = VarEnum.VT_BOOL;
					value.LongValue = Convert.ToByte(Directory.Exists(file));
					break;
				case PropID.IsAnti:
					value.VarType = VarEnum.VT_BOOL;
					value.LongValue = 0;
					break;
				case PropID.Size:
					value.VarType = VarEnum.VT_UI8;
					value.LongValue = new FileInfo(file).Length;
					break;
			}

			return 0;
		}
Esempio n. 3
0
    public float GetProp(PropID nID)
    {
        if (m_fightProp == null)
        {
            Debug.LogWarning("实体战斗属性未初始化 !!!");
            return(0.0f);
        }

        return(m_fightProp.GetProp(nID));
    }
Esempio n. 4
0
 public void SetProp(PropID nID, float value)
 {
     if (nID < PropID.Max)
     {
         if (m_PropFuns[(int)nID] == null)
         {
             return;
         }
         m_PropFuns[(int)nID](nID, value);
     }
 }
Esempio n. 5
0
 private void Cover_NoNegative(PropID propID, float value)
 {
     if (value < 0.0f)
     {
         m_nNumProp[(int)propID] = 0.0f;
     }
     else
     {
         m_nNumProp[(int)propID] = value;
     }
 }
Esempio n. 6
0
    private void Increment_NoNegative(PropID propID, float value)
    {
        float newValue = m_nNumProp[(int)propID] + value;

        if (newValue < 0.0f)
        {
            m_nNumProp[(int)propID] = 0.0f;
        }
        else
        {
            m_nNumProp[(int)propID] = newValue;
        }
    }
Esempio n. 7
0
    private void ChangeCurEnergy(PropID propID, float value)
    {
        float newValue = m_nNumProp[(int)PropID.Energy] + value;

        if (newValue < COMMON_DEF.MIN_FLOAT)
        {
            newValue = 0.0f;
        }
        else if (newValue > m_nNumProp[(int)PropID.MaxEnergy])
        {
            newValue = m_nNumProp[(int)PropID.MaxEnergy];
        }

        m_nNumProp[(int)PropID.Energy] = newValue;
    }
Esempio n. 8
0
        public EventData[] GenerateEvent()
        {
            EventCustomData customData;

            switch (Type)
            {
            case EventType.LightBackTopLasers:
            case EventType.LightTrackRingNeons:
            case EventType.LightLeftLasers:
            case EventType.LightRightLasers:
            case EventType.LightBottomBackSideLasers:
            case EventType.Lasers:
            case EventType.BackTopTrackRing:
                customData = new EventCustomData
                {
                    Color   = Color.Copy(),
                    PropID  = PropID.Copy(),
                    LightID = LightID.Copy()
                };
                break;

            case EventType.RotationAllTrackRings:
            case EventType.RotationSmallTrackRings:
                customData = new RingCustomData
                {
                    CounterSpin = CounterLock.Copy(),
                    Direction   = Direction.Copy(),
                    NameFilter  = Filter.Copy(),
                    PropMult    = PropMult.Copy(),
                    Reset       = Reset.Copy(),
                    SpeedMult   = SpeedMult.Copy(),
                    StepMult    = StepMult.Copy(),
                    Prop        = Prop.Copy(),
                    Speed       = Speed.Copy(),
                    Step        = Step.Copy()
                };
                break;

            case EventType.RotatingLeftLasers:
            case EventType.RotatingRightLasers:
            case EventType.RotatingLasers:
                customData = new LaserCustomData
                {
                    Direction    = Direction.Copy(),
                    LockPosition = CounterLock.Copy(),
                    PreciseSpeed = Speed.Copy()
                };
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            if (Type == EventType.Lasers || Type == EventType.RotatingLasers || Type == EventType.BackTopTrackRing)
            {
                return new[] {
                           new EventData
                           {
                               CustomData = customData,
                               Value      = (int)Value,
                               Type       = Type == EventType.Lasers ? 2 : Type == EventType.RotatingLasers ? 12 : 0,
                               Time       = (float)StartTime
                           },
                           new EventData
                           {
                               CustomData = customData,
                               Value      = (int)Value,
                               Type       = Type == EventType.Lasers ? 3 :  Type == EventType.RotatingLasers ? 13 : 1,
                               Time       = (float)StartTime
                           },
                }
            }
            ;
            else
            {
                return new[] {
                           new EventData
                           {
                               CustomData = customData,
                               Value      = (int)Value,
                               Type       = (int)Type,
                               Time       = (float)StartTime
                           }
                }
            };
        }
    }
 /// <summary>
 /// Gives peds specific props (includes hats)
 /// </summary>
 /// <param name="comp">IS ZERO BASED INDEX (SNT is 1 based)</param>
 /// <param name="drawIndex">IS ZERO BASED INDEX (SNT is 1 based)</param>
 /// <param name="variation">IS ZERO BASED INDEX (SNT is 1 based)</param>
 public static void GivePedProp(this Ped ped, PropID comp, int drawIndex, int variation = 0, bool attach = true)
 => NativeFunction.Natives.SET_PED_PROP_INDEX(ped, (int)comp, drawIndex, variation, attach);
Esempio n. 10
0
 public float GetProp(PropID nID)
 {
     return(m_nNumProp[(int)nID]);
 }
Esempio n. 11
0
 private void NoPropFun(PropID propID, float value)
 {
 }