Friday, 15 August 2025 23:08:08
13
Gameplay/Arena.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Arena : Sprite2D
|
||||
{
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Position = Globals.Instance._screenCenter;
|
||||
}
|
||||
|
||||
}
|
||||
1
Gameplay/Arena.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://pxi753iie75t
|
||||
181
Gameplay/Ball.cs
@@ -1,181 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Runtime;
|
||||
/// TODO create a few types of balls
|
||||
public partial class Ball : RigidBody2D
|
||||
{
|
||||
[Signal]
|
||||
public delegate void OnHoverEventHandler(Ball THIS, bool HOVERED);
|
||||
[Signal]
|
||||
public delegate void OnCollisionEventHandler(Ball THIS, Ball TARGET);
|
||||
[Signal]
|
||||
public delegate void OnLaunchEventHandler(Ball THIS);
|
||||
[Signal]
|
||||
public delegate void OnMovementEventHandler(Ball THIS, bool MOVING);
|
||||
|
||||
public bool _active = false, _placed = false, _potted = false, _available = false, _hovered = false, _selected = false, _aimed = false, _launched = false, _moving = false, _isCue = false;
|
||||
public float _moveThreshold = 5.0f;
|
||||
public string _id, _imagePath = null;
|
||||
public Vector2I _rackPosition = new Vector2I(0, 0);
|
||||
public Manager _owner = null;
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
if (LinearVelocity.Length() > 0 && LinearVelocity.Length() < _moveThreshold)
|
||||
{
|
||||
Sleeping = true;
|
||||
if (_moving)
|
||||
{
|
||||
ProcessOnStop();
|
||||
_moving = false;
|
||||
EmitSignal(SignalName.OnMovement, this, false);
|
||||
if (_launched)
|
||||
{
|
||||
_launched = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (LinearVelocity.Length() >= _moveThreshold && !Sleeping)
|
||||
{
|
||||
ProcessOnMovement();
|
||||
if (!_moving)
|
||||
{
|
||||
_moving = true;
|
||||
EmitSignal(SignalName.OnMovement, this, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Launch()
|
||||
{
|
||||
ProcessOnLaunch();
|
||||
}
|
||||
|
||||
public void Pot()
|
||||
{
|
||||
Sleeping = true;
|
||||
_active = false;
|
||||
_placed = false;
|
||||
_potted = true;
|
||||
_moving = false;
|
||||
}
|
||||
|
||||
public void SetSprite(string PATH)
|
||||
{
|
||||
_imagePath = PATH;
|
||||
GetNode<Sprite2D>("Image").Texture = GD.Load<Texture2D>(PATH);
|
||||
}
|
||||
|
||||
private void OnBodyEntered(Node2D TARGET)
|
||||
{
|
||||
if (TARGET is Ball)
|
||||
{
|
||||
Ball target = (Ball)TARGET;
|
||||
ProcessOnCollision(target);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseEntered()
|
||||
{
|
||||
if (_active)
|
||||
{
|
||||
_hovered = true;
|
||||
EmitSignal(SignalName.OnHover, this, true);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseExited()
|
||||
{
|
||||
if (_active)
|
||||
{
|
||||
_hovered = false;
|
||||
EmitSignal(SignalName.OnHover, this, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Processes
|
||||
// public virtual void ProcessOnAdd()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnBattleStart()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnBattleEnd()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnCollision(Ball TARGET)
|
||||
{
|
||||
EmitSignal(SignalName.OnCollision, this, TARGET);
|
||||
}
|
||||
|
||||
// public virtual void ProcessOnCreation()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnCritical()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnDeath()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnDefend()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnExpiration()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnLaunch()
|
||||
{
|
||||
_launched = true;
|
||||
EmitSignal(SignalName.OnLaunch, this);
|
||||
}
|
||||
|
||||
public virtual void ProcessOnMovement()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// public virtual void ProcessOnRemove()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnSell()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnStop()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// public virtual void ProcessOnTurnEnd()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnTurnStart()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://dgdxx8tceiljg
|
||||
@@ -1,7 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class BallReturn : Panel
|
||||
{
|
||||
public int _returnCount = 0;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://bbcrvn06t2aem
|
||||
@@ -1,38 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class BallSprite : Area2D
|
||||
{
|
||||
[Signal]
|
||||
public delegate void OnHoverEventHandler(BallSprite THIS, bool HOVERED);
|
||||
[Signal]
|
||||
public delegate void OnUnhoverEventHandler();
|
||||
public bool _active = false, _hovered = false, _held = false;
|
||||
public string _id, _imagePath;
|
||||
public Vector2I _rackPosition = new Vector2I(0, 0);
|
||||
public Manager _owner = null;
|
||||
|
||||
public void SetSprite(string PATH)
|
||||
{
|
||||
_imagePath = PATH;
|
||||
GetNode<Sprite2D>("Image").Texture = GD.Load<Texture2D>(PATH);
|
||||
}
|
||||
|
||||
private void OnMouseEntered()
|
||||
{
|
||||
if (_active)
|
||||
{
|
||||
_hovered = true;
|
||||
EmitSignal(SignalName.OnHover, this, true);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseExited()
|
||||
{
|
||||
if (_active)
|
||||
{
|
||||
_hovered = false;
|
||||
EmitSignal(SignalName.OnHover, this, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://c2rt5f831l1l1
|
||||
@@ -6,16 +6,9 @@ using System.Linq;
|
||||
public partial class Battle : Node
|
||||
{
|
||||
public bool _current;
|
||||
public Vector2 _startPosition = new Vector2(890, 340);
|
||||
public List<Sprite2D> _potted = new();
|
||||
public List<Ball> _balls = new();
|
||||
public Table _table;
|
||||
public List<Pocket> _pockets = new();
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_table = GetNode<Table>("Table");
|
||||
_pockets = _table.GetNode<Node2D>("Pockets").GetChildren().Select(n => (Pocket)n).ToList();
|
||||
|
||||
}
|
||||
|
||||
@@ -27,7 +20,6 @@ public partial class Battle : Node
|
||||
public void Start()
|
||||
{
|
||||
_current = true;
|
||||
Globals.Instance._currentBattle = this;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Cue : Sprite2D
|
||||
{
|
||||
[Signal]
|
||||
public delegate void OnShootEventHandler(Vector2 IMPULSE);
|
||||
|
||||
public bool _donned = false, _equiped = false, _sending = false;
|
||||
public float _power = 0.0f, _maxPower = 20.0f;
|
||||
Vector2 _direction;
|
||||
public ProgressBar _progressBar;
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
|
||||
if (!_sending)
|
||||
{
|
||||
Vector2 mousePosition = GetViewport().GetMousePosition();
|
||||
Offset = new Vector2(_power * -10, 0);
|
||||
LookAt(mousePosition);
|
||||
if (Input.IsActionJustPressed("scroll_down"))
|
||||
{
|
||||
_power = Math.Min(_power + (1f * (Input.IsActionPressed("shift") ? 5 : 1) / (Input.IsActionPressed("ctrl") ? 10 : 1)), _maxPower);
|
||||
}
|
||||
else if (Input.IsActionJustPressed("scroll_up"))
|
||||
{
|
||||
_power = Math.Max(_power - (1f * (Input.IsActionPressed("shift") ? 5 : 1) / (Input.IsActionPressed("ctrl") ? 10 : 1)), 0);
|
||||
}
|
||||
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
if (_power > 0f)
|
||||
{
|
||||
_sending = true;
|
||||
_direction = mousePosition - Position;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Offset.X < 0)
|
||||
{
|
||||
Offset = new Vector2(Math.Min(0, Offset.X + _power * 2), 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
_sending = false;
|
||||
Offset = Vector2.Zero;
|
||||
EmitSignal(SignalName.OnShoot, _power * _direction);
|
||||
_power = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void Doff()
|
||||
{
|
||||
_power = 0;
|
||||
_donned = false;
|
||||
SetProcess(false);
|
||||
Hide();
|
||||
//_progressBar.Hide();
|
||||
}
|
||||
|
||||
public void Don(Vector2 POSITION)
|
||||
{
|
||||
Position = POSITION;
|
||||
_donned = true;
|
||||
SetProcess(true);
|
||||
Show();
|
||||
//_progressBar.Position = new Vector2(CUEBALL.Position.X - _progressBar.Size.X / 2, CUEBALL.Position.Y + _progressBar.Size.Y / 2);
|
||||
//_progressBar.Show();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://ian15gmia0uv
|
||||
34
Gameplay/Effect.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public partial class Effect : Node
|
||||
{
|
||||
public List<Trigger> _trigger;
|
||||
public Worker _workerOwner;
|
||||
|
||||
public void SetOwner()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void TriggerEffect()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public enum Trigger
|
||||
{
|
||||
Movement,
|
||||
Collision,
|
||||
WallCollision,
|
||||
Death,
|
||||
Launch,
|
||||
Stop,
|
||||
BattleStart,
|
||||
BattleEnd,
|
||||
Critical,
|
||||
Defend,
|
||||
Time
|
||||
}
|
||||
}
|
||||
1
Gameplay/Effect.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dtccp5uxgkjwm
|
||||
21
Gameplay/Effects/BasicAttack.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public partial class BasicAttack : Effect
|
||||
{
|
||||
public BasicAttack() : base()
|
||||
{
|
||||
_trigger.Add(Trigger.Collision);
|
||||
}
|
||||
|
||||
public override void TriggerEffect()
|
||||
{
|
||||
if (_workerOwner._collisionTarget is Worker)
|
||||
{
|
||||
int damage = _workerOwner._aptitude;
|
||||
((Worker)_workerOwner._collisionTarget).ChangeHealth(damage, _workerOwner);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
1
Gameplay/Effects/BasicAttack.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://2ilonmgvkayp
|
||||
@@ -5,17 +5,19 @@ using System.Collections.Generic;
|
||||
public partial class Globals : Node
|
||||
{
|
||||
public static Globals Instance;
|
||||
|
||||
public bool _anyMovement = false;
|
||||
public Viewport _viewport;
|
||||
public Vector2 _screenSize;
|
||||
public Vector2 _screenCenter;
|
||||
public Battle _currentBattle;
|
||||
public Random _random = new();
|
||||
|
||||
public PackedScene _workerScene = ResourceLoader.Load<PackedScene>("res://Gameplay/worker.tscn");
|
||||
public PackedScene _tchotchkeScene = ResourceLoader.Load<PackedScene>("res://Gameplay/tchotchke.tscn");
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Instance = this;
|
||||
_viewport = GetViewport();
|
||||
_screenSize = _viewport.GetVisibleRect().Size;
|
||||
_screenCenter = _screenSize / 2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -13,9 +13,8 @@ public partial class Main : Node
|
||||
|
||||
_currentBattle = GetNode<Battle>("Battle");
|
||||
_player = GetNode<Manager>("Player");
|
||||
|
||||
|
||||
_currentBattle.Start();
|
||||
_player.Start(_currentBattle.GetNode<Table>("Table"));
|
||||
}
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
|
||||
@@ -9,219 +9,52 @@ public partial class Manager : Node
|
||||
public bool _dead, _ready;
|
||||
public int _ballsMoving = 0, _health = 10, _healthMax;
|
||||
public string _imagePath;
|
||||
public Node _hoveredNode = null;
|
||||
public Node _selectedNode = null;
|
||||
public CollisionShape2D _startArea;
|
||||
public Cue _cue;
|
||||
public ManagerPanel _managerPanel = null;
|
||||
public BallReturn _ballReturn = null;
|
||||
public Rack _rack = null;
|
||||
public Table _table;
|
||||
public Area2D _kitchen;
|
||||
public Ball _cueBall;
|
||||
public BallSprite _cueBallSprite;
|
||||
public List<Ball> _balls = new();
|
||||
public List<BallSprite> _ballSprites = new();
|
||||
public Manager _opponent;
|
||||
public List<Worker> _workers = new();
|
||||
public List<Vector2I> _initialRackPositions =
|
||||
[
|
||||
new Vector2I(1, 1),
|
||||
new Vector2I(3, 1),
|
||||
new Vector2I(4, 1),
|
||||
new Vector2I(2, 2),
|
||||
new Vector2I(4, 2),
|
||||
new Vector2I(1, 3),
|
||||
new Vector2I(2, 4),
|
||||
new Vector2I(2, 3),
|
||||
new Vector2I(2, 1),
|
||||
new Vector2I(5, 1),
|
||||
new Vector2I(1, 2),
|
||||
new Vector2I(3, 2),
|
||||
new Vector2I(3, 3),
|
||||
new Vector2I(1, 4),
|
||||
new Vector2I(1, 5)
|
||||
];
|
||||
// denoted by c1r1 notation where (3,1) translates to row 1 column 3
|
||||
// column 0 represents the ball return where the row represents its order in the return,
|
||||
// cue ball reserves the position (0,0)
|
||||
// (0, 1+) denotes a ballin the ball return
|
||||
// (0,-1+) denotes a ball that is not on the screen, the closer to 0 numbers get placed in the return first if the cool down is equal
|
||||
// numbers should increase from top to bottom and left to right from the player's perspective
|
||||
//
|
||||
|
||||
// PACKED SCENES
|
||||
public PackedScene _ballScene = ResourceLoader.Load<PackedScene>("res://Gameplay/ball.tscn");
|
||||
public PackedScene _ballSpriteScene = ResourceLoader.Load<PackedScene>("res://Gameplay/ball_sprite.tscn");
|
||||
public PackedScene _cueScene = ResourceLoader.Load<PackedScene>("res://Gameplay/cue.tscn");
|
||||
public PackedScene _workerScene = ResourceLoader.Load<PackedScene>("res://Gameplay/worker.tscn");
|
||||
public List<Tchotchke> _tchotckes = new();
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_healthMax = _health;
|
||||
_cue = GetNode<Cue>("Cue");
|
||||
_cue.OnShoot += OnCueShoot;
|
||||
_cue.Doff();
|
||||
|
||||
SetSprite("res://art/ness.png");
|
||||
|
||||
_managerPanel = GetNode<ManagerPanel>("Panel");
|
||||
_ballReturn = _managerPanel.GetNode<BallReturn>("BallReturn");
|
||||
_rack = _managerPanel.GetNode<Rack>("Rack");
|
||||
|
||||
AddBall("res://art/cue_ball.png", new Vector2I(0, 0), true);
|
||||
|
||||
for (int i = 1; i <= 15; i++)
|
||||
{
|
||||
AddBall("res://art/ball_" + i + ".png", _initialRackPositions[i - 1], false);
|
||||
}
|
||||
|
||||
_managerPanel.SetManager(this);
|
||||
|
||||
Worker newWorker = Globals.Instance._workerScene.Instantiate<Worker>();
|
||||
newWorker.Position = Globals.Instance._screenCenter + new Vector2(0, 100);
|
||||
newWorker._id = 1;
|
||||
AddChild(newWorker);
|
||||
_workers.Add(newWorker);
|
||||
|
||||
newWorker = Globals.Instance._workerScene.Instantiate<Worker>();
|
||||
newWorker.Position = Globals.Instance._screenCenter - new Vector2(0, 100);
|
||||
newWorker._id = 2;
|
||||
AddChild(newWorker);
|
||||
_workers.Add(newWorker);
|
||||
|
||||
Tchotchke newTchotchke = Globals.Instance._tchotchkeScene.Instantiate<Tchotchke>();
|
||||
newTchotchke.Position = new Vector2(Globals.Instance._screenSize.X - 100, Globals.Instance._screenCenter.Y);
|
||||
AddChild(newTchotchke);
|
||||
_tchotckes.Add(newTchotchke);
|
||||
}
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
if (_ballsMoving == 0)
|
||||
{
|
||||
if (_cueBall._placed)
|
||||
{
|
||||
if (_selectedNode is Ball)
|
||||
{
|
||||
if (Input.IsActionJustReleased("right_click"))
|
||||
{
|
||||
((Ball)_selectedNode)._selected = false;
|
||||
_selectedNode = null;
|
||||
_cue.Doff();
|
||||
}
|
||||
if (Input.IsActionJustReleased("left_click") && _cue._power == 0)
|
||||
{
|
||||
((Ball)_selectedNode)._selected = false;
|
||||
_cue.Doff();
|
||||
|
||||
if (_hoveredNode != null)
|
||||
{
|
||||
_selectedNode = (Ball)_hoveredNode;
|
||||
((Ball)_selectedNode)._selected = true;
|
||||
if (_selectedNode == _cueBall)
|
||||
{
|
||||
_cue.Don(_cueBall.Position);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_selectedNode = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_hoveredNode is Ball)
|
||||
{
|
||||
if ((Ball)_selectedNode != _hoveredNode && _cue._power == 0)
|
||||
{
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
_selectedNode = (Ball)_hoveredNode;
|
||||
((Ball)_selectedNode)._selected = true;
|
||||
if (_selectedNode == _cueBall)
|
||||
{
|
||||
_cue.Don(((Ball)_selectedNode).Position);
|
||||
}
|
||||
else
|
||||
{
|
||||
_cue.Doff();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_selectedNode is BallSprite)
|
||||
{
|
||||
Vector2 mousePosition = GetViewport().GetMousePosition();
|
||||
((BallSprite)_selectedNode).Position = mousePosition;
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
if (!_table._kitchenHovered)
|
||||
{
|
||||
PlaceBall(((BallSprite)_selectedNode), mousePosition);
|
||||
_hoveredNode = null;
|
||||
_selectedNode = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_hoveredNode is BallSprite)
|
||||
{
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
_selectedNode = (BallSprite)_hoveredNode;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if (_workers.All(w => w._placed && w._primed))
|
||||
{
|
||||
for (int i = 0; i < _workers.Count; i++)
|
||||
{
|
||||
if (_selectedNode == _cueBallSprite)
|
||||
{
|
||||
Vector2 mousePosition = GetViewport().GetMousePosition();
|
||||
_cueBallSprite.Position = mousePosition;
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
if (_table._kitchenHovered)
|
||||
{
|
||||
PlaceBall(_cueBallSprite, mousePosition);
|
||||
_hoveredNode = null;
|
||||
_selectedNode = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_hoveredNode == _cueBallSprite)
|
||||
{
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
_selectedNode = _cueBallSprite;
|
||||
}
|
||||
}
|
||||
_workers[i].Launch();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void AddBall(string IMAGEPATH, Vector2I RACKPOSITION, bool ISCUE)
|
||||
{
|
||||
Ball newBall;
|
||||
BallSprite newBallSprite;
|
||||
Guid ballGuid = Guid.NewGuid();
|
||||
string ballId = ballGuid.ToString();
|
||||
|
||||
newBall = _ballScene.Instantiate<Ball>();
|
||||
newBall.SetSprite(IMAGEPATH);
|
||||
newBall._rackPosition = RACKPOSITION;
|
||||
newBall._isCue = ISCUE;
|
||||
newBall._owner = this;
|
||||
newBall._id = ballId;
|
||||
newBall.OnHover += SetHovered;
|
||||
newBall.OnMovement += MovingChange;
|
||||
if (newBall._isCue)
|
||||
{
|
||||
_cueBall = newBall;
|
||||
}
|
||||
else
|
||||
{
|
||||
_balls.Add(newBall);
|
||||
}
|
||||
|
||||
newBallSprite = _ballSpriteScene.Instantiate<BallSprite>();
|
||||
newBallSprite.SetSprite(newBall._imagePath);
|
||||
newBallSprite._rackPosition = newBall._rackPosition;
|
||||
newBallSprite._owner = this;
|
||||
newBallSprite._id = newBall._id;
|
||||
newBallSprite.OnHover += SetHovered;
|
||||
if (newBall._isCue)
|
||||
{
|
||||
_cueBallSprite = newBallSprite;
|
||||
}
|
||||
else
|
||||
{
|
||||
_ballSprites.Add(newBallSprite);
|
||||
_rack.SetSprite((int)newBallSprite._rackPosition.Y, (int)newBallSprite._rackPosition.X, newBallSprite._imagePath, newBall._id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void ChangeHealth(int CHANGE)
|
||||
{
|
||||
_health += CHANGE;
|
||||
@@ -236,180 +69,10 @@ public partial class Manager : Node
|
||||
GetNode<ManagerPanel>("Panel").SetValue(_health);
|
||||
}
|
||||
|
||||
public BallSprite GetSpriteFromBall(Ball BALL)
|
||||
{
|
||||
BallSprite ballSprite = _cueBallSprite._id == BALL._id ? _cueBallSprite : _ballSprites.Single(b => b._id == BALL._id);
|
||||
return ballSprite;
|
||||
}
|
||||
|
||||
public Ball GetBallFromSprite(BallSprite BALLSPRITE)
|
||||
{
|
||||
Ball ball = _cueBall._id == BALLSPRITE._id ? _cueBall : _balls.Single(b => b._id == BALLSPRITE._id);
|
||||
return ball;
|
||||
}
|
||||
|
||||
public void MovingChange(Ball BALL, bool MOVING)
|
||||
{
|
||||
if (MOVING)
|
||||
{
|
||||
_ballsMoving++;
|
||||
}
|
||||
else
|
||||
{
|
||||
_ballsMoving--;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void PlaceBall(BallSprite BALLSSPRITE, Vector2 POSITION)
|
||||
{
|
||||
Ball ball = GetBallFromSprite(BALLSSPRITE);
|
||||
ball._available = true;
|
||||
ball.Position = POSITION;
|
||||
ball._active = true;
|
||||
ball._placed = true;
|
||||
ball._potted = false;
|
||||
ball._active = true;
|
||||
ball.Rotation = 0;
|
||||
|
||||
if (!GetChildren().Contains(ball))
|
||||
{
|
||||
AddChild(ball);
|
||||
}
|
||||
|
||||
BALLSSPRITE._active = false;
|
||||
if (GetChildren().Contains(BALLSSPRITE))
|
||||
{
|
||||
RemoveChild(BALLSSPRITE);
|
||||
}
|
||||
|
||||
_ballReturn._returnCount = _balls.Where(b => b._potted).ToList().Count;
|
||||
|
||||
// _ready = _ballReturn._returnCount > 0;
|
||||
}
|
||||
|
||||
public virtual void PotBall(Ball BALL, Pocket POCKET)
|
||||
{
|
||||
BALL.Sleeping = true;
|
||||
BALL._available = false;
|
||||
BALL._moving = false;
|
||||
BALL._active = false;
|
||||
BALL._placed = false;
|
||||
BALL._potted = true;
|
||||
BALL._active = false;
|
||||
MovingChange(BALL, false);
|
||||
|
||||
if (GetChildren().Contains(BALL))
|
||||
{
|
||||
RemoveChild(BALL);
|
||||
}
|
||||
|
||||
BallSprite ballSprite = GetSpriteFromBall(BALL);
|
||||
int pottedCount = _ballReturn._returnCount;
|
||||
Vector2 position;
|
||||
if (BALL._isCue)
|
||||
{
|
||||
position = _kitchen.GlobalPosition;
|
||||
}
|
||||
else
|
||||
{
|
||||
position = new Vector2(_ballReturn.GlobalPosition.X + _ballReturn.Size.X / 2, _ballReturn.GlobalPosition.Y + 50 * (pottedCount + 1));
|
||||
}
|
||||
ballSprite.Position = position;
|
||||
ballSprite._active = true;
|
||||
if (!GetChildren().Contains(ballSprite))
|
||||
{
|
||||
CallDeferred(MethodName.AddChild, ballSprite);
|
||||
}
|
||||
|
||||
_ballReturn._returnCount = _balls.Where(b => b._potted).ToList().Count;
|
||||
|
||||
// _ready = _ballReturn._returnCount > 0;
|
||||
|
||||
}
|
||||
|
||||
public void SetHovered(Node NODE, bool HOVERED)
|
||||
{
|
||||
if (HOVERED)
|
||||
{
|
||||
if (_hoveredNode == null)
|
||||
{
|
||||
if (NODE is Ball)
|
||||
{
|
||||
_hoveredNode = (Ball)NODE;
|
||||
}
|
||||
else if (NODE is BallSprite)
|
||||
{
|
||||
_hoveredNode = (BallSprite)NODE;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_hoveredNode = null;
|
||||
}
|
||||
}
|
||||
|
||||
// public void SetRack()
|
||||
// {
|
||||
// for (int i = 0; i < _ballSprites.Count; i++)
|
||||
// {
|
||||
// if ((int)_ballSprites[i]._rackPosition.Y > 0 && (int)_ballSprites[i]._rackPosition.X > 0)
|
||||
// {
|
||||
// _rack.SetSprite((int)_ballSprites[i]._rackPosition.Y, (int)_ballSprites[i]._rackPosition.X, _ballSprites[i]._imagePath);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
public void SetSprite(string PATH)
|
||||
{
|
||||
_imagePath = PATH;
|
||||
}
|
||||
|
||||
public virtual void Start(Table TABLE)
|
||||
{
|
||||
_table = TABLE;
|
||||
int diameter = 36;
|
||||
|
||||
int rows = _balls.Max(b => b._rackPosition.Y);
|
||||
|
||||
BallSprite rackBallSprite;
|
||||
int r, c;
|
||||
for (int i = 0; i < _ballSprites.Count; i++)
|
||||
{
|
||||
rackBallSprite = _ballSprites[i];
|
||||
c = rackBallSprite._rackPosition.X;
|
||||
r = Math.Abs(rackBallSprite._rackPosition.Y - rows);
|
||||
if (c > 0)
|
||||
{
|
||||
Vector2 position = new Vector2(TABLE.GlobalPosition.X - (r * (diameter / 2)) + ((c - 1) * diameter), TABLE.GlobalPosition.Y - TABLE.Texture.GetSize().Y / 4 - (r * diameter));
|
||||
PlaceBall(rackBallSprite, position);
|
||||
}
|
||||
}
|
||||
|
||||
TABLE.OnBallPotted += PotBall;
|
||||
|
||||
// PLAYER.PotBall();
|
||||
// SetRack();
|
||||
|
||||
_kitchen = _table.GetNode<Area2D>("Kitchen");
|
||||
_cueBallSprite.Position = _kitchen.GlobalPosition;
|
||||
_cueBallSprite._active = true;
|
||||
AddChild(_cueBallSprite);
|
||||
}
|
||||
|
||||
private void OnCueShoot(Vector2 IMPULSE)
|
||||
{
|
||||
if (_selectedNode is Ball)
|
||||
{
|
||||
Ball selectedBall = (Ball)_selectedNode;
|
||||
if (selectedBall != null && selectedBall._placed)
|
||||
{
|
||||
selectedBall.ApplyCentralImpulse(IMPULSE);
|
||||
selectedBall._selected = false;
|
||||
selectedBall.Launch();
|
||||
_selectedNode = null;
|
||||
_cue.Doff();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Pocket : Area2D
|
||||
{
|
||||
[Signal]
|
||||
public delegate void OnBallPottedEventHandler(Ball BALL, Pocket THIS);
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
|
||||
BodyEntered += BallPotted;
|
||||
}
|
||||
|
||||
public void BallPotted(Node NODE)
|
||||
{
|
||||
if (NODE is Ball)
|
||||
{
|
||||
EmitSignal(SignalName.OnBallPotted, (Ball)NODE, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://cyem70f52xfps
|
||||
@@ -1,12 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class PowerBar : ProgressBar
|
||||
{
|
||||
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
// Value = GetParent().GetNode<Manager>("Manager").GetNode<Cue>("Cue")._power / GetParent().GetNode<Manager>("Manager").GetNode<Cue>("Cue")._maxPower * 100;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://dbfpn1p62siat
|
||||
@@ -1,12 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Rack : Sprite2D
|
||||
{
|
||||
public void SetSprite(int ROW, int COLUMN, string IMAGEPATH, string ID)
|
||||
{
|
||||
BallSprite ballSprite = GetNode<Node2D>("R" + ROW).GetNode<BallSprite>("C" + COLUMN);
|
||||
ballSprite._id = ID;
|
||||
ballSprite.SetSprite(IMAGEPATH);
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://blwghh5lu3w3r
|
||||
@@ -1,47 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public partial class Table : Sprite2D
|
||||
|
||||
{
|
||||
[Signal]
|
||||
public delegate void OnBallPottedEventHandler(Ball THIS, Pocket POCKET);
|
||||
public bool _kitchenHovered;
|
||||
List<Pocket> _pockets;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_pockets = GetNode<Node2D>("Pockets")
|
||||
.GetChildren()
|
||||
.Select(n => (Pocket)n)
|
||||
.ToList<Pocket>();
|
||||
|
||||
for (int i = 0; i < _pockets.Count; i++)
|
||||
{
|
||||
_pockets[i].OnBallPotted += BallPotted;
|
||||
}
|
||||
GetNode<Area2D>("Kitchen").MouseEntered += KitchenHovered;
|
||||
GetNode<Area2D>("Kitchen").MouseExited += KitchenUnhovered;
|
||||
|
||||
}
|
||||
|
||||
public void BallPotted(Node NODE, Pocket POCKET)
|
||||
{
|
||||
if (NODE is Ball)
|
||||
{
|
||||
EmitSignal(SignalName.OnBallPotted, (Ball)NODE, POCKET);
|
||||
}
|
||||
}
|
||||
|
||||
public void KitchenHovered()
|
||||
{
|
||||
_kitchenHovered = true;
|
||||
}
|
||||
|
||||
public void KitchenUnhovered()
|
||||
{
|
||||
_kitchenHovered = false;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://82h0dmyohfj1
|
||||
82
Gameplay/Tchotchke.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Tchotchke : StaticBody2D
|
||||
{
|
||||
public bool _hovered = false, _held = false;
|
||||
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
if (_held)
|
||||
{
|
||||
GlobalPosition = GetGlobalMousePosition();
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
Transform2D newTransform = GlobalTransform;
|
||||
newTransform.Origin = Position;
|
||||
GlobalTransform = newTransform;
|
||||
Drop();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_hovered)
|
||||
{
|
||||
if (Input.IsActionJustPressed("left_click"))
|
||||
{
|
||||
Hold();
|
||||
}
|
||||
if (Input.IsActionJustPressed("scroll_up"))
|
||||
{
|
||||
Rotation -= 1;
|
||||
}
|
||||
if (Input.IsActionJustPressed("scroll_down"))
|
||||
{
|
||||
Rotation += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Drop()
|
||||
{
|
||||
if (_held)
|
||||
{
|
||||
_held = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void Hold()
|
||||
{
|
||||
if (_held)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_held = true;
|
||||
}
|
||||
|
||||
// Processes
|
||||
|
||||
// PRIVATE METHODS
|
||||
private void OnMouseEntered()
|
||||
{
|
||||
_hovered = true;
|
||||
}
|
||||
|
||||
private void OnMouseExited()
|
||||
{
|
||||
_hovered = false;
|
||||
}
|
||||
|
||||
private void OnBodyEntered(Node NODE)
|
||||
{
|
||||
if (NODE is Worker)
|
||||
{
|
||||
// _rotationalForce *= 0.8f;
|
||||
// Vector2 rotatedForce = LinearVelocity.Rotated(((Worker)NODE)._rotationalForce);
|
||||
|
||||
// ApplyCentralForce(rotatedForce);
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Gameplay/Tchotchke.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://qmgo5eukvn6y
|
||||
@@ -1,44 +1,190 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
|
||||
public partial class Worker : Node2D
|
||||
public partial class Worker : RigidBody2D
|
||||
{
|
||||
[Signal]
|
||||
public delegate void DamageOverflowEventHandler(int OVERFLOW);
|
||||
public bool _dead = false, _hovered = false;
|
||||
public int _health = 5, _healthMax;
|
||||
|
||||
public bool _dead = false, _hovered = false, _held = false, _placed = false, _selected = false, _primed = false, _moving = false;
|
||||
public int _health, _healthMax, _aptitude, _agility, _ardor, _accumen, _awareness, _appeal, _id;
|
||||
public float _rotationalForce = 0;
|
||||
public Vector2 _force = Vector2.Zero;
|
||||
public Node _collisionTarget;
|
||||
public Sprite2D _image;
|
||||
public Manager _manager;
|
||||
public List<Effect> _effects = new();
|
||||
public override void _Ready()
|
||||
{
|
||||
_health = 10;
|
||||
_aptitude = 5;
|
||||
_agility = 5;
|
||||
_ardor = 5;
|
||||
_accumen = 5;
|
||||
_awareness = 5;
|
||||
_appeal = 5;
|
||||
|
||||
_healthMax = _health;
|
||||
_image = GetNode<Sprite2D>("Sprite2D");
|
||||
}
|
||||
|
||||
public virtual void ChangeDefense(int CHANGE)
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
_health += CHANGE;
|
||||
_health = Math.Min(_health, _healthMax);
|
||||
if (_health < 0)
|
||||
if (!_moving)
|
||||
{
|
||||
EmitSignal(SignalName.DamageOverflow, _health);
|
||||
_health = 0;
|
||||
if (!_placed)
|
||||
{
|
||||
if (!_held)
|
||||
{
|
||||
if (_hovered)
|
||||
{
|
||||
if (Input.IsActionJustPressed("left_click"))
|
||||
{
|
||||
Hold();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_selected)
|
||||
{
|
||||
Vector2 mousePosition = GetGlobalMousePosition();
|
||||
LookAt(mousePosition);
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
_selected = false;
|
||||
_force = (GlobalPosition - mousePosition) * 100;
|
||||
_rotationalForce = 5f;
|
||||
_primed = true;
|
||||
}
|
||||
}
|
||||
else if (_hovered)
|
||||
{
|
||||
if (Input.IsActionJustPressed("left_click"))
|
||||
{
|
||||
_selected = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Vector2 towardCenter = (Globals.Instance._screenCenter - GlobalPosition).Normalized();
|
||||
// ApplyCentralForce(towardCenter * 100);
|
||||
_image.Rotate(_rotationalForce);
|
||||
_rotationalForce -= 0.5f / 60;
|
||||
if (_rotationalForce <= 0f)
|
||||
{
|
||||
Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetSprite(string PATH)
|
||||
public override void _PhysicsProcess(double DELTA_)
|
||||
{
|
||||
GetNode<Sprite2D>("Image").Texture = GD.Load<Texture2D>(PATH);
|
||||
if (_held)
|
||||
{
|
||||
GlobalPosition = GetGlobalMousePosition();
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
Transform2D newTransform = GlobalTransform;
|
||||
newTransform.Origin = Position;
|
||||
GlobalTransform = newTransform;
|
||||
Drop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeHealth(int CHANGE, Node CHANGEMAKER)
|
||||
{
|
||||
if (_health <= 0 && CHANGE < 0)
|
||||
{
|
||||
// knock the piece off the board and out for the round!
|
||||
// process on knockout
|
||||
}
|
||||
_health += CHANGE;
|
||||
if (_health <= 0)
|
||||
{
|
||||
_dead = true;
|
||||
_health = 0;
|
||||
TriggerSpecificEffects(Effect.Trigger.Death);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void Drop()
|
||||
{
|
||||
if (_held)
|
||||
{
|
||||
_held = false;
|
||||
_placed = true;
|
||||
Freeze = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void Hold()
|
||||
{
|
||||
if (_held)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Freeze = true;
|
||||
_held = true;
|
||||
}
|
||||
|
||||
public void Launch()
|
||||
{
|
||||
GravityScale = 1.0f;
|
||||
_moving = true;
|
||||
ApplyCentralForce(_force);
|
||||
_force = Vector2.Zero;
|
||||
_primed = false;
|
||||
TriggerSpecificEffects(Effect.Trigger.Launch);
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
GravityScale = 0.0f;
|
||||
Sleeping = true;
|
||||
_moving = false;
|
||||
_rotationalForce = 0f;
|
||||
TriggerSpecificEffects(Effect.Trigger.Stop);
|
||||
}
|
||||
|
||||
public void TriggerSpecificEffects(Effect.Trigger TRIGGER)
|
||||
{
|
||||
List<Effect> triggeredEffects = _effects.Where(e => e._trigger.IndexOf(TRIGGER) > -1).ToList();
|
||||
for (int i = 0; i < triggeredEffects.Count; i++)
|
||||
{
|
||||
triggeredEffects[i].TriggerEffect();
|
||||
}
|
||||
}
|
||||
|
||||
// PRIVATE METHODS
|
||||
private void OnMouseEntered()
|
||||
{
|
||||
_hovered = true;
|
||||
}
|
||||
|
||||
private void OnMouseExited()
|
||||
{
|
||||
_hovered = false;
|
||||
}
|
||||
|
||||
private void OnBodyEntered(Node NODE)
|
||||
{
|
||||
if (NODE is Worker)
|
||||
{
|
||||
_collisionTarget = NODE;
|
||||
TriggerSpecificEffects(Effect.Trigger.Stop);
|
||||
|
||||
_rotationalForce *= 0.8f;
|
||||
Vector2 rotatedForce = LinearVelocity.Rotated(((Worker)NODE)._rotationalForce);
|
||||
|
||||
ApplyCentralForce(rotatedForce);
|
||||
_collisionTarget = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Processes
|
||||
// public virtual void ProcessOnCollision(Ball TARGET)
|
||||
// {
|
||||
// Worker TARGETWORKER = TARGET.GetParent<Worker>();
|
||||
// if (_launched)
|
||||
// {
|
||||
// TARGETWORKER.ChangeDefense(-3);
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
uid://b4mr2vn8mw6r4
|
||||
uid://bk6qk4rjmsvtn
|
||||
|
||||
36
Gameplay/arena.tscn
Normal file
@@ -0,0 +1,36 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://demwh8ek37mnx"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://pxi753iie75t" path="res://Gameplay/Arena.cs" id="1_3it5u"]
|
||||
[ext_resource type="Texture2D" uid="uid://nxo2tpgmobli" path="res://art/arena.png" id="1_ya27x"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ya27x"]
|
||||
radius = 400.25
|
||||
|
||||
[node name="Arena" type="Sprite2D"]
|
||||
texture = ExtResource("1_ya27x")
|
||||
script = ExtResource("1_3it5u")
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||
visible = false
|
||||
polygon = PackedVector2Array(-2, -303, 150, -302, 150, -372, 218, -336, 268, -296, 310, -254, 347, -201, 373, -146, 390, -85, 398, -33, 400, 1, 398, 30, 394, 69, 388, 99, 377, 135, 355, 184, 339, 213, 312, 250, 291, 276, 268, 298, 249, 314, 209, 341, 183, 356, 167, 364, 150, 370, 150, 301, -2, 300, -1, 791, 937, 791, 935, -974, -5, -990)
|
||||
|
||||
[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||
visible = false
|
||||
rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
polygon = PackedVector2Array(-2, -303, 150, -302, 150, -372, 218, -336, 268, -296, 310, -254, 347, -201, 373, -146, 390, -85, 398, -33, 400, 1, 398, 30, 394, 69, 388, 99, 377, 135, 355, 184, 339, 213, 312, 250, 291, 276, 268, 298, 249, 314, 209, 341, 183, 356, 167, 364, 150, 370, 150, 301, -2, 300, -1, 791, 937, 791, 935, -974, -5, -990)
|
||||
|
||||
[node name="CollisionPolygon2D3" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||
polygon = PackedVector2Array(-800, 800, -153, 800, -153, 366.8, -198.5, 344, -200.4, 344, -245.4, 312, -247.2, 312, -295.2, 266, -296, 266, -324, 230, -324.9, 230, -343.9, 199, -344.7, 199, -362.7, 162, -363.6, 162, -379.6, 117, -380.3, 117, -393.4, 55, -394.1, 55, -398, 6, -398, -5.79999, -394, -48.9, -394, -57, -380, -114.8, -380, -118.5, -363, -160.6, -363, -163.5, -349, -189.5, -349, -191.4, -324, -229.4, -324, -231.3, -295, -265.3, -295, -267.1, -246, -312.1, -246, -312.9, -199, -343.9, -199, -344.8, -152, -366.8, -152, -298, 152, -298, 152, -366.9, 189.5, -349, 191.4, -349, 208.4, -338, 210.3, -338, 257.3, -302, 259.2, -302, 295.2, -266, 296, -266, 324, -230, 324.9, -230, 343.9, -199, 344.7, -199, 365.7, -155, 366.6, -155, 382.6, -107, 383.3, -107, 393.3, -55, 394.1, -55, 397.1, -4, 397.9, -4, 396, 28.9, 396, 39.7, 391, 68.8, 391, 75, 375, 130.7, 375, 133.6, 363, 160.6, 363, 163.3, 344, 198.5, 344, 200.3, 312, 245.4, 312, 247.2, 266, 295.2, 266, 296, 230, 324, 230, 324.9, 190, 348.9, 190, 349.7, 153.8, 365.9, 151.9, 298, -152, 298, -152, 800, 800, 800, 800, -800, -800, -800)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
gravity_space_override = 1
|
||||
gravity_point = true
|
||||
gravity_point_center = Vector2(0, 0)
|
||||
gravity_direction = Vector2(0, 0)
|
||||
gravity = 100.0
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_ya27x")
|
||||
@@ -1,38 +0,0 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://c8n4lue2bn25n"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dgdxx8tceiljg" path="res://Gameplay/Ball.cs" id="1_7ritg"]
|
||||
[ext_resource type="Shader" uid="uid://b6vvt5o0008ob" path="res://shaders/globe.gdshader" id="2_6v01e"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_yj7wd"]
|
||||
bounce = 5.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yj7wd"]
|
||||
shader = ExtResource("2_6v01e")
|
||||
shader_parameter/scroll_x = 0.0
|
||||
shader_parameter/scroll_y = 0.0
|
||||
shader_parameter/rotation = 0.0
|
||||
shader_parameter/globe_magnitude = 0.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_803qd"]
|
||||
radius = 18.0
|
||||
|
||||
[node name="Ball" type="RigidBody2D" groups=["balls"]]
|
||||
z_index = 1
|
||||
input_pickable = true
|
||||
physics_material_override = SubResource("PhysicsMaterial_yj7wd")
|
||||
continuous_cd = 2
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 1
|
||||
script = ExtResource("1_7ritg")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
material = SubResource("ShaderMaterial_yj7wd")
|
||||
|
||||
[node name="Bounds" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -7.10543e-15)
|
||||
shape = SubResource("CircleShape2D_803qd")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="OnBodyEntered"]
|
||||
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
|
||||
@@ -1,13 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bfxav1txgaxo5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bbcrvn06t2aem" path="res://Gameplay/BallReturn.cs" id="1_omsmb"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3x8cv"]
|
||||
bg_color = Color(0.501407, 0.501406, 0.501406, 1)
|
||||
|
||||
[node name="BallReturn" type="Panel"]
|
||||
offset_right = 75.0
|
||||
offset_bottom = 800.0
|
||||
mouse_filter = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_3x8cv")
|
||||
script = ExtResource("1_omsmb")
|
||||
@@ -1,18 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://tmer0me1qpaa"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c2rt5f831l1l1" path="res://Gameplay/BallSprite.cs" id="1_bwons"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_vjx3o"]
|
||||
radius = 18.0
|
||||
|
||||
[node name="BallSprite" type="Area2D"]
|
||||
z_index = 2
|
||||
script = ExtResource("1_bwons")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_vjx3o")
|
||||
|
||||
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
|
||||
@@ -1,10 +1,9 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://5ymxo45j4ryt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://0c1u4l8lu07h" path="res://Gameplay/Battle.cs" id="1_i431l"]
|
||||
[ext_resource type="PackedScene" uid="uid://dsprg4uahkylm" path="res://Gameplay/table.tscn" id="2_fkh6t"]
|
||||
[ext_resource type="PackedScene" uid="uid://demwh8ek37mnx" path="res://Gameplay/arena.tscn" id="2_fkh6t"]
|
||||
|
||||
[node name="Battle" type="Node" groups=["battles"]]
|
||||
script = ExtResource("1_i431l")
|
||||
|
||||
[node name="Table" parent="." instance=ExtResource("2_fkh6t")]
|
||||
position = Vector2(960, 540)
|
||||
[node name="Arena" parent="." instance=ExtResource("2_fkh6t")]
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cyvwahpr2gqi6"]
|
||||
|
||||
[ext_resource type="Script" path="res://Gameplay/ComputerManager.cs" id="1_rwbwa"]
|
||||
[ext_resource type="PackedScene" uid="uid://dm4xk16ce0j" path="res://Gameplay/cue.tscn" id="4_ugtcs"]
|
||||
|
||||
[node name="ComputerManager" type="Node"]
|
||||
script = ExtResource("1_rwbwa")
|
||||
|
||||
[node name="Cue" parent="." instance=ExtResource("4_ugtcs")]
|
||||
@@ -1,10 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dm4xk16ce0j"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://qs3fa665l8x2" path="res://art/cue.png" id="1_ujx86"]
|
||||
[ext_resource type="Script" uid="uid://ian15gmia0uv" path="res://Gameplay/Cue.cs" id="2_dtogv"]
|
||||
|
||||
[node name="Cue" type="Sprite2D"]
|
||||
z_index = 99
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_ujx86")
|
||||
script = ExtResource("2_dtogv")
|
||||
3
Gameplay/effect.tscn
Normal file
@@ -0,0 +1,3 @@
|
||||
[gd_scene load_steps=0 format=3 uid="uid://bp2xesqosn4fk"]
|
||||
|
||||
[node name="ProcessEffect" type="Node"]
|
||||
@@ -1,29 +1,11 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://cdaxqopr35lll"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cdaxqopr35lll"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b66ysicyh0m1s" path="res://Gameplay/Manager.cs" id="1_ivgep"]
|
||||
[ext_resource type="Script" uid="uid://dbfpn1p62siat" path="res://Gameplay/PowerBar.cs" id="2_2skxn"]
|
||||
[ext_resource type="PackedScene" uid="uid://8kv00jc35dma" path="res://Gameplay/manager_panel.tscn" id="3_xooeg"]
|
||||
[ext_resource type="PackedScene" uid="uid://dm4xk16ce0j" path="res://Gameplay/cue.tscn" id="4_bcsor"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8y33v"]
|
||||
bg_color = Color(1, 1, 1, 0.458824)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vnsqa"]
|
||||
bg_color = Color(0.92549, 0.0901961, 0.0627451, 1)
|
||||
|
||||
[node name="Manager" type="Node"]
|
||||
script = ExtResource("1_ivgep")
|
||||
|
||||
[node name="PowerBar" type="ProgressBar" parent="."]
|
||||
visible = false
|
||||
z_index = 1
|
||||
offset_right = 100.0
|
||||
offset_bottom = 30.0
|
||||
theme_override_styles/background = SubResource("StyleBoxFlat_8y33v")
|
||||
theme_override_styles/fill = SubResource("StyleBoxFlat_vnsqa")
|
||||
show_percentage = false
|
||||
script = ExtResource("2_2skxn")
|
||||
|
||||
[node name="Panel" parent="." instance=ExtResource("3_xooeg")]
|
||||
offset_left = 101.0
|
||||
offset_top = 150.0
|
||||
@@ -31,5 +13,3 @@ offset_right = 551.0
|
||||
offset_bottom = 280.0
|
||||
grow_horizontal = 1
|
||||
grow_vertical = 1
|
||||
|
||||
[node name="Cue" parent="." instance=ExtResource("4_bcsor")]
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://8kv00jc35dma"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://8kv00jc35dma"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c4ekvurl6q7jn" path="res://Gameplay/ManagerPanel.cs" id="1_8n1hc"]
|
||||
[ext_resource type="PackedScene" uid="uid://cudhpkje2ax2g" path="res://Gameplay/rack.tscn" id="2_20uuj"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfxav1txgaxo5" path="res://Gameplay/ball_return.tscn" id="3_sx67n"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e1ofl"]
|
||||
bg_color = Color(1, 1, 1, 1)
|
||||
@@ -130,99 +128,47 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_j2own")
|
||||
|
||||
[node name="T1" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 79.0
|
||||
offset_top = 28.0
|
||||
offset_right = 129.0
|
||||
offset_bottom = 78.0
|
||||
offset_left = 63.0
|
||||
offset_top = 26.0
|
||||
offset_right = 213.0
|
||||
offset_bottom = 176.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T1"]
|
||||
position = Vector2(25, 25)
|
||||
position = Vector2(75, 75)
|
||||
|
||||
[node name="T2" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 154.0
|
||||
offset_left = 237.0
|
||||
offset_top = 28.0
|
||||
offset_right = 204.0
|
||||
offset_bottom = 78.0
|
||||
offset_right = 387.0
|
||||
offset_bottom = 178.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T2"]
|
||||
position = Vector2(25, 25)
|
||||
position = Vector2(75, 75)
|
||||
|
||||
[node name="T3" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 229.0
|
||||
offset_top = 28.0
|
||||
offset_right = 279.0
|
||||
offset_bottom = 78.0
|
||||
offset_left = 60.0
|
||||
offset_top = 194.0
|
||||
offset_right = 210.0
|
||||
offset_bottom = 344.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T3"]
|
||||
position = Vector2(25, 25)
|
||||
position = Vector2(75, 75)
|
||||
|
||||
[node name="T4" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 304.0
|
||||
offset_top = 28.0
|
||||
offset_right = 354.0
|
||||
offset_bottom = 78.0
|
||||
offset_left = 237.0
|
||||
offset_top = 196.0
|
||||
offset_right = 387.0
|
||||
offset_bottom = 346.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T4"]
|
||||
position = Vector2(25, 25)
|
||||
|
||||
[node name="T5" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 79.0
|
||||
offset_top = 103.0
|
||||
offset_right = 129.0
|
||||
offset_bottom = 153.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T5"]
|
||||
position = Vector2(25, 25)
|
||||
|
||||
[node name="T6" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 154.0
|
||||
offset_top = 103.0
|
||||
offset_right = 204.0
|
||||
offset_bottom = 153.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T6"]
|
||||
position = Vector2(25, 25)
|
||||
|
||||
[node name="T7" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 229.0
|
||||
offset_top = 103.0
|
||||
offset_right = 279.0
|
||||
offset_bottom = 153.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T7"]
|
||||
position = Vector2(25, 25)
|
||||
|
||||
[node name="T8" type="Panel" parent="Team"]
|
||||
layout_mode = 0
|
||||
offset_left = 304.0
|
||||
offset_top = 103.0
|
||||
offset_right = 354.0
|
||||
offset_bottom = 153.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_058dj")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="Team/T8"]
|
||||
position = Vector2(25, 25)
|
||||
|
||||
[node name="Rack" parent="." instance=ExtResource("2_20uuj")]
|
||||
position = Vector2(107, 346)
|
||||
|
||||
[node name="BallReturn" parent="." instance=ExtResource("3_sx67n")]
|
||||
layout_mode = 0
|
||||
offset_left = 475.0
|
||||
offset_right = 550.0
|
||||
position = Vector2(75, 75)
|
||||
|
||||
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
|
||||
|
||||
@@ -1,208 +0,0 @@
|
||||
//using Godot;
|
||||
//using System;
|
||||
//
|
||||
//public partial class Ball : RigidBody2D
|
||||
//{
|
||||
//[Signal]
|
||||
//public delegate void HoverEventHandler(bool tf = true);
|
||||
//[Signal]
|
||||
//public delegate void SelectEventHandler(bool tf = true);
|
||||
//[Signal]
|
||||
//public delegate void AimEventHandler(bool tf = true);
|
||||
//[Signal]
|
||||
//public delegate void LaunchEventHandler(bool tf = true);
|
||||
//[Signal]
|
||||
//public delegate void MoveEventHandler(bool tf = true);
|
||||
//[Signal]
|
||||
//public delegate void BumpMarbleEventHandler(Ball ball);
|
||||
//[Signal]
|
||||
//public delegate void DefenseDownEventHandler(int damage);
|
||||
//
|
||||
//public bool _holding, _placed, _hovered, _selected, _aimed, _launched, _moving;
|
||||
//public int _defense, _defenseMax, _speed;
|
||||
//public Vector2 _force, _velocity, _screenSize;
|
||||
//
|
||||
//
|
||||
//public override void _Ready()
|
||||
//{
|
||||
//_holding = false;
|
||||
//_placed = true;
|
||||
//_hovered = false;
|
||||
//_selected = false;
|
||||
//_aimed = false;
|
||||
//_launched = false;
|
||||
//_moving = false;
|
||||
//_defense = 10;
|
||||
//_defenseMax = _defense;
|
||||
//_speed = 400;
|
||||
//_force = new Vector2(0,0);
|
||||
//_velocity = new Vector2(0,0);
|
||||
//_screenSize = GetViewportRect().Size;
|
||||
//
|
||||
////Hide();
|
||||
//}
|
||||
//
|
||||
//public override void _PhysicsProcess(double delta) //THIS IS LIKE THE UPDATE FUNCTION
|
||||
//{
|
||||
//if (_placed)
|
||||
//{
|
||||
//TrySelect();
|
||||
//TryAim();
|
||||
//TryLaunch();
|
||||
//TryMovement(delta);
|
||||
//}
|
||||
//else if (_holding)
|
||||
//{
|
||||
//GetNode<CollisionShape2D>("Bounds").Disabled = true;
|
||||
//Vector2 mousePosition = GetGlobalMousePosition();
|
||||
//if (Input.IsActionJustReleased("left_click"))
|
||||
//{
|
||||
//Start(mousePosition);
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//public void DefenseChange(int change)
|
||||
//{
|
||||
//_defense += change;
|
||||
//if (_defense < 0)
|
||||
//{
|
||||
//EmitSignal(SignalName.DefenseDown); // transfer damage over 0 to player
|
||||
//_defense = 0; // set defense back to 0
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//public void Start(Vector2 position)
|
||||
//{
|
||||
//
|
||||
//_holding = false;
|
||||
//_placed = true;
|
||||
//Position = position;
|
||||
//Show();
|
||||
//GetNode<CollisionShape2D>("Bounds").Disabled = false;
|
||||
//}
|
||||
//
|
||||
//public void TryAim()
|
||||
//{
|
||||
//if (_selected && Input.IsActionPressed("left_click") && ! _hovered && !_aimed)
|
||||
//{
|
||||
//_aimed = true;
|
||||
//EmitSignal(SignalName.Aim);
|
||||
//}
|
||||
//
|
||||
//if (_aimed)
|
||||
//{
|
||||
//Vector2 mousePosition = GetGlobalMousePosition();
|
||||
//_force = (Position - mousePosition) /6;
|
||||
//
|
||||
//if (!Input.IsActionPressed("left_click"))
|
||||
//{
|
||||
//if (!_hovered)
|
||||
//{
|
||||
//_launched = true;
|
||||
//EmitSignal(SignalName.Select, false);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
//_aimed = false;
|
||||
//EmitSignal(SignalName.Aim, false);
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//public void TryLaunch()
|
||||
//{
|
||||
//if (_aimed && Input.IsActionJustReleased("left_click"))
|
||||
//{
|
||||
//_selected = false;
|
||||
//EmitSignal(SignalName.Select, false);
|
||||
//
|
||||
//_aimed = false;
|
||||
//EmitSignal(SignalName.Aim, false);
|
||||
//
|
||||
//_launched = true;
|
||||
//EmitSignal(SignalName.Launch);
|
||||
//
|
||||
//ApplyCentralForce(_force * _speed);
|
||||
//_force = Vector2.Zero;
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//public void TryMovement(double delta)
|
||||
//{
|
||||
//if (LinearVelocity.Length() > 0 && !Sleeping)
|
||||
//{
|
||||
//if (!_moving)
|
||||
//{
|
||||
//_moving = true;
|
||||
//EmitSignal(SignalName.Move);
|
||||
//}
|
||||
//}
|
||||
//if (_moving)
|
||||
//{
|
||||
////Vector2 Scroll = -LinearVelocity / 100;
|
||||
////
|
||||
////Sprite2D sprite = (Sprite2D)GetNode("Texture");
|
||||
////ShaderMaterial material = (ShaderMaterial)sprite.Material;
|
||||
////
|
||||
////float CurrentScrollX = (float)material.GetShaderParameter("scroll_x");
|
||||
////material.SetShaderParameter("scroll_x", (CurrentScrollX + Scroll.X * (float)delta) % 1.0f);
|
||||
////
|
||||
////float CurrentScrollY = (float)material.GetShaderParameter("scroll_y");
|
||||
////material.SetShaderParameter("scroll_y", (CurrentScrollY + Scroll.Y * (float)delta) % 1.0f);
|
||||
//
|
||||
//
|
||||
//if (Sleeping)
|
||||
//{
|
||||
//_launched = false;
|
||||
//_moving = false;
|
||||
//EmitSignal(SignalName.Move, false);
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//public void TrySelect()
|
||||
//{
|
||||
//if ( _hovered)
|
||||
//{
|
||||
//if (Input.IsActionJustPressed("left_click") && !_selected)
|
||||
//{
|
||||
//_selected = true;
|
||||
//EmitSignal(SignalName.Select);
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//if (_selected)
|
||||
//{
|
||||
//if (!_hovered)
|
||||
//{
|
||||
//if (Input.IsActionJustPressed("left_click") && _selected)
|
||||
//{
|
||||
//_selected = false;
|
||||
//EmitSignal(SignalName.Select, false);
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//
|
||||
//private void OnMouseEntered()
|
||||
//{
|
||||
//_hovered = true;
|
||||
//EmitSignal(SignalName.Hover);
|
||||
//}
|
||||
//
|
||||
//private void OnMouseExited()
|
||||
//{
|
||||
//_hovered = false;
|
||||
//EmitSignal(SignalName.Hover, false);
|
||||
//}
|
||||
//
|
||||
//private void OnBodyEntered(Node2D body)
|
||||
//{
|
||||
//if (body.GetType() == typeof(Ball))
|
||||
//{
|
||||
//EmitSignal(SignalName.BumpMarble, (Ball)body);
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
@@ -1 +0,0 @@
|
||||
uid://2rh2m60aldei
|
||||
@@ -1,13 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dl1qsemhbxaoh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyem70f52xfps" path="res://Gameplay/Pocket.cs" id="1_f316g"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_kcs3t"]
|
||||
radius = 74.0
|
||||
height = 264.0
|
||||
|
||||
[node name="Pocket" type="Area2D"]
|
||||
script = ExtResource("1_f316g")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CapsuleShape2D_kcs3t")
|
||||
@@ -1,70 +0,0 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cudhpkje2ax2g"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cgnwfc387vche" path="res://art/rack.png" id="1_re2um"]
|
||||
[ext_resource type="Script" uid="uid://blwghh5lu3w3r" path="res://Gameplay/Rack.cs" id="2_tsiik"]
|
||||
[ext_resource type="PackedScene" uid="uid://tmer0me1qpaa" path="res://Gameplay/ball_sprite.tscn" id="3_ydd72"]
|
||||
|
||||
[node name="Rack" type="Sprite2D"]
|
||||
texture = ExtResource("1_re2um")
|
||||
centered = false
|
||||
script = ExtResource("2_tsiik")
|
||||
|
||||
[node name="R1" type="Node2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="C1" parent="R1" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(37, 15)
|
||||
|
||||
[node name="C2" parent="R1" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(73, 15)
|
||||
|
||||
[node name="C3" parent="R1" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(109, 15)
|
||||
|
||||
[node name="C4" parent="R1" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(145, 15)
|
||||
|
||||
[node name="C5" parent="R1" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(181, 15)
|
||||
|
||||
[node name="R2" type="Node2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="C1" parent="R2" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(55, 46)
|
||||
|
||||
[node name="C2" parent="R2" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(91, 46)
|
||||
|
||||
[node name="C3" parent="R2" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(127, 46)
|
||||
|
||||
[node name="C4" parent="R2" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(163, 46)
|
||||
|
||||
[node name="R3" type="Node2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="C1" parent="R3" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(73, 77)
|
||||
|
||||
[node name="C2" parent="R3" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(109, 77)
|
||||
|
||||
[node name="C3" parent="R3" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(145, 77)
|
||||
|
||||
[node name="R4" type="Node2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="C1" parent="R4" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(91, 108)
|
||||
|
||||
[node name="C2" parent="R4" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(127, 108)
|
||||
|
||||
[node name="R5" type="Node2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="C1" parent="R5" instance=ExtResource("3_ydd72")]
|
||||
position = Vector2(109, 139)
|
||||
@@ -1,49 +0,0 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://yr7ufhp84bfa"]
|
||||
|
||||
[ext_resource type="Script" path="res://Gameplay/SupportBall.cs" id="2_4wdnc"]
|
||||
[ext_resource type="Shader" uid="uid://b6vvt5o0008ob" path="res://shaders/globe.gdshader" id="2_jnwku"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_yj7wd"]
|
||||
bounce = 5.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yj7wd"]
|
||||
shader = ExtResource("2_jnwku")
|
||||
shader_parameter/scroll_x = 0.0
|
||||
shader_parameter/scroll_y = 0.0
|
||||
shader_parameter/rotation = 0.0
|
||||
shader_parameter/globe_magnitude = 0.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_803qd"]
|
||||
radius = 18.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_4wdnc"]
|
||||
radius = 18.0
|
||||
|
||||
[node name="SupportBall" type="RigidBody2D" groups=["balls"]]
|
||||
z_index = 1
|
||||
input_pickable = true
|
||||
physics_material_override = SubResource("PhysicsMaterial_yj7wd")
|
||||
continuous_cd = 2
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 1
|
||||
script = ExtResource("2_4wdnc")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
material = SubResource("ShaderMaterial_yj7wd")
|
||||
|
||||
[node name="Bounds" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -7.10543e-15)
|
||||
shape = SubResource("CircleShape2D_803qd")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
disable_mode = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_4wdnc")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="OnBodyEntered"]
|
||||
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
|
||||
[connection signal="mouse_entered" from="Area2D" to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="Area2D" to="." method="OnMouseExited"]
|
||||
@@ -1,84 +0,0 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://dsprg4uahkylm"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://brbok0al4e1ab" path="res://art/tableTemplate.png" id="1_s3o1g"]
|
||||
[ext_resource type="Script" uid="uid://82h0dmyohfj1" path="res://Gameplay/Table.cs" id="1_v5i0k"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl1qsemhbxaoh" path="res://Gameplay/pocket.tscn" id="3_3wy0c"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_v5i0k"]
|
||||
bounce = 1.0
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_s3o1g"]
|
||||
size = Vector2(394, 182)
|
||||
|
||||
[node name="Table" type="Sprite2D"]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_s3o1g")
|
||||
script = ExtResource("1_v5i0k")
|
||||
|
||||
[node name="Cushions" type="Node2D" parent="."]
|
||||
|
||||
[node name="TL" type="StaticBody2D" parent="Cushions"]
|
||||
physics_material_override = SubResource("PhysicsMaterial_v5i0k")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Cushions/TL"]
|
||||
position = Vector2(-600, -339)
|
||||
polygon = PackedVector2Array(160, -87, 360, -86, 380, -64, 379, 303, 360, 314, 158, 314)
|
||||
|
||||
[node name="TR" type="StaticBody2D" parent="Cushions"]
|
||||
physics_material_override = SubResource("PhysicsMaterial_v5i0k")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Cushions/TR"]
|
||||
polygon = PackedVector2Array(220, -404, 240, -427, 449, -427, 448, -26, 241, -26, 220, -36)
|
||||
|
||||
[node name="BL" type="StaticBody2D" parent="Cushions"]
|
||||
physics_material_override = SubResource("PhysicsMaterial_v5i0k")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Cushions/BL"]
|
||||
polygon = PackedVector2Array(-221, 35, -240, 24, -436, 25, -434, 425, -241, 426, -221, 405)
|
||||
|
||||
[node name="BR" type="StaticBody2D" parent="Cushions"]
|
||||
physics_material_override = SubResource("PhysicsMaterial_v5i0k")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Cushions/BR"]
|
||||
polygon = PackedVector2Array(219, 36, 239, 24, 447, 24, 448, 426, 240, 426, 219, 403)
|
||||
|
||||
[node name="B" type="StaticBody2D" parent="Cushions"]
|
||||
physics_material_override = SubResource("PhysicsMaterial_v5i0k")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Cushions/B"]
|
||||
polygon = PackedVector2Array(-186, 440, -206, 459, -207, 644, 206, 655, 205, 460, 186, 440)
|
||||
|
||||
[node name="T" type="StaticBody2D" parent="Cushions"]
|
||||
physics_material_override = SubResource("PhysicsMaterial_v5i0k")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Cushions/T"]
|
||||
polygon = PackedVector2Array(-186, -441, -206, -459, -206, -630, 205, -631, 205, -459, 186, -440)
|
||||
|
||||
[node name="Pockets" type="Node2D" parent="."]
|
||||
|
||||
[node name="TL" parent="Pockets" instance=ExtResource("3_3wy0c")]
|
||||
position = Vector2(-282, -557)
|
||||
|
||||
[node name="TR" parent="Pockets" instance=ExtResource("3_3wy0c")]
|
||||
position = Vector2(281, -559)
|
||||
|
||||
[node name="R" parent="Pockets" instance=ExtResource("3_3wy0c")]
|
||||
position = Vector2(373, -3)
|
||||
rotation = 1.5708
|
||||
|
||||
[node name="BR" parent="Pockets" instance=ExtResource("3_3wy0c")]
|
||||
position = Vector2(279, 557)
|
||||
|
||||
[node name="BL" parent="Pockets" instance=ExtResource("3_3wy0c")]
|
||||
position = Vector2(-280, 557)
|
||||
|
||||
[node name="L" parent="Pockets" instance=ExtResource("3_3wy0c")]
|
||||
position = Vector2(-373, 4)
|
||||
rotation = 1.5708
|
||||
|
||||
[node name="Kitchen" type="Area2D" parent="."]
|
||||
position = Vector2(-1, 312)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Kitchen"]
|
||||
shape = SubResource("RectangleShape2D_s3o1g")
|
||||
34
Gameplay/tchotchke.tscn
Normal file
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://6gr5saa81qdh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://qmgo5eukvn6y" path="res://Gameplay/Tchotchke.cs" id="1_c08fi"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1tv50tj5cprl" path="res://art/coffee.png" id="2_gl5mj"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_d82wc"]
|
||||
radius = 31.1448
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_gl5mj"]
|
||||
radius = 65.0
|
||||
|
||||
[node name="Tchotchke" type="StaticBody2D"]
|
||||
input_pickable = true
|
||||
script = ExtResource("1_c08fi")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
scale = Vector2(0.1, 0.1)
|
||||
texture = ExtResource("2_gl5mj")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_d82wc")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
gravity_space_override = 1
|
||||
gravity_point = true
|
||||
gravity_point_center = Vector2(0, 0)
|
||||
gravity_direction = Vector2(0, 0)
|
||||
gravity = 50.0
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_gl5mj")
|
||||
|
||||
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
|
||||
@@ -1,9 +1,46 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://72tgm5p8d32r"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://37hjd4v3p42o"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b4mr2vn8mw6r4" path="res://Gameplay/Worker.cs" id="1_e314i"]
|
||||
[ext_resource type="Script" uid="uid://bk6qk4rjmsvtn" path="res://Gameplay/Worker.cs" id="1_e314i"]
|
||||
|
||||
[node name="Worker" type="Node2D"]
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_e314i"]
|
||||
bounce = 3.0
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_e314i"]
|
||||
load_path = "res://.godot/imported/beyblade.png-cd6ee3474fe554271afbb31b55fadfb5.ctex"
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_e314i"]
|
||||
radius = 80.0
|
||||
|
||||
[node name="Worker" type="RigidBody2D"]
|
||||
input_pickable = true
|
||||
physics_material_override = SubResource("PhysicsMaterial_e314i")
|
||||
gravity_scale = 0.0
|
||||
inertia = 1.0
|
||||
lock_rotation = true
|
||||
continuous_cd = 2
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 1
|
||||
linear_damp = 0.25
|
||||
script = ExtResource("1_e314i")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
scale = Vector2(0.2, 0.2)
|
||||
texture = SubResource("CompressedTexture2D_e314i")
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
||||
scale = Vector2(0.2, 0.2)
|
||||
polygon = PackedVector2Array(8, -171, -17, -171, -17, -169.9, -26.2, -169, -29.5, -169, -62, -151.2, -84, -152.9, -84, -154.4, -102.4, -151, -104.7, -151, -150.8, -114, -153, -114, -174, -88, -175.3, -88, -180, -77.7, -180, 44.2, -178, 46.7, -178, 48.3, -163.5, 54.9, -155, 81.2, -155, 83.9, -135.8, 102, -134.9, 102, -114, 126.7, -114, 128.2, -97.5, 137, -96.1, 137, -92, 143.6, -92, 146, -82, 152.9, -82, 154.5, -34, 167.4, -34, 168.7, -18.1, 171, 31.2, 171, 49.4, 167, 52.7, 167, 68, 155, 68, 154.2, 110.5, 134, 112.7, 134, 137.7, 114, 139.7, 114, 142, 98.1, 142, 92.9, 156.9, 79, 158.4, 79, 171.4, 45, 173.1, 45, 172, 22.9, 172, 13.6, 180, 1.10001, 180, -65.5, 159, -106.6, 159, -108.7, 134, -140.7, 134, -142.3, 121.4, -148, 112.5, -148, 101.4, -142, 97.3, -142, 75, -151.3, 75, -152.5, 50.3, -159, 47.5, -159, 39, -164.1, 39, -165.8, 8, -169.8)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
gravity_space_override = 1
|
||||
gravity_point = true
|
||||
gravity_point_center = Vector2(0, 0)
|
||||
gravity_direction = Vector2(0, 0)
|
||||
gravity = 50.0
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_e314i")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="OnBodyEntered"]
|
||||
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
|
||||
|
||||
0
Tchotchke.cs
Normal file
1
Tchotchke.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c1bvlokuaveb2
|
||||
BIN
art/CogIcon.png
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://clqme77dmqd23"
|
||||
path="res://.godot/imported/CogIcon.png-74cfd6548c51e7dcd49b0734bba428ea.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/CogIcon.png"
|
||||
dest_files=["res://.godot/imported/CogIcon.png-74cfd6548c51e7dcd49b0734bba428ea.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=1
|
||||
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://ctf7osjgudmv3"
|
||||
path="res://.godot/imported/House In a Forest Loop.ogg-1a6a72ae843ad792b7039931227e8d50.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/House In a Forest Loop.ogg"
|
||||
dest_files=["res://.godot/imported/House In a Forest Loop.ogg-1a6a72ae843ad792b7039931227e8d50.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
art/arena.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://df2xulwx34fi"
|
||||
path="res://.godot/imported/table.png-2f7ddccae7f21a9c21b1a69f78f7d278.ctex"
|
||||
uid="uid://nxo2tpgmobli"
|
||||
path="res://.godot/imported/arena.png-d8e83965b3637c723ffc2bf889822dbe.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/table.png"
|
||||
dest_files=["res://.godot/imported/table.png-2f7ddccae7f21a9c21b1a69f78f7d278.ctex"]
|
||||
source_file="res://art/arena.png"
|
||||
dest_files=["res://.godot/imported/arena.png-d8e83965b3637c723ffc2bf889822dbe.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
art/arenaBounds.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://g357217lef4q"
|
||||
path="res://.godot/imported/ball_11.png-196eb35ce40fbb2053c66ca1294ad059.ctex"
|
||||
uid="uid://bt5xf5evtlpad"
|
||||
path="res://.godot/imported/arenaBounds.png-09659382dd1978da5024d88f2bc1f256.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_11.png"
|
||||
dest_files=["res://.godot/imported/ball_11.png-196eb35ce40fbb2053c66ca1294ad059.ctex"]
|
||||
source_file="res://art/arenaBounds.png"
|
||||
dest_files=["res://.godot/imported/arenaBounds.png-09659382dd1978da5024d88f2bc1f256.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
art/ball_1.png
|
Before Width: | Height: | Size: 13 KiB |
BIN
art/ball_10.png
|
Before Width: | Height: | Size: 16 KiB |
BIN
art/ball_11.png
|
Before Width: | Height: | Size: 16 KiB |
BIN
art/ball_12.png
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dnoqkj2msjdbe"
|
||||
path="res://.godot/imported/ball_12.png-ee95853e656d2e219ff7982e8f31245b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_12.png"
|
||||
dest_files=["res://.godot/imported/ball_12.png-ee95853e656d2e219ff7982e8f31245b.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=1
|
||||
BIN
art/ball_13.png
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://da3nlvk4dbr7k"
|
||||
path="res://.godot/imported/ball_13.png-d0401eba85428b715e4b7978038050a7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_13.png"
|
||||
dest_files=["res://.godot/imported/ball_13.png-d0401eba85428b715e4b7978038050a7.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=1
|
||||
BIN
art/ball_14.png
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dtt144b4hcq1t"
|
||||
path="res://.godot/imported/ball_14.png-3e724d693d3d782a30a6adc93f2e4b2c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_14.png"
|
||||
dest_files=["res://.godot/imported/ball_14.png-3e724d693d3d782a30a6adc93f2e4b2c.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=1
|
||||
BIN
art/ball_15.png
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://3k6u32wysmak"
|
||||
path="res://.godot/imported/ball_15.png-8cdb4b3900fffa6d5105e2cff3d59cc0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_15.png"
|
||||
dest_files=["res://.godot/imported/ball_15.png-8cdb4b3900fffa6d5105e2cff3d59cc0.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=1
|
||||
BIN
art/ball_2.png
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6082glgxonen"
|
||||
path="res://.godot/imported/ball_2.png-5bfcc9971a4473ef19d9aabae57fb14f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_2.png"
|
||||
dest_files=["res://.godot/imported/ball_2.png-5bfcc9971a4473ef19d9aabae57fb14f.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=1
|
||||
BIN
art/ball_3.png
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dm08od2rm4t6a"
|
||||
path="res://.godot/imported/ball_3.png-1f1717ef70ccfa38748c55c3f37bf4f7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_3.png"
|
||||
dest_files=["res://.godot/imported/ball_3.png-1f1717ef70ccfa38748c55c3f37bf4f7.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=1
|
||||
BIN
art/ball_4.png
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d1xed824duq5b"
|
||||
path="res://.godot/imported/ball_4.png-b0b95aa2000006a1df4e046cb728e7d0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_4.png"
|
||||
dest_files=["res://.godot/imported/ball_4.png-b0b95aa2000006a1df4e046cb728e7d0.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=1
|
||||
BIN
art/ball_5.png
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cnpkopyuvddgs"
|
||||
path="res://.godot/imported/ball_5.png-a1e18fd4e8acc177e7dd8288726a71c0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_5.png"
|
||||
dest_files=["res://.godot/imported/ball_5.png-a1e18fd4e8acc177e7dd8288726a71c0.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=1
|
||||
BIN
art/ball_6.png
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d0w8ji224tqo2"
|
||||
path="res://.godot/imported/ball_6.png-8d292140d73da9ac261c7faa0383e9d6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_6.png"
|
||||
dest_files=["res://.godot/imported/ball_6.png-8d292140d73da9ac261c7faa0383e9d6.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=1
|
||||
BIN
art/ball_7.png
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8lfcpntlj5sv"
|
||||
path="res://.godot/imported/ball_7.png-0fceb32a90a934eda906dd7cb8e82b2d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_7.png"
|
||||
dest_files=["res://.godot/imported/ball_7.png-0fceb32a90a934eda906dd7cb8e82b2d.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=1
|
||||
BIN
art/ball_8.png
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b6pal6tj8p06x"
|
||||
path="res://.godot/imported/ball_8.png-29925aa4b6d7d0aa4d07d880dce61a9b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_8.png"
|
||||
dest_files=["res://.godot/imported/ball_8.png-29925aa4b6d7d0aa4d07d880dce61a9b.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=1
|
||||
BIN
art/ball_9.png
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eenlj817x36o"
|
||||
path="res://.godot/imported/ball_9.png-08b4dc6ca8b6b459c88fba956d99b26b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_9.png"
|
||||
dest_files=["res://.godot/imported/ball_9.png-08b4dc6ca8b6b459c88fba956d99b26b.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=1
|
||||
BIN
art/beyblade.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ncsnpi2f14mm"
|
||||
path="res://.godot/imported/ball_10.png-3fb92f7bdcad3e233d08cf998caa8eb5.ctex"
|
||||
uid="uid://db5nj5mxu1ldc"
|
||||
path="res://.godot/imported/beyblade.png-cd6ee3474fe554271afbb31b55fadfb5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_10.png"
|
||||
dest_files=["res://.godot/imported/ball_10.png-3fb92f7bdcad3e233d08cf998caa8eb5.ctex"]
|
||||
source_file="res://art/beyblade.png"
|
||||
dest_files=["res://.godot/imported/beyblade.png-cd6ee3474fe554271afbb31b55fadfb5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cjqa565njih7d"
|
||||
path="res://.godot/imported/billiardball.png-eeae925c3c8f24d7b41954cfa69037f0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/billiardball.png"
|
||||
dest_files=["res://.godot/imported/billiardball.png-eeae925c3c8f24d7b41954cfa69037f0.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=1
|
||||
|
Before Width: | Height: | Size: 418 B |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dd3s6x86dgxem"
|
||||
path="res://.godot/imported/checkerboard.png-0a62bdcb70613a5b49cd84d25b5abd77.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/checkerboard.png"
|
||||
dest_files=["res://.godot/imported/checkerboard.png-0a62bdcb70613a5b49cd84d25b5abd77.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=1
|
||||
BIN
art/coffee.png
Normal file
|
After Width: | Height: | Size: 412 KiB |
@@ -2,16 +2,16 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eq2g2mx115sh"
|
||||
path="res://.godot/imported/ball_1.png-fdecb2f6384d93c345e2aedfd6fd7c24.ctex"
|
||||
uid="uid://c1tv50tj5cprl"
|
||||
path="res://.godot/imported/coffee.png-f3deb5980009f6ec9311509f35b8a86a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/ball_1.png"
|
||||
dest_files=["res://.godot/imported/ball_1.png-fdecb2f6384d93c345e2aedfd6fd7c24.ctex"]
|
||||
source_file="res://art/coffee.png"
|
||||
dest_files=["res://.godot/imported/coffee.png-f3deb5980009f6ec9311509f35b8a86a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
art/cue_ball.png
|
Before Width: | Height: | Size: 9.5 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ck4ta2f0ofjs0"
|
||||
path="res://.godot/imported/cue_ball.png-82c061f2725a34218f16d54383e22ce9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/cue_ball.png"
|
||||
dest_files=["res://.godot/imported/cue_ball.png-82c061f2725a34218f16d54383e22ce9.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=1
|
||||
|
Before Width: | Height: | Size: 4.4 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://20l58n0ih2w8"
|
||||
path="res://.godot/imported/enemyFlyingAlt_1.png-559f599b16c69b112c1b53f6332e9489.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/enemyFlyingAlt_1.png"
|
||||
dest_files=["res://.godot/imported/enemyFlyingAlt_1.png-559f599b16c69b112c1b53f6332e9489.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=1
|
||||
|
Before Width: | Height: | Size: 3.7 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://j3he7mqxqv3u"
|
||||
path="res://.godot/imported/enemyFlyingAlt_2.png-31dc7310eda6e1b721224f3cd932c076.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/enemyFlyingAlt_2.png"
|
||||
dest_files=["res://.godot/imported/enemyFlyingAlt_2.png-31dc7310eda6e1b721224f3cd932c076.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=1
|
||||
|
Before Width: | Height: | Size: 3.5 KiB |