-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.cs
More file actions
64 lines (59 loc) · 2.35 KB
/
Copy pathMain.cs
File metadata and controls
64 lines (59 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using Godot;
using GodotTask;
using System;
public partial class Main : Control
{
PackedScene item = GD.Load<PackedScene>("res://UI/ItemShown.tscn");
PackedScene roll = GD.Load<PackedScene>("res://UI/Rolling.tscn");
public override void _Ready()
{
var autoload = GetNode<AutoLoad>("/root/AutoLoad");
var items = GetNode<HFlowContainer>("MarginContainer/VBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/HFlowContainer");
foreach (var i in autoload.CaseItemList)
{
var item_ = item.Instantiate<ItemShown>();
items.AddChild(item_);
item_.name = i.Key;
item_.quality = i.Value;
item_._Ready();
}
GetNode<RichTextLabel>("MarginContainer/VBoxContainer/UnlockCase").Text = "[center]"+TranslationServer.Translate("locUnlockCase").ToString().Replace("{Case}","[b]"+autoload.CaseName+"[/b]")+"[/center]";
GetNode<AudioStreamPlayer>("AudioStreamPlayer").Play();
if (FileAccess.FileExists(AutoLoad.GetGameDirPath("CaseLogo.png")))
{
GetNode<Sprite3D>("Background/Sprite3D").Texture = ImageTexture.CreateFromImage(Image.LoadFromFile(AutoLoad.GetGameDirPath("CaseLogo.png")));
}
if (FileAccess.FileExists(AutoLoad.GetGameDirPath("CaseLogo.json")))
{
var file = FileAccess.Open(AutoLoad.GetGameDirPath("CaseLogo.json"),FileAccess.ModeFlags.Read);
var json = Json.ParseString(file.GetAsText()).AsGodotDictionary<string,float>();
file.Close();
GetNode<Sprite3D>("Background/Sprite3D").Scale = new Vector3(json["scale_x"],json["scale_y"],json["scale_z"]);
}
}
public override void _Process(double delta)
{
}
public void _on_settings_pressed()
{
GetTree().CurrentScene.AddChild(GD.Load<PackedScene>("res://UI/Settings.tscn").Instantiate<Settings>());
}
public void _on_quit_pressed()
{
GetTree().Quit();
}
public async void _on_unlock_pressed()
{
GetNode<Button>("MarginContainer/VBoxContainer/Bottom/Unlock").Disabled = true;
MoveChild(GetNode<Sprite2D>("Case"),GetNode<MarginContainer>("MarginContainer").GetIndex());
GetNode<AnimationPlayer>("Background/AnimationPlayer").Play("unlock");
await GDTask.Delay(100);
var player = new AudioStreamPlayer();
GetTree().CurrentScene.AddChild(player);
player.Stream = GD.Load<AudioStream>("res://Assets/Sounds/case_unlock.wav");
player.Play();
await ToSignal(player,"finished");
player.QueueFree();
GetTree().CurrentScene.AddChild(roll.Instantiate<Rolling>());
}
}