diff --git a/code/gameresources/BaseDefinition.cs b/code/gameresources/BaseDefinition.cs
index 9fbbc25..fcc6f43 100644
--- a/code/gameresources/BaseDefinition.cs
+++ b/code/gameresources/BaseDefinition.cs
@@ -67,42 +67,16 @@ public Vector3 PortalExtends
get;
set;
}
- ///
- /// legacy needs removing
- ///
- public float main_portal_width
- {
- get;
- set;
- }
- ///
- /// legacy needs removing
- ///
- public float main_portal_depth
- {
- get;
- set;
- }
- ///
- /// legacy needs removing
- ///
- public float main_portal_height
- {
- get;
- set;
- }
- [DefaultValue( "1,1,1" )]
+
+
+
public float main_door_scale
{
get;
set;
} = 1;
- public SoundFile Sound_on_pressed_main_door
- {
- get;
- set;
- }
+
[DefaultValue( "0 0 0" )]
public Vector3 Offset_main_door
{
@@ -110,7 +84,7 @@ public Vector3 Offset_main_door
set;
}
- public Rotation Rotation_main_door
+ public Vector3 Rotation_main_door
{
get;
set;
@@ -150,12 +124,7 @@ public string bone
- [Title( "parts" )]
- public List parts
- {
- get;
- set;
- }
+
public enum Custompropetytype
@@ -193,6 +162,14 @@ public enum ActionType
TriggerButtonAction,
custom,
}
+ public enum ButtonState
+ {
+ Either,
+ Up,
+ Down,
+
+
+ }
public struct Bodygroup
{
@@ -236,7 +213,13 @@ public Vector3 offset
}
}
- public struct tardisparts
+
+ public enum ButtonType
+ {
+ SinglePress,
+ DuelPress,
+ }
+ public struct tardisparts
{
///maybe need a way to have these selectable in editor if using a custom type. although keep what matt said in mind.
[ShowIf( nameof( Category ), partCategory.custom )]
@@ -252,7 +235,13 @@ public List customprop
get;
set;
}
-
+ [ShowIf( nameof( Category ), partCategory.custom )]
+ [Title( "classname" )]
+ public string CustomClassName
+ {
+ get;
+ set;
+ }
public string Name
{
@@ -266,6 +255,12 @@ public string Model
get;
set;
}
+ [ShowIf( nameof( Category ), partCategory.BaseButton )]
+ public SoundEvent Sound_on_pressed
+ {
+ get;
+ set;
+ }
[ShowIf( nameof( Needsparticle ), true )]
[Property, ResourceType( "vpcf" )]
public string particle
@@ -273,6 +268,10 @@ public string particle
get;
set;
}
+
+ float? Model_scale;
+ [ShowIf( nameof( NeedsModel ), true )]
+ public float model_scale { get { return Model_scale ?? 1; } set { Model_scale = value; } }
[ShowIf( nameof( Needsparticle ), true )]
public List particlecontrolpoint
{
@@ -326,12 +325,7 @@ public int skin
set;
}
- [ShowIf( nameof( partCategory.BaseButton ), true )]
- public SoundEvent Sound_on_pressed
- {
- get;
- set;
- }
+
[DefaultValue( "0 0 0" )]
public Vector3 Offset
{
@@ -387,7 +381,7 @@ public ToolTips Tooltips
}
[ShowIf( nameof( Category ), partCategory.BaseButton )]
[Title( "Action" )]
- public List actions
+ public List actions
{
get;
set;
@@ -407,9 +401,13 @@ public enum partCategory
throttle,
custom,
tparticle,
+ UIScreen,
etc5
}
+
+
+
//
// Summary:
// Rotation to apply when placing the decal.
@@ -420,7 +418,7 @@ public enum conditionTypes
IF,
IFNOT,
}
- [Title( "conditions" )]
+ [Title( "Callbacks" )]
public List conditionlist
{
get;
@@ -432,57 +430,55 @@ public List conditionlist
// Rotation to apply when placing the decal.
+
-
- public enum conditions
- {
- TardisIsDead,
- VR,
- TardisBelow20PercentHealth,
- hadsEnabled,
- custom,
- }
- public enum conditionsActions
- {
- activate,
- Lock,
- ChangeSkin,
- IgnoreUse,
- }
+
public struct conditionsstruct
{
- public conditionTypes conditionstypes
+
+ public string callbackname
{
get;
set;
}
- public conditions conditions
+ public string callbackmessage
{
get;
set;
}
- public conditionsActions conditionsActions
+
+ public string callbackaction
{
get;
set;
}
+ public string actionmessage
+ {
+ get;
+ set;
+ }
+ public float callbackdelay
+ {
+ get;
+ set;
+ }
+ }
+
-
-
-
- public struct actions
+ public struct Actions
{
public ActionType Actiontype
{
get;
set;
}
- [ShowIf( nameof( Actiontype ), ActionType.TriggerButtonAction )]
+
+ [ShowIf( nameof( Actiontype ), ActionType.TriggerButtonAction )]
public string ActionTarget
{
get;
@@ -500,13 +496,27 @@ public string customname
get;
set;
}
+
+ public ButtonState buttonstate
+ {
+ get;
+ set;
+ }
}
+
- }
- }
+ }
+
+ [Title( "parts" )]
+ public List parts
+ {
+ get;
+ set;
+ }
+
diff --git a/code/gameresources/ExteriorDefinition.cs b/code/gameresources/ExteriorDefinition.cs
index 2b3186f..a206da5 100644
--- a/code/gameresources/ExteriorDefinition.cs
+++ b/code/gameresources/ExteriorDefinition.cs
@@ -5,24 +5,31 @@
[GameResource( "exterior Definition", "exterior", "add all the models and sounds to create a new tardis.", Icon = "approval", IconBgColor = "#0c45a8", IconFgColor = "blue" )]
public class exteriorDefinition : BaseDefinition
{
-
-
- [Property, ResourceType( "vmdl" )]
+ [Title( "Allow external Shell Usage" )]
+ [Description( "Allow Exterior to be mixedmashed with interior/Use with chameleoncircuit" )]
+ public bool AllowMixing
+ {
+ get;
+ set;
+ } = false;
+
+
+ [Property, ResourceType( "vmdl" )]
[Title( "Model with all Exterior Parts together" )]
public string exterior_model_with_doors
{
get;
set;
}
- [DefaultValue( "models/drmatt/tardis/exterior/exterior.vmdl" )]
- [Property, ResourceType( "vmdl" )]
- public string exterior_model
- {
- get;
- set;
- }
+
+ [Property, ResourceType( "vmdl" )]
+ public string exterior_model
+ {
+ get;
+ set;
+ } = "models/drmatt/tardis/exterior/exterior.vmdl";
[Property, ResourceType( "vmdl" )]
public string exterior_doors
diff --git a/code/gameresources/TardisDefinition.cs b/code/gameresources/TardisDefinition.cs
index 8a9cfd7..1d9a702 100644
--- a/code/gameresources/TardisDefinition.cs
+++ b/code/gameresources/TardisDefinition.cs
@@ -93,6 +93,12 @@ public SoundEvent door_locked
set;
}
[Category( "Sounds" )]
+ public SoundEvent ChameleonCircuit
+ {
+ get;
+ set;
+ }
+ [Category( "Sounds" )]
public SoundEvent on_lock
{
get;
@@ -168,10 +174,32 @@ public string exteriordef
}
+ [Property]
+ public bool DefaultRandomExterior
+ {
+ get;
+ set;
+ }
+ [Property]
+ public bool DefaultRandomInterior
+ {
+ get;
+ set;
+ }
+ [Property, ResourceType( "interior" )]
+ public List Altinteriordef
+ {
+ get;
+ set;
+ }
-
-
+ [Property, ResourceType( "exterior" )]
+ public List Altexteriordef
+ {
+ get;
+ set;
+ }
}
}