Fix up enemy viewer, reduce some memory footprint
This commit is contained in:
47
Zennysoft.Game.Ma/src/enemy_viewer/BlurSprite3D.gdshader
Normal file
47
Zennysoft.Game.Ma/src/enemy_viewer/BlurSprite3D.gdshader
Normal file
@@ -0,0 +1,47 @@
|
||||
shader_type spatial;
|
||||
render_mode diffuse_toon,specular_toon,cull_disabled;
|
||||
uniform sampler2D iChannel0 : source_color;
|
||||
uniform int samples =100;
|
||||
//
|
||||
//
|
||||
uniform float alpha_cut ;
|
||||
uniform float gain = 1.0; // gain : (gain), min = 0., max = 50.
|
||||
//
|
||||
uniform float blur_x =50.0; // X blur : (X blur), min = 0, max = 1000.
|
||||
uniform float blur_y = 50.0; // Y blur : (Y blur), min = 0, max = 1000.
|
||||
uniform float Rot_Angle : hint_range(0.0, 100.0, 0.1);
|
||||
uniform float Metal : hint_range(0.0, 1.0, 0.1);
|
||||
//
|
||||
//
|
||||
//
|
||||
vec2 rotate(vec2 uv, vec2 p, float angle)
|
||||
{
|
||||
mat2 rotation = mat2(vec2(cos(angle), -sin(angle)),vec2(sin(angle), cos(angle)));
|
||||
uv -= p;
|
||||
uv = uv * rotation;
|
||||
uv += p;
|
||||
return uv;
|
||||
}
|
||||
|
||||
void fragment(){
|
||||
float Angle = Rot_Angle/-100.0;
|
||||
vec2 uv = UV;
|
||||
vec2 origin;
|
||||
float precompute = Angle * (1.0 / float(samples - 1));
|
||||
origin = vec2(0.5,0.5);
|
||||
vec4 color = vec4(0.0);
|
||||
float ws = 0.0;
|
||||
vec2 center = vec2(0.5,0.5);
|
||||
for(int i = 0; i <= samples; i++)
|
||||
{
|
||||
float p = (float(i)* precompute);
|
||||
float w = 1.0 ;
|
||||
color += texture(iChannel0, rotate(uv,origin, p)) * w;
|
||||
ws += w;
|
||||
}
|
||||
|
||||
ALBEDO = vec4(color.rgb / ws * gain, 1.0).rgb;
|
||||
//ALPHA = vec4(color.rgb / ws * gain, 1.0).r;
|
||||
ALPHA = step(alpha_cut,1.0 - distance(center,UV));
|
||||
METALLIC = Metal;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://o80s4yvp0rto
|
||||
@@ -0,0 +1 @@
|
||||
uid://03k48fke03vu
|
||||
162
Zennysoft.Game.Ma/src/enemy_viewer/EnemyViewer.cs
Normal file
162
Zennysoft.Game.Ma/src/enemy_viewer/EnemyViewer.cs
Normal file
@@ -0,0 +1,162 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Zennysoft.Game.Abstractions;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class EnemyViewer : Control, IEnemyViewer
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Dependency]
|
||||
public IAppRepo AppRepo => this.DependOn<IAppRepo>();
|
||||
|
||||
[Export]
|
||||
public float _cameraSpeed = 0.01f;
|
||||
|
||||
[Export]
|
||||
public float _distance = 50;
|
||||
|
||||
[Node] public Node3D CameraPivot { get; set; } = default!;
|
||||
|
||||
[Node] public Camera3D Camera3D { get; set; } = default!;
|
||||
|
||||
[Node] public Node3D ModelPivot { get; set; } = default!;
|
||||
|
||||
#region UI
|
||||
[Node] public RichTextLabel EnemyName { get; set; } = default!;
|
||||
[Node] public RichTextLabel Description { get; set; } = default!;
|
||||
[Node] public Label HPValue { get; set; } = default!;
|
||||
[Node] public Label ATKValue { get; set; } = default!;
|
||||
[Node] public Label DEFValue { get; set; } = default!;
|
||||
[Node] public Label Drop1Value { get; set; } = default!;
|
||||
[Node] public Label Drop2Value { get; set; } = default!;
|
||||
[Node] public Label AffinityValue { get; set; } = default!;
|
||||
[Node] public Label WeaknessValue { get; set; } = default!;
|
||||
|
||||
[Node] public Control EnemyInfo { get; set; } = default!;
|
||||
|
||||
[Node] public Button BackButton { get; set; } = default!;
|
||||
#endregion
|
||||
|
||||
private EnemyModelView _currentModel;
|
||||
private float _cameraStartingPoint = 0f;
|
||||
private int _currentIndex = 0;
|
||||
|
||||
private List<EnemyModelView> _enemies;
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
BackButton.Pressed += BackButton_Pressed;
|
||||
_enemies = [.. ModelPivot.GetChildren().Cast<EnemyModelView>()];
|
||||
_currentModel = _enemies.First();
|
||||
DisplayEnemy();
|
||||
}
|
||||
|
||||
public void OnEnterTree()
|
||||
{
|
||||
GetTree().Paused = false;
|
||||
}
|
||||
|
||||
public void OnExitTree()
|
||||
{
|
||||
GetTree().Paused = false;
|
||||
BackButton.Pressed -= BackButton_Pressed;
|
||||
}
|
||||
|
||||
private void BackButton_Pressed() => AppRepo.OnDataViewerExited();
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (BackButton.HasFocus() && @event.IsActionPressed(GameInputs.Interact))
|
||||
{
|
||||
GetTree().Paused = false;
|
||||
BackButton.ReleaseFocus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (_currentModel == null || BackButton.HasFocus())
|
||||
return;
|
||||
|
||||
if (@event.IsActionPressed(GameInputs.Attack))
|
||||
_currentModel.PlayPrimaryAttackAnimation();
|
||||
if (@event.IsActionPressed(GameInputs.InventorySort))
|
||||
_currentModel.PlaySecondaryAttackAnimation();
|
||||
if (Input.IsActionJustPressed(GameInputs.Inventory))
|
||||
_currentModel.PlayActivateAnimation();
|
||||
if (@event.IsActionPressed(GameInputs.EnemyViewerWalk))
|
||||
_currentModel.PlayWalkAnimation();
|
||||
if (@event.IsActionReleased(GameInputs.EnemyViewerWalk))
|
||||
_currentModel.PlayIdleAnimation();
|
||||
|
||||
if (@event.IsActionPressed(GameInputs.Interact))
|
||||
{
|
||||
GetTree().Paused = true;
|
||||
BackButton.GrabFocus();
|
||||
}
|
||||
|
||||
if (@event.IsActionPressed(GameInputs.StrafeRight))
|
||||
{
|
||||
// Load next model
|
||||
_enemies[_currentIndex].Hide();
|
||||
if (_currentIndex == _enemies.Count - 1)
|
||||
_currentIndex = 0;
|
||||
else
|
||||
_currentIndex++;
|
||||
DisplayEnemy();
|
||||
}
|
||||
if (@event.IsActionPressed(GameInputs.StrafeLeft))
|
||||
{
|
||||
_enemies[_currentIndex].Hide();
|
||||
// Load previous model
|
||||
if (_currentIndex == 0)
|
||||
_currentIndex = _enemies.Count - 1;
|
||||
else
|
||||
_currentIndex--;
|
||||
DisplayEnemy();
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
var forwardStrength = Input.GetActionStrength(GameInputs.MoveUp);
|
||||
Camera3D.Position = Camera3D.Position.MoveToward(CameraPivot.Position, _cameraSpeed * forwardStrength * (_cameraStartingPoint / 3));
|
||||
var backStrength = Input.GetActionStrength(GameInputs.MoveDown);
|
||||
Camera3D.Position = Camera3D.Position.MoveToward(CameraPivot.Position, -_cameraSpeed * backStrength * (_cameraStartingPoint / 3));
|
||||
var leftStrength = Input.GetActionStrength(GameInputs.MoveLeft);
|
||||
CameraPivot.RotateY(_cameraSpeed * leftStrength);
|
||||
var rightStrength = Input.GetActionStrength(GameInputs.MoveRight);
|
||||
CameraPivot.RotateY(-_cameraSpeed * rightStrength);
|
||||
|
||||
Camera3D.Position = Camera3D.Position.Clamp(new Vector3(0, 1, _cameraStartingPoint / 2), new Vector3(0, 1, _cameraStartingPoint));
|
||||
ModelPivot.Rotation = ModelPivot.Rotation.Clamp(Mathf.DegToRad(-60), Mathf.DegToRad(60));
|
||||
|
||||
if (_currentModel is EnemyModelView2D enemyModelView2D)
|
||||
enemyModelView2D.SetCurrentDirection(_currentModel.GlobalBasis, -CameraPivot.Basis.Z);
|
||||
}
|
||||
|
||||
private void DisplayEnemy()
|
||||
{
|
||||
_currentModel = _enemies[_currentIndex];
|
||||
|
||||
_cameraStartingPoint = (float)_currentModel.ViewerSize;
|
||||
Camera3D.Position = new Vector3(Camera3D.Position.X, Camera3D.Position.Y, _cameraStartingPoint);
|
||||
|
||||
EnemyName.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.Name : "Placeholder Text";
|
||||
Description.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.Description : "Placeholder Text";
|
||||
HPValue.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.MaximumHP : "Placeholder Text";
|
||||
ATKValue.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.ATK : "Placeholder Text";
|
||||
DEFValue.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.DEF : "Placeholder Text";
|
||||
Drop1Value.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.Drop1 : "Placeholder Text";
|
||||
Drop2Value.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.Drop2 : "Placeholder Text";
|
||||
AffinityValue.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.Affinity : "Placeholder Text";
|
||||
WeaknessValue.Text = _currentModel.EnemyLoreInfo != null ? _currentModel.EnemyLoreInfo.Weakness : "Placeholder Text";
|
||||
|
||||
_enemies[_currentIndex].Show();
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/enemy_viewer/EnemyViewer.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/enemy_viewer/EnemyViewer.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bgaflnnur26vk
|
||||
380
Zennysoft.Game.Ma/src/enemy_viewer/EnemyViewer.tscn
Normal file
380
Zennysoft.Game.Ma/src/enemy_viewer/EnemyViewer.tscn
Normal file
@@ -0,0 +1,380 @@
|
||||
[gd_scene load_steps=29 format=3 uid="uid://b02ykp0nm7cyw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bgaflnnur26vk" path="res://src/enemy_viewer/EnemyViewer.cs" id="1_1qako"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsf5l6g8n1tkw" path="res://src/ui/rendered_assets/SCREEN_RENDERS_Viewer_720_16_9.png" id="2_hpkd1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bophm5or5opdf" path="res://src/enemy_viewer/bafkreicavupacvvhtig6ii2zb3svww7luvmuknyttza6s4doxm4oursnzm.jpg" id="3_hpkd1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bjcqrhtifpcvr" path="res://src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn" id="3_vk1lh"]
|
||||
[ext_resource type="Shader" uid="uid://o80s4yvp0rto" path="res://src/enemy_viewer/BlurSprite3D.gdshader" id="4_vk1lh"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6sa6ntu4rbrm" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn" id="5_w2r6i"]
|
||||
[ext_resource type="PackedScene" uid="uid://g84hcmgo3gtl" path="res://src/enemy/enemy_types/04. sara/SaraModelView.tscn" id="6_rdiwx"]
|
||||
[ext_resource type="LabelSettings" uid="uid://b6f8ggy3ulonb" path="res://src/ui/label_settings/GeorgiaItalic.tres" id="6_vk1lh"]
|
||||
[ext_resource type="FontFile" uid="uid://beh6d5lo5ihq0" path="res://src/ui/fonts/georgiai.ttf" id="7_dvixg"]
|
||||
[ext_resource type="PackedScene" uid="uid://dppmk4nx2le20" path="res://src/enemy/enemy_types/05. ballos/BallosModelView.tscn" id="7_w2r6i"]
|
||||
[ext_resource type="PackedScene" uid="uid://uqle8gaeajg6" path="res://src/enemy/enemy_types/02. michael/MichaelModelView.tscn" id="8_ekqja"]
|
||||
[ext_resource type="PackedScene" uid="uid://de6e8yv6mv4fe" path="res://src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn" id="9_rdiwx"]
|
||||
[ext_resource type="PackedScene" uid="uid://7eo16vsbrgi3" path="res://src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn" id="10_rdiwx"]
|
||||
[ext_resource type="PackedScene" uid="uid://d02te8cwjistl" path="res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn" id="11_elpsj"]
|
||||
[ext_resource type="PackedScene" uid="uid://g8km112r1lqa" path="res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn" id="12_3kprl"]
|
||||
[ext_resource type="PackedScene" uid="uid://uynf2cg7wtqo" path="res://src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn" id="12_dr0jx"]
|
||||
[ext_resource type="PackedScene" uid="uid://omkas04o46rq" path="res://src/enemy/enemy_types/9b. Aqueos Demon/AqueosModelView.tscn" id="13_dr0jx"]
|
||||
[ext_resource type="PackedScene" uid="uid://cuar5bbhxie4r" path="res://src/enemy/enemy_types/11. Palan/PalanModelView.tscn" id="15_7bm5s"]
|
||||
[ext_resource type="PackedScene" uid="uid://bochx2nfql67q" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn" id="16_7bm5s"]
|
||||
[ext_resource type="PackedScene" uid="uid://dw7fyurv4vkd5" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn" id="17_c1y0w"]
|
||||
[ext_resource type="PackedScene" uid="uid://dykkkt8mr1012" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.tscn" id="18_r2vgt"]
|
||||
[ext_resource type="PackedScene" uid="uid://c00olwjise7iv" path="res://src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn" id="18_tnrj6"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbvw38l6407s2" path="res://src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn" id="19_elms1"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3oupv6tkt4ad" path="res://src/enemy/enemy_types/16. demon wall/DemonWallModelView.tscn" id="20_elms1"]
|
||||
[ext_resource type="StyleBox" uid="uid://bxuy4tnftibfq" path="res://src/options/SelectedOptionsBox.tres" id="25_gdy4a"]
|
||||
[ext_resource type="StyleBox" uid="uid://bl15q835s4ene" path="res://src/options/UnselectedOptionsBox.tres" id="26_br3ej"]
|
||||
[ext_resource type="Script" uid="uid://bc6iu0oq18y2l" path="res://src/player/DummyPlayer.cs" id="27_v1qxp"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dvixg"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_vk1lh")
|
||||
shader_parameter/iChannel0 = ExtResource("3_hpkd1")
|
||||
shader_parameter/samples = 100
|
||||
shader_parameter/alpha_cut = 0.0
|
||||
shader_parameter/gain = 17.73
|
||||
shader_parameter/blur_x = 50.0
|
||||
shader_parameter/blur_y = 50.0
|
||||
shader_parameter/Rot_Angle = 4.9
|
||||
shader_parameter/Metal = 0.0
|
||||
|
||||
[node name="DataViewer" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_1qako")
|
||||
_cameraSpeed = 0.08
|
||||
_distance = 200.0
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("2_hpkd1")
|
||||
|
||||
[node name="CenterContainer2" type="CenterContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 69.0
|
||||
offset_top = 196.0
|
||||
offset_right = 900.0
|
||||
offset_bottom = 942.0
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="CenterContainer2"]
|
||||
custom_minimum_size = Vector2(750, 600)
|
||||
layout_mode = 2
|
||||
stretch = true
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="CenterContainer2/SubViewportContainer"]
|
||||
process_mode = 1
|
||||
handle_input_locally = false
|
||||
size = Vector2i(750, 600)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="ModelPivot" type="Node3D" parent="CenterContainer2/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Sproingy" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("3_vk1lh")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.00286, 0)
|
||||
visible = false
|
||||
ViewerSize = 1.5
|
||||
|
||||
[node name="Michael" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("8_ekqja")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.00286, 0)
|
||||
visible = false
|
||||
ViewerSize = 2.0
|
||||
|
||||
[node name="FilthEater" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("5_w2r6i")]
|
||||
visible = false
|
||||
ViewerSize = 3.5
|
||||
|
||||
[node name="Apsara" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("6_rdiwx")]
|
||||
visible = false
|
||||
ViewerSize = 3.0
|
||||
|
||||
[node name="Ballos" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("7_w2r6i")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.796934, 0)
|
||||
visible = false
|
||||
ViewerSize = 4.0
|
||||
|
||||
[node name="Chinthe" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("9_rdiwx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.41574, 0)
|
||||
visible = false
|
||||
ViewerSize = 3.5
|
||||
|
||||
[node name="AmbassadorGreen" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("10_rdiwx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.509494, 0)
|
||||
visible = false
|
||||
ViewerSize = 3.5
|
||||
|
||||
[node name="AmbassadorRed" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("11_elpsj")]
|
||||
visible = false
|
||||
ViewerSize = 2.5
|
||||
|
||||
[node name="AmbassadorSteel" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("12_3kprl")]
|
||||
visible = false
|
||||
ViewerSize = 3.0
|
||||
|
||||
[node name="AgniDemon" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("12_dr0jx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
||||
visible = false
|
||||
ViewerSize = 4.0
|
||||
|
||||
[node name="AqueosDemon" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("13_dr0jx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.3, 0)
|
||||
visible = false
|
||||
ViewerSize = 4.0
|
||||
|
||||
[node name="Palan" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("15_7bm5s")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.492472, 0)
|
||||
visible = false
|
||||
ViewerSize = 4.0
|
||||
|
||||
[node name="ShieldOfHeaven" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("16_7bm5s")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.676215, 0)
|
||||
visible = false
|
||||
ViewerSize = 4.0
|
||||
|
||||
[node name="GoldSproingy" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("17_c1y0w")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.996254, 0)
|
||||
visible = false
|
||||
ViewerSize = 3.0
|
||||
|
||||
[node name="EdenPillarModelView" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("18_r2vgt")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5.14047, 0)
|
||||
visible = false
|
||||
ViewerSize = 17.0
|
||||
|
||||
[node name="HorseHead" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("18_tnrj6")]
|
||||
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, -1.10523, 0)
|
||||
visible = false
|
||||
ViewerSize = 8.0
|
||||
|
||||
[node name="OxFace" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("19_elms1")]
|
||||
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, -1.105, 0)
|
||||
visible = false
|
||||
ViewerSize = 8.0
|
||||
|
||||
[node name="DemonWall" parent="CenterContainer2/SubViewportContainer/SubViewport/ModelPivot" instance=ExtResource("20_elms1")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.99034, 0)
|
||||
visible = false
|
||||
ViewerSize = 35.0
|
||||
|
||||
[node name="CameraPivot" type="Node3D" parent="CenterContainer2/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.010191, 0)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="CenterContainer2/SubViewportContainer/SubViewport/CameraPivot"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 0.999848, -0.0174524, 0, 0.0174524, 0.999848, 0.003, 1.05, 3)
|
||||
cull_mask = 1048569
|
||||
doppler_tracking = 1
|
||||
current = true
|
||||
fov = 52.9
|
||||
near = 0.01
|
||||
far = 9000.0
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="CenterContainer2/SubViewportContainer/SubViewport/CameraPivot/Camera3D"]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, -1.52574e-09, 0.999848, -0.0174524, -8.74095e-08, -0.0174524, -0.999848, 349.341, -209.25, -288.223)
|
||||
material_override = SubResource("ShaderMaterial_dvixg")
|
||||
pixel_size = 1.0
|
||||
billboard = 2
|
||||
transparent = false
|
||||
texture_filter = 2
|
||||
texture = ExtResource("3_hpkd1")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="CenterContainer2/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.99017, 9.40485)
|
||||
omni_range = 55.7097
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 2
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.186
|
||||
anchor_right = 0.969
|
||||
anchor_bottom = 0.87
|
||||
offset_left = 13.0
|
||||
offset_top = 4.12
|
||||
offset_right = 5.5199
|
||||
offset_bottom = 3.3999
|
||||
theme_override_constants/margin_left = 25
|
||||
theme_override_constants/margin_top = 25
|
||||
theme_override_constants/margin_right = 25
|
||||
|
||||
[node name="EnemyInfo" type="VBoxContainer" parent="MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 20
|
||||
|
||||
[node name="EnemyName" type="RichTextLabel" parent="MarginContainer/EnemyInfo"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(800, 50)
|
||||
layout_mode = 2
|
||||
theme_override_fonts/normal_font = ExtResource("7_dvixg")
|
||||
theme_override_font_sizes/normal_font_size = 40
|
||||
text = "Placeholder Text"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/EnemyInfo"]
|
||||
custom_minimum_size = Vector2(0, 150)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="StatBlock" type="VBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HPBlock" type="HBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock/HPBlock"]
|
||||
layout_mode = 2
|
||||
text = "HP"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="HPValue" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock/HPBlock"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "992"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="ATKBlock" type="HBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock/ATKBlock"]
|
||||
layout_mode = 2
|
||||
text = "ATK"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="ATKValue" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock/ATKBlock"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "14"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="DEFBlock" type="HBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock/DEFBlock"]
|
||||
layout_mode = 2
|
||||
text = "DEF"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="DEFValue" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/StatBlock/DEFBlock"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "15"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="DropsBlock" type="VBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Drops" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock"]
|
||||
layout_mode = 2
|
||||
text = "Drops:"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="FirstDrop" type="HBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock/FirstDrop"]
|
||||
layout_mode = 2
|
||||
text = "1."
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="Drop1Value" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock/FirstDrop"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "???"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="SecondDrop" type="HBoxContainer" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock/SecondDrop"]
|
||||
layout_mode = 2
|
||||
text = "2."
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="Drop2Value" type="Label" parent="MarginContainer/EnemyInfo/HBoxContainer/DropsBlock/SecondDrop"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Goddess Garb"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="AffinityBlock" type="VBoxContainer" parent="MarginContainer/EnemyInfo"]
|
||||
custom_minimum_size = Vector2(300, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Affinity" type="HBoxContainer" parent="MarginContainer/EnemyInfo/AffinityBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/AffinityBlock/Affinity"]
|
||||
layout_mode = 2
|
||||
text = "Affinity:"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="AffinityValue" type="Label" parent="MarginContainer/EnemyInfo/AffinityBlock/Affinity"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Metal"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="Weakness" type="HBoxContainer" parent="MarginContainer/EnemyInfo/AffinityBlock"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/EnemyInfo/AffinityBlock/Weakness"]
|
||||
layout_mode = 2
|
||||
text = "Weakness:"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="WeaknessValue" type="Label" parent="MarginContainer/EnemyInfo/AffinityBlock/Weakness"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Holy"
|
||||
label_settings = ExtResource("6_vk1lh")
|
||||
|
||||
[node name="Description" type="RichTextLabel" parent="MarginContainer/EnemyInfo"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(800, 625)
|
||||
layout_mode = 2
|
||||
theme_override_fonts/normal_font = ExtResource("7_dvixg")
|
||||
theme_override_font_sizes/normal_font_size = 30
|
||||
text = "Placeholder Text"
|
||||
|
||||
[node name="BackButton" type="Button" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 1671.0
|
||||
offset_top = 972.0
|
||||
offset_right = 1803.0
|
||||
offset_bottom = 1028.0
|
||||
theme_override_styles/focus = ExtResource("25_gdy4a")
|
||||
theme_override_styles/disabled_mirrored = ExtResource("26_br3ej")
|
||||
theme_override_styles/disabled = ExtResource("26_br3ej")
|
||||
theme_override_styles/hover_pressed_mirrored = ExtResource("26_br3ej")
|
||||
theme_override_styles/hover_pressed = ExtResource("26_br3ej")
|
||||
theme_override_styles/hover_mirrored = ExtResource("26_br3ej")
|
||||
theme_override_styles/hover = ExtResource("26_br3ej")
|
||||
theme_override_styles/pressed_mirrored = ExtResource("26_br3ej")
|
||||
theme_override_styles/pressed = ExtResource("26_br3ej")
|
||||
theme_override_styles/normal_mirrored = ExtResource("26_br3ej")
|
||||
theme_override_styles/normal = ExtResource("26_br3ej")
|
||||
|
||||
[node name="DummyPlayer" type="CharacterBody3D" parent="."]
|
||||
script = ExtResource("27_v1qxp")
|
||||
6
Zennysoft.Game.Ma/src/enemy_viewer/IEnemyViewer.cs
Normal file
6
Zennysoft.Game.Ma/src/enemy_viewer/IEnemyViewer.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public interface IEnemyViewer
|
||||
{
|
||||
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/enemy_viewer/IEnemyViewer.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/enemy_viewer/IEnemyViewer.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://b38a6d1l2jpmg
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 191 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bophm5or5opdf"
|
||||
path="res://.godot/imported/bafkreicavupacvvhtig6ii2zb3svww7luvmuknyttza6s4doxm4oursnzm.jpg-f88d8853613b3452be42477990890b3a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/enemy_viewer/bafkreicavupacvvhtig6ii2zb3svww7luvmuknyttza6s4doxm4oursnzm.jpg"
|
||||
dest_files=["res://.godot/imported/bafkreicavupacvvhtig6ii2zb3svww7luvmuknyttza6s4doxm4oursnzm.jpg-f88d8853613b3452be42477990890b3a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
Reference in New Issue
Block a user