Skip to content

snotwadd20/ClickerFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClickerFramework

This is a framework of Unity scripts to support creating a Clicker/Idle/Iterative type game (Candy Box, Cookie Clicker, Dirt Inc, etc).

The Framework currently only supports one primary Resource. Extra currencies might be added later via a new system.

I've included a demo Unity Scene (TestScene) with most of these things hooked up and working in a very simple way.

--- CORE FILES ---

  • Currency.cs - Tracks a currency type and global bonuses associated with it. Game must have at least one currency.
  • Generator.cs - Generates Resource every n seconds. This can occur on a timer (tick) or once every time something is clicked (OnClick). Put on a button with a Buyable script if you want the ability to to be purchaseable/upgradeable. Generators increase the amount generated every time one is bought. Generator must be at at least level 1 to generate resources.
  • ClickForCurrency.cs - Use this on a button (send OnClick) if you want to click it to generate Resource.

--- UI AND DISPLAY HELPERS --- (Use these on UI Text objects, or linked to one, to display information about the game or objects in it)

  • DisplayCurrency.cs - Display the amount of money currently stored in the linked Currency
  • DisplayCurrencyRate.cs - Displays a tick or click rate of a currency
  • DisplayGeneratorRate.cs - Displays the rate at which a generator generates currency
  • DisplayMaximum.cs - Display the Maximum of any script that implements IMaximum
  • DisplayMultiplier.cs - Display either the total Tick multiplier or Click multiplier
  • DisplayPrice.cs - Display the Price of any script that implements IPrice
  • DisplayQuantity - Display the Quantity of any script that implements IQuantity
  • DisplayQuantAndMax.cs - Displays Quantity and Max together, one after the other.
  • DisplayValue.cs - Display the current Value of a script that implements IValue

--- Progress Bars --- (Any progress bar that implements the IValue interface will work.)

  • ProgressBarText.cs - Attach this to a Text UI object and link it to a Generator. The text field will display, numerically, the progress depending on type: from 0 to 100% (Percentage) or 0.0 to 1.0 (Factor)

--- STUFF THAT GOES ON BUTTONS --- (these do most of the work)

  • AddCurrencyBonus.cs - Put on a button. Send "OnClick" message to add to a currency's global click or tick rates
  • Buyable.cs - Put on a button to make it a buyable (send "Buy" message to buy a thing). Disables button if you can't afford it. When a thing is bought, Buyable sends a "OnPurchased" message to all scripts on that gameObject in case you want to customize things that happen on buy.
  • BuyableMultipleCurrency.cs - Just like a buyable, but use this one if you want to charge multiple currencies for a single item.
  • MultiplyCurrency.cs - Use this on a button (send OnClick) to multiply the linked currency total by n when clicked. Use with a buyable, and the price gets subtracted before the multiplication.
  • ScaleGeneratorSpeed.cs - Use this on a button (send OnClick or Activate) to scale up the speed of a generator make it faster). -ActionChain.cs and BuyableChain.cs are currently unsupported. Feel free to use them if you can understand the code.

--- WRAPPERS --- (Files to make this work with certain plugins. Delete these if you don't use those plugins)

  • ProgressBarUI.cs & ProgressBarSprite.cs - These inherit from a script in the Unity Store Package "Power Progress Bars" and also implement the IValue interface. This allows me to use "Power Progress Bars" scripts with my IValue interface d

About

A framework in Unity for creating Clicker games (Idle Games, Iterative Games, etc) like Candy Box, Cookie Clicker, etc...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages