@bf6mods/sdk 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ function z(e,t){return e+t}function H(...e){for(let t=0;t<e.length;t++)if(!e[t])return!1;return!0}function L(...e){for(let t=0;t<e.length;t++){let o=e[t];if(!o())return!1}return!0}function V(e){return mod.GetObjId(e)}function F(e){return mod.GetObjId(e)}function s(e){let t=[],o=mod.CountOf(e);for(let n=0;n<o;n++){let l=mod.ValueInArray(e,n);t.push(l)}return t}function R(e,t){let o=s(e),n=mod.EmptyArray(),l=o.length;for(let d=0;d<l;d++){let r=o[d];t(r)&&mod.AppendToArray(n,r)}return n}function j(e,t,o=null){let n=s(e),l=n.length;for(let d=0;d<l;d++){let r=n[d];if(t(r,o))return d}return-1}function q(e,t,o){return e?t():o()}function k(e,t,o=null){let n=s(e),l=n.length;for(let d=0;d<l;d++){let r=n[d];if(!t(r,o))return!1}return!0}function p(e,t,o=null){let n=s(e),l=n.length;for(let d=0;d<l;d++){let r=n[d];if(t(r,o))return!0}return!1}function J(e,t){let o=e.slice();o.sort(t);let n=[];for(let l of o)n.push(l);return n}function K(e,t){if(e==null||t==null)debugger;return mod.Equals(e,t)}async function Q(e,t){let o=10,n=e/o;for(let l=0;l<o&&t();l++)await mod.Wait(n)}var m=class{constructor(){this.lastState=!1}update(t){return t?this.lastState?!1:(this.lastState=!0,!0):(this.lastState=!1,!1)}},g=class{constructor(){this.conditionStates=[]}getConditionState(t){for(;t>=this.conditionStates.length;)this.conditionStates.push(new m);return this.conditionStates[t]}},A=[],a=[],O=[],S=[],M=[],W=new g;function P(e,t,o){for(;e>=t.length;)t.push(new g);return t[e].getConditionState(o)}function X(e,t){let o=V(e);for(;o>=A.length;)A.push(new g);return A[o].getConditionState(t)}function Y(e,t){let o=F(e);for(;o>=a.length;)a.push(new g);return a[o].getConditionState(t)}function Z(e,t){let o=mod.GetObjId(e);return P(o,O,t)}function $(e,t){let o=mod.GetObjId(e);return P(o,S,t)}function ee(e,t){let o=mod.GetObjId(e);return P(o,M,t)}function te(e){return W.getConditionState(e)}function x(e){let t=mod.AllPlayers(),o=mod.CountOf(t),n=[];for(let l=0;l<o;l++){let d=mod.ValueInArray(t,l);mod.GetTeam(d)==e&&n.push(d)}return n}function i(e){return Array.isArray(e)?mod.CreateVector(e[0],e[1],e.length==2?0:e[2]):e}function U(e){return typeof e=="string"?mod.Message(e):e}function C(e){e.hasOwnProperty("name")||(e.name=""),e.hasOwnProperty("position")||(e.position=mod.CreateVector(0,0,0)),e.hasOwnProperty("size")||(e.size=mod.CreateVector(100,100,0)),e.hasOwnProperty("anchor")||(e.anchor=mod.UIAnchor.TopLeft),e.hasOwnProperty("parent")||(e.parent=mod.GetUIRoot()),e.hasOwnProperty("visible")||(e.visible=!0),e.hasOwnProperty("padding")||(e.padding=e.type=="Container"?0:8),e.hasOwnProperty("bgColor")||(e.bgColor=mod.CreateVector(.25,.25,.25)),e.hasOwnProperty("bgAlpha")||(e.bgAlpha=.5),e.hasOwnProperty("bgFill")||(e.bgFill=mod.UIBgFill.Solid)}function I(e,t){let o=mod.FindUIWidgetWithName(e);return mod.SetUIWidgetName(o,t.name),o}var u="----uniquename----";function _(e){C(e);let t=e.teamId??e.playerId;t?mod.AddUIContainer(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,t):mod.AddUIContainer(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill);let o=I(u,e);return e.children&&e.children.forEach(n=>{n.parent=o,T(n)}),o}function D(e){e.hasOwnProperty("textLabel")||(e.textLabel=""),e.hasOwnProperty("textSize")||(e.textSize=0),e.hasOwnProperty("textColor")||(e.textColor=mod.CreateVector(1,1,1)),e.hasOwnProperty("textAlpha")||(e.textAlpha=1),e.hasOwnProperty("textAnchor")||(e.textAnchor=mod.UIAnchor.CenterLeft)}function v(e){C(e),D(e);let t=e.teamId??e.playerId;return t?mod.AddUIText(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,U(e.textLabel),e.textSize,i(e.textColor),e.textAlpha,e.textAnchor,t):mod.AddUIText(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,U(e.textLabel),e.textSize,i(e.textColor),e.textAlpha,e.textAnchor),I(u,e)}function B(e){e.hasOwnProperty("imageType")||(e.imageType=mod.UIImageType.None),e.hasOwnProperty("imageColor")||(e.imageColor=mod.CreateVector(1,1,1)),e.hasOwnProperty("imageAlpha")||(e.imageAlpha=1)}function N(e){C(e),B(e);let t=e.teamId??e.playerId;return t?mod.AddUIImage(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,e.imageType,i(e.imageColor),e.imageAlpha,t):mod.AddUIImage(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,e.imageType,i(e.imageColor),e.imageAlpha),I(u,e)}function E(e){e.hasOwnProperty("buttonEnabled")||(e.buttonEnabled=!0),e.hasOwnProperty("buttonColorBase")||(e.buttonColorBase=mod.CreateVector(.7,.7,.7)),e.hasOwnProperty("buttonAlphaBase")||(e.buttonAlphaBase=1),e.hasOwnProperty("buttonColorDisabled")||(e.buttonColorDisabled=mod.CreateVector(.2,.2,.2)),e.hasOwnProperty("buttonAlphaDisabled")||(e.buttonAlphaDisabled=.5),e.hasOwnProperty("buttonColorPressed")||(e.buttonColorPressed=mod.CreateVector(.25,.25,.25)),e.hasOwnProperty("buttonAlphaPressed")||(e.buttonAlphaPressed=1),e.hasOwnProperty("buttonColorHover")||(e.buttonColorHover=mod.CreateVector(1,1,1)),e.hasOwnProperty("buttonAlphaHover")||(e.buttonAlphaHover=1),e.hasOwnProperty("buttonColorFocused")||(e.buttonColorFocused=mod.CreateVector(1,1,1)),e.hasOwnProperty("buttonAlphaFocused")||(e.buttonAlphaFocused=1)}function G(e){C(e),E(e);let t=e.teamId??e.playerId;return t?mod.AddUIButton(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,e.buttonEnabled,i(e.buttonColorBase),e.buttonAlphaBase,i(e.buttonColorDisabled),e.buttonAlphaDisabled,i(e.buttonColorPressed),e.buttonAlphaPressed,i(e.buttonColorHover),e.buttonAlphaHover,i(e.buttonColorFocused),e.buttonAlphaFocused,t):mod.AddUIButton(u,i(e.position),i(e.size),e.anchor,e.parent,e.visible,e.padding,i(e.bgColor),e.bgAlpha,e.bgFill,e.buttonEnabled,i(e.buttonColorBase),e.buttonAlphaBase,i(e.buttonColorDisabled),e.buttonAlphaDisabled,i(e.buttonColorPressed),e.buttonAlphaPressed,i(e.buttonColorHover),e.buttonAlphaHover,i(e.buttonColorFocused),e.buttonAlphaFocused),I(u,e)}function T(e){if(e!=null){if(e.type=="Container")return _(e);if(e.type=="Text")return v(e);if(e.type=="Image")return N(e);if(e.type=="Button")return G(e)}}function oe(...e){let t;for(let o=0;o<e.length;o++)t=T(e[o]);return t}function ne(e,t,o,n){let l=async(c,f,b,h)=>{mod.AddUIText(c,mod.CreateVector(50,250+h*45,0),mod.CreateVector(250,60,0),mod.UIAnchor.TopRight,mod.GetUIRoot(),!0,8,mod.CreateVector(1,1,1),1,mod.UIBgFill.Blur,f,30,mod.CreateVector(1,1,1),1,mod.UIAnchor.Center,b),o>0&&(await mod.Wait(o),mod.DeleteUIWidget(mod.FindUIWidgetWithName(c)))},d=async(c,f,b,h)=>{mod.AddUIText(c,mod.CreateVector(85,270+h*43,0),mod.CreateVector(125,40,0),mod.UIAnchor.TopRight,mod.GetUIRoot(),!0,8,mod.CreateVector(1,1,1),1,mod.UIBgFill.Blur,f,20,mod.CreateVector(1,1,1),1,mod.UIAnchor.Center,b),o>0&&(await mod.Wait(o),mod.DeleteUIWidget(mod.FindUIWidgetWithName(c)))},r=t<1?l:d;if(n)if(mod.IsType(n,mod.Types.Player)){let c=t+String(n);r(c,e,n,t)}else mod.IsType(n,mod.Types.Team)&&x(n).forEach(f=>{let b=t+String(f);r(b,e,f,t)});else{let c=mod.AllPlayers(),f=mod.CountOf(c);for(let b=0;b<f;b++){let h=mod.ValueInArray(c,b),w=t+String(h);r(w,e,h,t)}}}function ie(e,t){let o=async(n,l)=>{let d="GameModeMessage";l?mod.AddUIText(d,mod.CreateVector(0,0,0),mod.CreateVector(2500,80,0),mod.UIAnchor.TopCenter,mod.GetUIRoot(),!0,8,mod.CreateVector(1,1,1),1,mod.UIBgFill.Blur,n,30,mod.CreateVector(1,1,1),1,mod.UIAnchor.Center,l):mod.AddUIText(d,mod.CreateVector(0,0,0),mod.CreateVector(2500,80,0),mod.UIAnchor.TopCenter,mod.GetUIRoot(),!0,8,mod.CreateVector(1,1,1),1,mod.UIBgFill.Blur,n,30,mod.CreateVector(1,1,1),1,mod.UIAnchor.Center),await mod.Wait(6),mod.DeleteUIWidget(mod.FindUIWidgetWithName(d))};t?o(e,t):o(e)}function le(e,t){t?mod.DisplayHighlightedWorldLogMessage(e,t):mod.DisplayHighlightedWorldLogMessage(e)}function de(e,t){t?mod.DisplayNotificationMessage(e,t):mod.DisplayNotificationMessage(e)}function re(e){try{y(mod.CustomNotificationSlots.HeaderText,e)}catch{}try{y(mod.CustomNotificationSlots.MessageText1,e)}catch{}try{y(mod.CustomNotificationSlots.MessageText2,e)}catch{}try{y(mod.CustomNotificationSlots.MessageText3,e)}catch{}try{y(mod.CustomNotificationSlots.MessageText4,e)}catch{}}function y(e,t){try{if(t){if(mod.IsType(t,mod.Types.Player))mod.DeleteUIWidget(mod.FindUIWidgetWithName(e+String(t)));else if(mod.IsType(t,mod.Types.Team)){let o=x(t);for(let n=0;n<o.length;n++){let l=o[n];mod.DeleteUIWidget(mod.FindUIWidgetWithName(e+String(l)))}}}else{let o=mod.AllPlayers(),n=mod.CountOf(o);for(let l=0;l<n;l++){let d=mod.ValueInArray(o,l);mod.DeleteUIWidget(mod.FindUIWidgetWithName(e+String(d)))}}}catch{console.error("Could not clear custom message for specified target(s)")}}export{H as And,L as AndFn,re as ClearAllCustomNotificationMessages,y as ClearCustomNotificationMessage,z as Concat,m as ConditionState,s as ConvertArray,ne as DisplayCustomNotificationMessage,K as Equals,R as FilteredArray,q as IfThenElse,j as IndexOfFirstTrue,k as IsTrueForAll,p as IsTrueForAny,oe as ParseUI,ie as ShowEventGameModeMessage,le as ShowHighlightedGameModeMessage,de as ShowNotificationMessage,J as SortedArray,Q as WaitUntil,Z as getCapturePointCondition,te as getGlobalCondition,$ as getMCOMCondition,X as getPlayerCondition,V as getPlayerId,x as getPlayersInTeam,Y as getTeamCondition,F as getTeamId,ee as getVehicleCondition};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modlib/index.ts"],"sourcesContent":["// export * from './store';\r\n\r\nexport function Concat(s1: string, s2: string) {\r\n return s1 + s2;\r\n}\r\n\r\nexport function And(...rest: boolean[]): boolean {\r\n for (let i = 0; i < rest.length; i++) {\r\n const cond = rest[i];\r\n if (!cond) return false;\r\n }\r\n return true;\r\n}\r\n\r\ntype ConditionFunction = () => boolean;\r\n\r\nexport function AndFn(...rest: ConditionFunction[]): boolean {\r\n for (let i = 0; i < rest.length; i++) {\r\n const condFn = rest[i];\r\n if (!condFn()) return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport function getPlayerId(player: mod.Player): number {\r\n return mod.GetObjId(player);\r\n}\r\n\r\nexport function getTeamId(team: mod.Team): number {\r\n return mod.GetObjId(team);\r\n}\r\n\r\nexport function ConvertArray(array: mod.Array): any[] {\r\n let v = [];\r\n let n = mod.CountOf(array);\r\n for (let i = 0; i < n; i++) {\r\n let currentElement = mod.ValueInArray(array, i);\r\n v.push(currentElement);\r\n }\r\n return v;\r\n}\r\n\r\nexport function FilteredArray(array: mod.Array, cond: (currentElement: any) => boolean): mod.Array {\r\n const arr = ConvertArray(array);\r\n let v = mod.EmptyArray();\r\n let n = arr.length;\r\n for (let i = 0; i < n; i++) {\r\n let currentElement = arr[i];\r\n if (cond(currentElement)) mod.AppendToArray(v, currentElement);\r\n }\r\n return v;\r\n}\r\n\r\nexport function IndexOfFirstTrue(array: mod.Array, cond: (element: any, arg: any) => boolean, arg: any = null): number {\r\n const arr = ConvertArray(array);\r\n let n = arr.length;\r\n for (let i = 0; i < n; i++) {\r\n let currentArrayElement = arr[i];\r\n if (cond(currentArrayElement, arg)) return i;\r\n }\r\n return -1;\r\n}\r\n\r\nexport function IfThenElse<T>(condition: boolean, ifTrue: () => T, ifFalse: () => T) {\r\n if (condition) return ifTrue();\r\n else return ifFalse();\r\n}\r\n\r\nexport function IsTrueForAll(array: mod.Array, condition: (element: any, arg: any) => boolean, arg: any = null) {\r\n const arr = ConvertArray(array);\r\n let n = arr.length;\r\n for (let i = 0; i < n; i++) {\r\n let currentArrayElement = arr[i];\r\n if (!condition(currentArrayElement, arg)) return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport function IsTrueForAny(array: mod.Array, condition: (element: any, arg: any) => boolean, arg: any = null) {\r\n const arr = ConvertArray(array);\r\n let n = arr.length;\r\n for (let i = 0; i < n; i++) {\r\n let currentArrayElement = arr[i];\r\n if (condition(currentArrayElement, arg)) return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport function SortedArray(array: any[], compare: (a: any, b: any) => number) {\r\n let v1 = array.slice();\r\n v1.sort(compare);\r\n let v2 = [];\r\n for (let e of v1) v2.push(e);\r\n return v2;\r\n}\r\n\r\nexport function Equals(a: any, b: any) {\r\n if (a == null || b == null) debugger;\r\n return mod.Equals(a, b);\r\n}\r\n\r\nexport async function WaitUntil(delay: number, cond: () => boolean) {\r\n // complete rush hack. this will likely wait way too long and other problems.\r\n let deltaCount = 10;\r\n let deltaWait = delay / deltaCount;\r\n for (let t = 0; t < deltaCount; t++) {\r\n if (!cond()) break;\r\n await mod.Wait(deltaWait);\r\n }\r\n}\r\n\r\nexport class ConditionState {\r\n lastState: boolean;\r\n\r\n constructor() {\r\n this.lastState = false;\r\n }\r\n\r\n update(newState: boolean): boolean {\r\n // if the new state is false then reset last state and don't trigger action\r\n if (!newState) {\r\n this.lastState = false;\r\n return false;\r\n }\r\n // if last state was already true then don't trigger\r\n if (this.lastState) return false;\r\n // if the state just transitioned to true then trigger\r\n this.lastState = true;\r\n return true;\r\n }\r\n}\r\n\r\nclass Conditions {\r\n constructor() {\r\n this.conditionStates = [];\r\n }\r\n\r\n conditionStates: ConditionState[];\r\n\r\n getConditionState(n: number): ConditionState {\r\n while (n >= this.conditionStates.length) {\r\n this.conditionStates.push(new ConditionState());\r\n }\r\n return this.conditionStates[n];\r\n }\r\n}\r\n\r\nlet playerConditions: Conditions[] = [];\r\nlet teamConditions: Conditions[] = [];\r\nlet capturePointConditions: Conditions[] = [];\r\nlet mcomConditions: Conditions[] = [];\r\nlet vehicleConditions: Conditions[] = [];\r\nlet globalConditions: Conditions = new Conditions();\r\n\r\nfunction getObjectCondition(id: number, objectConditions: Conditions[], n: number) {\r\n while (id >= objectConditions.length) {\r\n objectConditions.push(new Conditions());\r\n }\r\n let conditions = objectConditions[id];\r\n return conditions.getConditionState(n);\r\n}\r\n\r\nexport function getPlayerCondition(obj: mod.Player, n: number) {\r\n let id = getPlayerId(obj);\r\n while (id >= playerConditions.length) {\r\n playerConditions.push(new Conditions());\r\n }\r\n let conditions = playerConditions[id];\r\n return conditions.getConditionState(n);\r\n}\r\n\r\nexport function getTeamCondition(team: mod.Team, n: number) {\r\n let id = getTeamId(team);\r\n while (id >= teamConditions.length) {\r\n teamConditions.push(new Conditions());\r\n }\r\n let conditions = teamConditions[id];\r\n return conditions.getConditionState(n);\r\n}\r\n\r\nexport function getCapturePointCondition(obj: mod.CapturePoint, n: number) {\r\n let id = mod.GetObjId(obj);\r\n return getObjectCondition(id, capturePointConditions, n);\r\n}\r\n\r\nexport function getMCOMCondition(obj: mod.MCOM, n: number) {\r\n let id = mod.GetObjId(obj);\r\n return getObjectCondition(id, mcomConditions, n);\r\n}\r\n\r\nexport function getVehicleCondition(obj: mod.Vehicle, n: number) {\r\n let id = mod.GetObjId(obj);\r\n return getObjectCondition(id, vehicleConditions, n);\r\n}\r\n\r\nexport function getGlobalCondition(n: number) {\r\n return globalConditions.getConditionState(n);\r\n}\r\n\r\nexport function getPlayersInTeam(team: mod.Team) {\r\n const allPlayers = mod.AllPlayers();\r\n const n = mod.CountOf(allPlayers);\r\n let teamMembers = [];\r\n\r\n for (let i = 0; i < n; i++) {\r\n let player = mod.ValueInArray(allPlayers, i) as mod.Player;\r\n if (mod.GetTeam(player) == team) {\r\n teamMembers.push(player);\r\n }\r\n }\r\n return teamMembers;\r\n}\r\n\r\n//-----------------------------------------------------------------------------------------------//\r\n//-----------------------------------------------------------------------------------------------//\r\n//-----------------------------------------------------------------------------------------------//\r\n//-----------------------------------------------------------------------------------------------//\r\n// Helper functions to create UI from a JSON object tree:\r\n//-----------------------------------------------------------------------------------------------//\r\n\r\ntype UIVector = mod.Vector | number[];\r\n\r\ninterface UIParams {\r\n name: string;\r\n type: string;\r\n position: any;\r\n size: any;\r\n anchor: mod.UIAnchor;\r\n parent: mod.UIWidget;\r\n visible: boolean;\r\n textLabel: string;\r\n textColor: UIVector;\r\n textAlpha: number;\r\n textSize: number;\r\n textAnchor: mod.UIAnchor;\r\n padding: number;\r\n bgColor: UIVector;\r\n bgAlpha: number;\r\n bgFill: mod.UIBgFill;\r\n imageType: mod.UIImageType;\r\n imageColor: UIVector;\r\n imageAlpha: number;\r\n teamId?: mod.Team;\r\n playerId?: mod.Player;\r\n children?: any[];\r\n buttonEnabled: boolean;\r\n buttonColorBase: UIVector;\r\n buttonAlphaBase: number;\r\n buttonColorDisabled: UIVector;\r\n buttonAlphaDisabled: number;\r\n buttonColorPressed: UIVector;\r\n buttonAlphaPressed: number;\r\n buttonColorHover: UIVector;\r\n buttonAlphaHover: number;\r\n buttonColorFocused: UIVector;\r\n buttonAlphaFocused: number;\r\n}\r\n\r\nfunction __asModVector(param: number[] | mod.Vector) {\r\n if (Array.isArray(param)) return mod.CreateVector(param[0], param[1], param.length == 2 ? 0 : param[2]);\r\n else return param;\r\n}\r\n\r\nfunction __asModMessage(param: string | mod.Message) {\r\n if (typeof param === 'string') return mod.Message(param);\r\n return param;\r\n}\r\n\r\nfunction __fillInDefaultArgs(params: UIParams) {\r\n if (!params.hasOwnProperty('name')) params.name = '';\r\n if (!params.hasOwnProperty('position')) params.position = mod.CreateVector(0, 0, 0);\r\n if (!params.hasOwnProperty('size')) params.size = mod.CreateVector(100, 100, 0);\r\n if (!params.hasOwnProperty('anchor')) params.anchor = mod.UIAnchor.TopLeft;\r\n if (!params.hasOwnProperty('parent')) params.parent = mod.GetUIRoot();\r\n if (!params.hasOwnProperty('visible')) params.visible = true;\r\n if (!params.hasOwnProperty('padding')) params.padding = params.type == 'Container' ? 0 : 8;\r\n if (!params.hasOwnProperty('bgColor')) params.bgColor = mod.CreateVector(0.25, 0.25, 0.25);\r\n if (!params.hasOwnProperty('bgAlpha')) params.bgAlpha = 0.5;\r\n if (!params.hasOwnProperty('bgFill')) params.bgFill = mod.UIBgFill.Solid;\r\n}\r\n\r\nfunction __setNameAndGetWidget(uniqueName: any, params: any) {\r\n let widget = mod.FindUIWidgetWithName(uniqueName) as mod.UIWidget;\r\n mod.SetUIWidgetName(widget, params.name);\r\n return widget;\r\n}\r\n\r\nconst __cUniqueName = '----uniquename----';\r\n\r\nfunction __addUIContainer(params: UIParams) {\r\n __fillInDefaultArgs(params);\r\n let restrict = params.teamId ?? params.playerId;\r\n if (restrict) {\r\n mod.AddUIContainer(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n restrict\r\n );\r\n } else {\r\n mod.AddUIContainer(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill\r\n );\r\n }\r\n let widget = __setNameAndGetWidget(__cUniqueName, params);\r\n if (params.children) {\r\n params.children.forEach((childParams: any) => {\r\n childParams.parent = widget;\r\n __addUIWidget(childParams);\r\n });\r\n }\r\n return widget;\r\n}\r\n\r\nfunction __fillInDefaultTextArgs(params: UIParams) {\r\n if (!params.hasOwnProperty('textLabel')) params.textLabel = '';\r\n if (!params.hasOwnProperty('textSize')) params.textSize = 0;\r\n if (!params.hasOwnProperty('textColor')) params.textColor = mod.CreateVector(1, 1, 1);\r\n if (!params.hasOwnProperty('textAlpha')) params.textAlpha = 1;\r\n if (!params.hasOwnProperty('textAnchor')) params.textAnchor = mod.UIAnchor.CenterLeft;\r\n}\r\n\r\nfunction __addUIText(params: UIParams) {\r\n __fillInDefaultArgs(params);\r\n __fillInDefaultTextArgs(params);\r\n let restrict = params.teamId ?? params.playerId;\r\n if (restrict) {\r\n mod.AddUIText(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n __asModMessage(params.textLabel),\r\n params.textSize,\r\n __asModVector(params.textColor),\r\n params.textAlpha,\r\n params.textAnchor,\r\n restrict\r\n );\r\n } else {\r\n mod.AddUIText(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n __asModMessage(params.textLabel),\r\n params.textSize,\r\n __asModVector(params.textColor),\r\n params.textAlpha,\r\n params.textAnchor\r\n );\r\n }\r\n return __setNameAndGetWidget(__cUniqueName, params);\r\n}\r\n\r\nfunction __fillInDefaultImageArgs(params: any) {\r\n if (!params.hasOwnProperty('imageType')) params.imageType = mod.UIImageType.None;\r\n if (!params.hasOwnProperty('imageColor')) params.imageColor = mod.CreateVector(1, 1, 1);\r\n if (!params.hasOwnProperty('imageAlpha')) params.imageAlpha = 1;\r\n}\r\n\r\nfunction __addUIImage(params: UIParams) {\r\n __fillInDefaultArgs(params);\r\n __fillInDefaultImageArgs(params);\r\n let restrict = params.teamId ?? params.playerId;\r\n if (restrict) {\r\n mod.AddUIImage(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n params.imageType,\r\n __asModVector(params.imageColor),\r\n params.imageAlpha,\r\n restrict\r\n );\r\n } else {\r\n mod.AddUIImage(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n params.imageType,\r\n __asModVector(params.imageColor),\r\n params.imageAlpha\r\n );\r\n }\r\n return __setNameAndGetWidget(__cUniqueName, params);\r\n}\r\n\r\nfunction __fillInDefaultArg(params: any, argName: any, defaultValue: any) {\r\n if (!params.hasOwnProperty(argName)) params[argName] = defaultValue;\r\n}\r\n\r\nfunction __fillInDefaultButtonArgs(params: any) {\r\n if (!params.hasOwnProperty('buttonEnabled')) params.buttonEnabled = true;\r\n if (!params.hasOwnProperty('buttonColorBase')) params.buttonColorBase = mod.CreateVector(0.7, 0.7, 0.7);\r\n if (!params.hasOwnProperty('buttonAlphaBase')) params.buttonAlphaBase = 1;\r\n if (!params.hasOwnProperty('buttonColorDisabled')) params.buttonColorDisabled = mod.CreateVector(0.2, 0.2, 0.2);\r\n if (!params.hasOwnProperty('buttonAlphaDisabled')) params.buttonAlphaDisabled = 0.5;\r\n if (!params.hasOwnProperty('buttonColorPressed')) params.buttonColorPressed = mod.CreateVector(0.25, 0.25, 0.25);\r\n if (!params.hasOwnProperty('buttonAlphaPressed')) params.buttonAlphaPressed = 1;\r\n if (!params.hasOwnProperty('buttonColorHover')) params.buttonColorHover = mod.CreateVector(1, 1, 1);\r\n if (!params.hasOwnProperty('buttonAlphaHover')) params.buttonAlphaHover = 1;\r\n if (!params.hasOwnProperty('buttonColorFocused')) params.buttonColorFocused = mod.CreateVector(1, 1, 1);\r\n if (!params.hasOwnProperty('buttonAlphaFocused')) params.buttonAlphaFocused = 1;\r\n}\r\n\r\nfunction __addUIButton(params: UIParams) {\r\n __fillInDefaultArgs(params);\r\n __fillInDefaultButtonArgs(params);\r\n let restrict = params.teamId ?? params.playerId;\r\n if (restrict) {\r\n mod.AddUIButton(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n params.buttonEnabled,\r\n __asModVector(params.buttonColorBase),\r\n params.buttonAlphaBase,\r\n __asModVector(params.buttonColorDisabled),\r\n params.buttonAlphaDisabled,\r\n __asModVector(params.buttonColorPressed),\r\n params.buttonAlphaPressed,\r\n __asModVector(params.buttonColorHover),\r\n params.buttonAlphaHover,\r\n __asModVector(params.buttonColorFocused),\r\n params.buttonAlphaFocused,\r\n restrict\r\n );\r\n } else {\r\n mod.AddUIButton(\r\n __cUniqueName,\r\n __asModVector(params.position),\r\n __asModVector(params.size),\r\n params.anchor,\r\n params.parent,\r\n params.visible,\r\n params.padding,\r\n __asModVector(params.bgColor),\r\n params.bgAlpha,\r\n params.bgFill,\r\n params.buttonEnabled,\r\n __asModVector(params.buttonColorBase),\r\n params.buttonAlphaBase,\r\n __asModVector(params.buttonColorDisabled),\r\n params.buttonAlphaDisabled,\r\n __asModVector(params.buttonColorPressed),\r\n params.buttonAlphaPressed,\r\n __asModVector(params.buttonColorHover),\r\n params.buttonAlphaHover,\r\n __asModVector(params.buttonColorFocused),\r\n params.buttonAlphaFocused\r\n );\r\n }\r\n return __setNameAndGetWidget(__cUniqueName, params);\r\n}\r\n\r\nfunction __addUIWidget(params: UIParams) {\r\n if (params == null) return undefined;\r\n if (params.type == 'Container') return __addUIContainer(params);\r\n else if (params.type == 'Text') return __addUIText(params);\r\n else if (params.type == 'Image') return __addUIImage(params);\r\n else if (params.type == 'Button') return __addUIButton(params);\r\n return undefined;\r\n}\r\n\r\nexport function ParseUI(...params: any[]) {\r\n let widget: mod.UIWidget | undefined;\r\n for (let a = 0; a < params.length; a++) {\r\n widget = __addUIWidget(params[a] as UIParams);\r\n }\r\n return widget;\r\n}\r\n\r\nexport function DisplayCustomNotificationMessage(msg: mod.Message, custom: mod.CustomNotificationSlots, duration: number, target?: mod.Player | mod.Team) {\r\n const CreateHeader = async (widgetId: string, msg: mod.Message, targetPlayer: mod.Player, slot: number) => {\r\n mod.AddUIText(\r\n widgetId,\r\n mod.CreateVector(50, 250 + slot * (40 + 5), 0),\r\n mod.CreateVector(250, 60, 0),\r\n mod.UIAnchor.TopRight,\r\n mod.GetUIRoot(),\r\n true,\r\n 8,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIBgFill.Blur,\r\n msg,\r\n 30,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIAnchor.Center,\r\n targetPlayer\r\n );\r\n if (duration > 0) {\r\n await mod.Wait(duration);\r\n mod.DeleteUIWidget(mod.FindUIWidgetWithName(widgetId));\r\n }\r\n };\r\n const CreateSubText = async (widgetId: string, msg: mod.Message, targetPlayer: mod.Player, slot: number) => {\r\n mod.AddUIText(\r\n widgetId,\r\n mod.CreateVector(85, 270 + slot * (40 + 3), 0),\r\n mod.CreateVector(125, 40, 0),\r\n mod.UIAnchor.TopRight,\r\n mod.GetUIRoot(),\r\n true,\r\n 8,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIBgFill.Blur,\r\n msg,\r\n 20,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIAnchor.Center,\r\n targetPlayer\r\n );\r\n if (duration > 0) {\r\n await mod.Wait(duration);\r\n mod.DeleteUIWidget(mod.FindUIWidgetWithName(widgetId));\r\n }\r\n };\r\n const createNotificationFunction = custom < 1 ? CreateHeader : CreateSubText;\r\n\r\n if (target) {\r\n // if target is player, fill message in their slot\r\n if (mod.IsType(target, mod.Types.Player)) {\r\n const widgetId = custom + String(target);\r\n createNotificationFunction(widgetId, msg, target as mod.Player, custom);\r\n }\r\n // if target is team, fill message in slot for all players on team\r\n else if (mod.IsType(target, mod.Types.Team)) {\r\n const teamMates = getPlayersInTeam(target as mod.Team);\r\n teamMates.forEach((player) => {\r\n const widgetId = custom + String(player);\r\n createNotificationFunction(widgetId, msg, player, custom);\r\n });\r\n }\r\n } else {\r\n const allPlayers = mod.AllPlayers();\r\n const n = mod.CountOf(allPlayers);\r\n for (let i = 0; i < n; i++) {\r\n let player = mod.ValueInArray(allPlayers, i) as mod.Player;\r\n const widgetId = custom + String(player);\r\n createNotificationFunction(widgetId, msg, player, custom);\r\n }\r\n }\r\n}\r\n\r\nexport function ShowEventGameModeMessage(event: mod.Message, target?: mod.Player | mod.Team) {\r\n //TODO: restore these once DisplayGameModeMessage is fixed\r\n // if (target) {\r\n // mod.DisplayGameModeMessage(event, target as mod.Player );\r\n // } else{\r\n // mod.DisplayGameModeMessage(event);\r\n // }\r\n\r\n const MakeShiftDisplayGameModeMessage = async (message: mod.Message, target?: mod.Player | mod.Team) => {\r\n const widgetId = 'GameModeMessage';\r\n if (target) {\r\n mod.AddUIText(\r\n widgetId,\r\n mod.CreateVector(0, 0, 0),\r\n mod.CreateVector(2500, 80, 0),\r\n mod.UIAnchor.TopCenter,\r\n mod.GetUIRoot(),\r\n true,\r\n 8,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIBgFill.Blur,\r\n message,\r\n 30,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIAnchor.Center,\r\n target as mod.Player\r\n );\r\n } else {\r\n mod.AddUIText(\r\n widgetId,\r\n mod.CreateVector(0, 0, 0),\r\n mod.CreateVector(2500, 80, 0),\r\n mod.UIAnchor.TopCenter,\r\n mod.GetUIRoot(),\r\n true,\r\n 8,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIBgFill.Blur,\r\n message,\r\n 30,\r\n mod.CreateVector(1, 1, 1),\r\n 1,\r\n mod.UIAnchor.Center\r\n );\r\n }\r\n\r\n await mod.Wait(6);\r\n mod.DeleteUIWidget(mod.FindUIWidgetWithName(widgetId));\r\n };\r\n\r\n if (target) {\r\n MakeShiftDisplayGameModeMessage(event, target as mod.Player);\r\n } else {\r\n MakeShiftDisplayGameModeMessage(event);\r\n }\r\n}\r\n\r\nexport function ShowHighlightedGameModeMessage(event: mod.Message, target?: mod.Player | mod.Team) {\r\n if (target) {\r\n mod.DisplayHighlightedWorldLogMessage(event, target as mod.Player);\r\n } else {\r\n mod.DisplayHighlightedWorldLogMessage(event);\r\n }\r\n}\r\n\r\nexport function ShowNotificationMessage(msg: mod.Message, target?: mod.Player | mod.Team) {\r\n if (target) {\r\n mod.DisplayNotificationMessage(msg, target as mod.Player);\r\n } else {\r\n mod.DisplayNotificationMessage(msg);\r\n }\r\n}\r\n\r\nexport function ClearAllCustomNotificationMessages(target: mod.Player) {\r\n try {\r\n ClearCustomNotificationMessage(mod.CustomNotificationSlots.HeaderText, target);\r\n } catch {}\r\n try {\r\n ClearCustomNotificationMessage(mod.CustomNotificationSlots.MessageText1, target);\r\n } catch {}\r\n try {\r\n ClearCustomNotificationMessage(mod.CustomNotificationSlots.MessageText2, target);\r\n } catch {}\r\n try {\r\n ClearCustomNotificationMessage(mod.CustomNotificationSlots.MessageText3, target);\r\n } catch {}\r\n try {\r\n ClearCustomNotificationMessage(mod.CustomNotificationSlots.MessageText4, target);\r\n } catch {}\r\n}\r\n\r\nexport function ClearCustomNotificationMessage(custom: mod.CustomNotificationSlots, target?: mod.Player | mod.Team) {\r\n try {\r\n if (target) {\r\n // if target is player, just delete message in their slot\r\n if (mod.IsType(target, mod.Types.Player)) {\r\n mod.DeleteUIWidget(mod.FindUIWidgetWithName(custom + String(target as mod.Player)));\r\n }\r\n // if target is team, delete message in slot for all players on team\r\n else if (mod.IsType(target, mod.Types.Team)) {\r\n const teamMembers = getPlayersInTeam(target as mod.Team);\r\n for (let i = 0; i < teamMembers.length; i++) {\r\n let player = teamMembers[i];\r\n mod.DeleteUIWidget(mod.FindUIWidgetWithName(custom + String(player)));\r\n }\r\n }\r\n } else {\r\n // if no target, delete for all players\r\n const allPlayers = mod.AllPlayers();\r\n const n = mod.CountOf(allPlayers);\r\n for (let i = 0; i < n; i++) {\r\n let player = mod.ValueInArray(allPlayers, i) as mod.Player;\r\n mod.DeleteUIWidget(mod.FindUIWidgetWithName(custom + String(player)));\r\n }\r\n }\r\n } catch {\r\n console.error('Could not clear custom message for specified target(s)');\r\n }\r\n}\r\n"],"mappings":"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","names":["Concat","s1","s2","And","rest","i","AndFn","condFn","getPlayerId","player","getTeamId","team","ConvertArray","array","v","n","currentElement","FilteredArray","cond","arr","IndexOfFirstTrue","arg","currentArrayElement","IfThenElse","condition","ifTrue","ifFalse","IsTrueForAll","IsTrueForAny","SortedArray","compare","v1","v2","e","Equals","a","b","WaitUntil","delay","deltaCount","deltaWait","t","ConditionState","newState","Conditions","playerConditions","teamConditions","capturePointConditions","mcomConditions","vehicleConditions","globalConditions","getObjectCondition","id","objectConditions","getPlayerCondition","obj","getTeamCondition","getCapturePointCondition","getMCOMCondition","getVehicleCondition","getGlobalCondition","getPlayersInTeam","allPlayers","teamMembers","__asModVector","param","__asModMessage","__fillInDefaultArgs","params","__setNameAndGetWidget","uniqueName","widget","__cUniqueName","__addUIContainer","restrict","childParams","__addUIWidget","__fillInDefaultTextArgs","__addUIText","__fillInDefaultImageArgs","__addUIImage","__fillInDefaultButtonArgs","params","__addUIButton","__fillInDefaultArgs","restrict","__cUniqueName","__asModVector","__setNameAndGetWidget","__addUIWidget","__addUIContainer","__addUIText","__addUIImage","ParseUI","widget","a","DisplayCustomNotificationMessage","msg","custom","duration","target","CreateHeader","widgetId","targetPlayer","slot","CreateSubText","createNotificationFunction","getPlayersInTeam","player","allPlayers","n","i","ShowEventGameModeMessage","event","MakeShiftDisplayGameModeMessage","message","ShowHighlightedGameModeMessage","ShowNotificationMessage","ClearAllCustomNotificationMessages","ClearCustomNotificationMessage","teamMembers"]}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@bf6mods/sdk",
3
+ "version": "1.0.1",
4
+ "description": "TypeScript definitions for the BF6 modding API",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist/"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsup"
18
+ },
19
+ "keywords": [
20
+ "bf6",
21
+ "mods",
22
+ "typescript",
23
+ "definitions",
24
+ "api"
25
+ ],
26
+ "publishConfig": {
27
+ "access": "public"
28
+ }
29
+ }