138 lines
2.5 KiB
C#
138 lines
2.5 KiB
C#
using Godot;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Reflection.Emit;
|
|
|
|
public partial class DoorView : Control
|
|
{
|
|
[Export] Sprite2D mob;
|
|
[Export] AnimationPlayer anim;
|
|
[Export] Control menu;
|
|
[Export] CanvasLayer layer;
|
|
Texture2D mobTex {get; set;}
|
|
|
|
|
|
string text_char{get; set;}
|
|
string answerA{get; set;}
|
|
string answerB{get; set;}
|
|
bool answerA_good {get; set;}
|
|
|
|
|
|
bool shot {get; set;}= true;
|
|
bool caniche {get; set;}= false;
|
|
|
|
|
|
CharacterBody2D player;
|
|
|
|
[Export] Godot.Label text_mob;
|
|
[Export] Button butA;
|
|
[Export] Button butB;
|
|
|
|
bool trick_bool = false;
|
|
|
|
List<string> txt = new List<string>();
|
|
|
|
|
|
// Called when the node enters the scene tree for the first time.
|
|
|
|
public override void _Ready()
|
|
{
|
|
txt.Add("Black spell of destruction");
|
|
txt.Add("Necromancy");
|
|
txt.Add("Freezing Moon");
|
|
txt.Add("Journey to the stars");
|
|
txt.Add("The power of souls");
|
|
txt.Add("Mutilations internes");
|
|
txt.Add("Manual Breathing");
|
|
txt.Add("Spectral visions of mental warfare");
|
|
player = (CharacterBody2D)GetParent().GetParent();
|
|
}
|
|
public void start()
|
|
{
|
|
trick_bool = false;
|
|
layer.Visible = true;
|
|
|
|
Input.MouseMode = Input.MouseModeEnum.Visible;
|
|
GetTree().Paused = true;
|
|
Visible = true;
|
|
mob.Texture = mobTex;
|
|
|
|
if(shot)
|
|
{
|
|
anim.Play("shot");
|
|
player.Call("OverShotgun");
|
|
}
|
|
else if (caniche)
|
|
{
|
|
anim.Play("cani");
|
|
player.Call("OverCanicheAsync");
|
|
}
|
|
else
|
|
{
|
|
anim.Play("enter");
|
|
}
|
|
}
|
|
|
|
public void stop()
|
|
{
|
|
layer.Visible = false;
|
|
Input.MouseMode = Input.MouseModeEnum.Hidden;
|
|
GetParent<Camera2D>().PositionSmoothingEnabled = false;
|
|
|
|
|
|
GetTree().Paused = false;
|
|
Visible = false;
|
|
anim.Play("RESET");
|
|
}
|
|
|
|
public void TreatPressed()
|
|
{
|
|
anim.Play("question");
|
|
text_mob.Text = text_char;
|
|
butA.Text = answerA;
|
|
butB.Text = answerB;
|
|
}
|
|
|
|
public void APressed()
|
|
{
|
|
if(trick_bool)
|
|
{
|
|
anim.Play("close");
|
|
}
|
|
else if(answerA_good)
|
|
{
|
|
player.Set("sugar", (int)player.Get("sugar") + GD.RandRange(20, 40));
|
|
}
|
|
stop();
|
|
}
|
|
|
|
public void BPressed()
|
|
{
|
|
if(trick_bool)
|
|
{
|
|
anim.Play("close");
|
|
}
|
|
else if(!answerA_good)
|
|
{
|
|
player.Set("sugar", (int)player.Get("sugar") + GD.RandRange(20, 40));
|
|
}
|
|
stop();
|
|
}
|
|
|
|
public void TrickPressed()
|
|
{
|
|
if ((int)menu.Get("spell") < 8)
|
|
{
|
|
trick_bool = true;
|
|
int s = (int)menu.Get("spell");
|
|
menu.Set("spell", ++s);
|
|
text_mob.Text = "-You have casted : " + txt[s-1] + "\n- It : ...?";
|
|
butA.Text = "##############";
|
|
butB.Text = "##############";
|
|
anim.Play("question");
|
|
}
|
|
|
|
}
|
|
}
|