Example #1
0
            public void RegisterExtendedAccessors(Action <Action> RunWithExceptionHandler, ApiMemberAccessor GetOrSetMemberFunc)
            {
                if (this.RunOnExceptionHandler == null && this.GetOrSetMemberFunc == null)
                {
                    this.RunOnExceptionHandler = RunWithExceptionHandler;
                    this.GetOrSetMemberFunc    = GetOrSetMemberFunc;

                    VersionID     = (Vector4I)(GetOrSetMemberFunc(null, (int)ClientDataAccessors.GetVersionID) ?? new Vector4I(0, 0, 0, 0));
                    ClientSubtype = (ClientSubtypes)(GetOrSetMemberFunc(null, (int)ClientDataAccessors.GetSubtype) ?? ClientSubtypes.Full);

                    if (VersionID.X > 0)
                    {
                        VersionString = $"{VersionID.X}.{VersionID.Y}.{VersionID.Z}.{VersionID.W} ({apiVersionID})";
                    }
                }
            }
Example #2
0
                private BillBoardUtils() : base(ApiModuleTypes.BillBoardUtils, false, true)
                {
                    if (instance != null)
                    {
                        throw new Exception($"Only one instance of {GetType().Name} can exist at once.");
                    }

                    bbBuf = new List <MyTriangleBillboard>(1000);

                    var data = GetApiData();

                    GetOrSetMember   = data.Item1;
                    triangleList     = data.Item2;
                    flatTriangleList = data.Item3;
                    matrixBuf        = data.Item4;
                    matrixTable      = data.Item5;
                }