Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
MiniGame Class Reference
Inheritance diagram for MiniGame:
ModMinigame< T >

Classes

class  Balance
 

Public Types

enum  Type {
  Slot , Blackjack , Scratch , Basket ,
  CoinDrop
}
 

Public Member Functions

virtual void OnActivate ()
 
virtual void OnDeactivate ()
 
virtual void SlidePosition (float w)
 
void Deactivate ()
 
void SetAudioMixer (GameObject go)
 
void Say (string lang)
 
virtual bool CanExit ()
 
void Exit ()
 
bool OnPlay (int a)
 
void GetSlotReward (string id, int pay=1, int bet=1)
 

Static Public Member Functions

static void RegisterMiniGame (string id, MiniGame g, string _path)
 
static void Activate (Type type)
 

Public Attributes

Balance balance = new Balance()
 
GameObject go
 
AssetBundle asset
 
string path
 
bool isActive
 

Static Public Attributes

static Dictionary< string, MiniGameminigames = new Dictionary<string, MiniGame>()
 

Properties

virtual string id [get]
 

Detailed Description

Definition at line 5 of file MiniGame.cs.

Member Enumeration Documentation

◆ Type

Enumerator
Slot 
Blackjack 
Scratch 
Basket 
CoinDrop 

Definition at line 14 of file MiniGame.cs.

Member Function Documentation

◆ Activate()

static void MiniGame.Activate ( Type  type)
inlinestatic

Definition at line 44 of file MiniGame.cs.

45 {
46 if (!minigames.ContainsKey("Basket"))
47 {
48 minigames.Add("Basket", new MiniGame_Basket());
49 }
50 if (!minigames.ContainsKey("Blackjack"))
51 {
52 minigames.Add("Blackjack", new MiniGame_Blackjack());
53 }
54 Debug.Log("Activating:" + type);
55 MiniGame miniGame = minigames.TryGetValue(type.ToString());
56 if (miniGame == null)
57 {
58 Msg.Say("minigame_notSupported");
60 return;
61 }
62 LayerMiniGame layerMiniGame = EClass.ui.AddLayer<LayerMiniGame>();
63 Debug.Log(layerMiniGame);
64 Debug.Log(miniGame);
65 miniGame.balance = new Balance();
66 layerMiniGame.mini = miniGame;
67 layerMiniGame.type = type;
68 Debug.Log("aaa");
69 layerMiniGame.Run();
70 }
Definition: EClass.cs:5
static Scene scene
Definition: EClass.cs:30
static UI ui
Definition: EClass.cs:16
static Dictionary< string, MiniGame > minigames
Definition: MiniGame.cs:23
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void TryWarnLinuxMod()
Definition: Scene.cs:161

References Debug, minigames, LayerMiniGame.Run(), Msg.Say(), EClass.scene, Scene.TryWarnLinuxMod(), and EClass.ui.

Referenced by TraitBasketGame.OnActivateTrap(), TraitBJTable.OnUse(), TraitSlotMachine.OnUse(), and CoreDebug.UpdateInput().

◆ CanExit()

virtual bool MiniGame.CanExit ( )
inlinevirtual

Definition at line 115 of file MiniGame.cs.

116 {
117 return true;
118 }

Referenced by LayerMiniGame.OnBack().

◆ Deactivate()

void MiniGame.Deactivate ( )
inline

Definition at line 84 of file MiniGame.cs.

85 {
89 if (balance.changeCoin != 0)
90 {
91 EClass.pc.ModCurrency(balance.changeCoin, "casino_coin");
92 }
93 LayerMiniGame layer = EClass.ui.GetLayer<LayerMiniGame>();
94 if (layer != null)
95 {
96 layer.mini = null;
97 layer.Close();
98 }
99 }
void ModCurrency(int a, string id="money")
Definition: Card.cs:3638
static Chara pc
Definition: EClass.cs:14
virtual void Close()
Definition: Layer.cs:463
Balance balance
Definition: MiniGame.cs:25
virtual void OnDeactivate()
Definition: MiniGame.cs:76

References balance, MiniGame.Balance.changeCoin, Layer.Close(), Debug, MiniGame.Balance.lastCoin, Card.ModCurrency(), OnDeactivate(), EClass.pc, and EClass.ui.

Referenced by LayerMiniGame.OnKill().

◆ Exit()

void MiniGame.Exit ( )
inline

Definition at line 120 of file MiniGame.cs.

121 {
122 EClass.ui.GetLayer<LayerMiniGame>()?.Close();
123 }

References EClass.ui.

◆ GetSlotReward()

void MiniGame.GetSlotReward ( string  id,
int  pay = 1,
int  bet = 1 
)
inline

Definition at line 152 of file MiniGame.cs.

153 {
154 if (id == null)
155 {
156 id = new string[6] { "ehe", "wild", "cat", "larnneire", "lomias", "bread" }.RandomItem();
157 Debug.Log(id);
158 }
159 Thing c = ThingGen.Create("casino_coin").SetNum(pay * bet);
160 Msg.Say("slot_win", c);
161 }
Thing SetNum(int a)
Definition: Card.cs:3242
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8

References ThingGen.Create(), Debug, Msg.Say(), and Card.SetNum().

◆ OnActivate()

virtual void MiniGame.OnActivate ( )
inlinevirtual

Definition at line 72 of file MiniGame.cs.

73 {
74 }

Referenced by LayerMiniGame.Run().

◆ OnDeactivate()

virtual void MiniGame.OnDeactivate ( )
inlinevirtual

Definition at line 76 of file MiniGame.cs.

77 {
78 }

Referenced by Deactivate().

◆ OnPlay()

bool MiniGame.OnPlay ( int  a)
inline

Definition at line 125 of file MiniGame.cs.

126 {
127 LayerMiniGame layer = EClass.ui.GetLayer<LayerMiniGame>();
128 if ((bool)layer)
129 {
130 switch (layer.type)
131 {
132 case Type.Basket:
133 EClass.pc.ModExp(108, 15);
134 break;
135 case Type.Blackjack:
136 EClass.pc.ModExp(135, 10);
137 break;
138 case Type.Slot:
139 EClass.pc.ModExp(134, 10);
140 break;
141 }
142 }
143 EClass.pc.stamina.Mod(-a);
146 {
147 return false;
148 }
149 return true;
150 }
void ModExp(string alias, int a)
Definition: Card.cs:2508
override bool IsDisabled
Definition: Chara.cs:570
Stats stamina
Definition: Chara.cs:955
bool isDead
Definition: Chara.cs:374
static Player player
Definition: EClass.cs:12
MiniGame.Type type
Definition: LayerMiniGame.cs:9
void EndTurn(bool consume=true)
Definition: Player.cs:1866
virtual void Mod(int a)
Definition: Stats.cs:135

References Player.EndTurn(), Chara.isDead, Chara.IsDisabled, Stats.Mod(), Card.ModExp(), EClass.pc, EClass.player, Chara.stamina, LayerMiniGame.type, and EClass.ui.

◆ RegisterMiniGame()

static void MiniGame.RegisterMiniGame ( string  id,
MiniGame  g,
string  _path 
)
inlinestatic

Definition at line 37 of file MiniGame.cs.

38 {
39 g.path = new FileInfo(_path).DirectoryName;
40 minigames[id] = g;
41 Debug.Log("Registered:" + g?.ToString() + " at " + g.path);
42 }
string path
Definition: MiniGame.cs:31
virtual string id
Definition: MiniGame.cs:35

References Debug, id, minigames, and path.

◆ Say()

void MiniGame.Say ( string  lang)
inline

Definition at line 110 of file MiniGame.cs.

111 {
112 Msg.Say(lang);
113 }

References Msg.Say().

◆ SetAudioMixer()

void MiniGame.SetAudioMixer ( GameObject  go)
inline

Definition at line 101 of file MiniGame.cs.

102 {
103 AudioSource[] componentsInChildren = go.GetComponentsInChildren<AudioSource>();
104 for (int i = 0; i < componentsInChildren.Length; i++)
105 {
106 componentsInChildren[i].outputAudioMixerGroup = SoundManager.current.mixer.FindMatchingGroups("SFX")[0];
107 }
108 }
GameObject go
Definition: MiniGame.cs:27

References go.

Referenced by ModMinigame< T >.Load().

◆ SlidePosition()

virtual void MiniGame.SlidePosition ( float  w)
inlinevirtual

Definition at line 80 of file MiniGame.cs.

81 {
82 }

Referenced by WidgetSideScreen.SlideMiniGame().

Member Data Documentation

◆ asset

AssetBundle MiniGame.asset

Definition at line 29 of file MiniGame.cs.

Referenced by ModMinigame< T >.Kill(), and ModMinigame< T >.Load().

◆ balance

Balance MiniGame.balance = new Balance()

Definition at line 25 of file MiniGame.cs.

Referenced by Deactivate().

◆ go

GameObject MiniGame.go

Definition at line 27 of file MiniGame.cs.

Referenced by ModMinigame< T >.Kill(), ModMinigame< T >.Load(), and SetAudioMixer().

◆ isActive

bool MiniGame.isActive

Definition at line 33 of file MiniGame.cs.

◆ minigames

Dictionary<string, MiniGame> MiniGame.minigames = new Dictionary<string, MiniGame>()
static

Definition at line 23 of file MiniGame.cs.

Referenced by Activate(), and RegisterMiniGame().

◆ path

string MiniGame.path

Definition at line 31 of file MiniGame.cs.

Referenced by ModMinigame< T >.Load(), and RegisterMiniGame().

Property Documentation

◆ id

virtual string MiniGame.id
get

Definition at line 35 of file MiniGame.cs.

Referenced by RegisterMiniGame().


The documentation for this class was generated from the following file: